如何在同一项目中定位netcoreapp2.0和net461

2023-12-21

我有一个项目想要使用.net core 2.0,我认为它是netcoreapp2.0。它还使用使用 .net 4.6.1 创建的 nuget 包。我可以控制这个 nuget 包,并且可以根据需要更改其中的某些内容。它确实将 netstandards 2.0 作为 nuget 包导入。

如果我在我的 cproj 文件中包含:

    <TargetFramework>netcoreapp2.0</TargetFramework>

我收到这个警告:

使用“.NETFramework,Version = v4.6.1”而不是项目目标框架“.NETCoreApp,Version = v2.0”恢复了包“Terryberry.Roes.Common 2017.9.29-mongo”。该包可能与您的项目不完全兼容。

以及有关 system.net.sockets 从 4.3 降级到 4.1 的错误。 4.6.1 nuget 包有 System.Net.Sockets 4.3 所以我不确定它为什么要降级。

具体错误供参考:

检测到软件包降级:System.Net.Sockets 从 4.3.0 降级到 4.1.0。直接从项目引用包来选择不同的版本。 MyNetCoreProject (>= 2017.2.0) -> Microsoft.VisualStudio.Web.BrowserLink (>= 1.1.2) -> Microsoft.Extensions.FileProviders.Physical (>= 1.1.1) -> NETStandard.Library (>= 1.6。 1) -> System.Net.Sockets (>= 4.3.0) MyNetCoreProject (>= 2017.2.0) -> Microsoft.VisualStudio.Web.BrowserLink (>= 1.1.2) -> System.Net.Sockets (>= 4.1.0) MyNetCoreProject

我尝试同时针对这两个目标:

    <TargetFrameworks>net461;netcoreapp2.0</TargetFrameworks>

这给了我这样的警告:

使用“.NETFramework,Version = v4.6.1”而不是项目目标框架“.NETCoreApp,Version = v2.0”恢复包“My461NugetPackage”。该包可能与您的项目不完全兼容。

这也让我感到困惑,因为现在我添加了 net461,它说它将使用 .NetCoreApp 构建它

降级 System.Net.Sockets 仍然存在错误

然后我决定只尝试 net461。只是为了看看它是否可以编译。确实如此,但我收到运行时错误。

    <TargetFramework>net461</TargetFramework>

这给了我:

未处理的异常:System.TypeLoadException:程序集“Microsoft.AspNetCore.Hosting,Version=1.1.2.0,Culture=neutral,PublicKeyToken=adb9793829ddae60”中类型“Microsoft.AspNetCore.Hosting.WebHostBuilder”中的方法“ConfigureAppConfiguration”没有实现。

我尝试做一些研究,但随着 .net core 的发展,有很多旧的/过时的信息。我一直无法弄清楚这一点。任何指导将不胜感激。


首先,你不能同时瞄准两者。它们是相互排斥的。不过,这不是问题,因为您不需要这样做。

您收到的警告是设计使然的。它不会阻止您的应用程序运行或真正表明任何问题。只是:警告。它让您知道您的 .NET Core 项目正在利用一个面向 .NET Framework 4.6.1 的库,该库could当且仅当该库使用了 .NET Standard 2.0 碰巧不支持的某些特定框架功能时,才会导致问题。它的存在只是为了让您了解正在发生的事情,并且只要您的应用程序的所有功能都正常工作,就可以安全地忽略它。如果警告本身让您感到困扰,您可以简单地抑制它。

此警告不仅在安装软件包时出现,而且在每次构建时都会出现。这可以确保您不会意外地忽略它。

发出警告的原因是 NuGet 无法知道 .NET Framework 库是否真正可以工作。例如,它可能依赖于 Windows 窗体。为了确保您不会浪费时间对无法工作的问题进行故障排除,NuGet 会让您知道您可能会偏离轨道。当然,您必须忽略的警告很烦人。因此,我们建议您测试您的应用程序/库,如果您发现一切都按预期工作,则可以抑制警告。

Source: 宣布 .NET 标准 2.0 https://blogs.msdn.microsoft.com/dotnet/2017/08/14/announcing-net-standard-2-0/#user-content-reusing-an-existing-net-framework-library

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在同一项目中定位netcoreapp2.0和net461 的相关文章

  • 在结构中使用 typedef 枚举并避免类型混合警告

    我正在使用 C99 我的编译器是 IAR Embedded workbench 但我认为这个问题对于其他一些编译器也有效 我有一个 typedef 枚举 其中包含一些项目 并且我向该新类型的结构添加了一个元素 typedef enum fo
  • 在哪里可以找到列出 SSE 内在函数操作的官方参考资料?

    是否有官方参考列出了 GCC 的 SSE 内部函数的操作 即 头文件中的函数 除了 Intel 的 vol 2 PDF 手册外 还有一个在线内在指南 https www intel com content www us en docs in
  • 用于检查类是否具有运算符/成员的 C++ 类型特征[重复]

    这个问题在这里已经有答案了 可能的重复 是否可以编写一个 C 模板来检查函数是否存在 https stackoverflow com questions 257288 is it possible to write a c template
  • 查找c中结构元素的偏移量

    struct a struct b int i float j x struct c int k float l y z 谁能解释一下如何找到偏移量int k这样我们就可以找到地址int i Use offsetof 找到从开始处的偏移量z
  • HTTPWebResponse 响应字符串被截断

    应用程序正在与 REST 服务通信 Fiddler 显示作为 Apps 响应传入的完整良好 XML 响应 该应用程序位于法属波利尼西亚 在新西兰也有一个相同的副本 因此主要嫌疑人似乎在编码 但我们已经检查过 但空手而归 查看流读取器的输出字
  • 堆栈溢出:堆栈空间中重复的临时分配?

    struct MemBlock char mem 1024 MemBlock operator const MemBlock b const return MemBlock global void foo int step 0 if ste
  • C++ OpenSSL 导出私钥

    到目前为止 我成功地使用了 SSL 但遇到了令人困惑的障碍 我生成了 RSA 密钥对 之前使用 PEM write bio RSAPrivateKey 来导出它们 然而 手册页声称该格式已经过时 实际上它看起来与通常的 PEM 格式不同 相
  • 创建链表而不将节点声明为指针

    我已经在谷歌和一些教科书上搜索了很长一段时间 我似乎无法理解为什么在构建链表时 节点需要是指针 例如 如果我有一个节点定义为 typedef struct Node int value struct Node next Node 为什么为了
  • 将多个表映射到实体框架中的单个实体类

    我正在开发一个旧数据库 该数据库有 2 个具有 1 1 关系的表 目前 我为每个定义的表定义了一种类型 1Test 1Result 我想将这些特定的表合并到一个类中 当前的类型如下所示 public class Result public
  • while 循环中的 scanf

    在这段代码中 scanf只工作一次 我究竟做错了什么 include
  • SolrNet连接说明

    为什么 SolrNet 连接的容器保持静态 这是一个非常大的错误 因为当我们在应用程序中向应用程序发送异步请求时 SolrNet 会表现异常 在 SolrNet 中如何避免这个问题 class P static void M string
  • 如何在 C 中调用采用匿名结构的函数?

    如何在 C 中调用采用匿名结构的函数 比如这个函数 void func struct int x p printf i n p x 当提供原型的函数声明在范围内时 调用该函数的参数必须具有与原型中声明的类型兼容的类型 其中 兼容 具有标准定
  • 如何序列化/反序列化自定义数据集

    我有一个 winforms 应用程序 它使用强类型的自定义数据集来保存数据进行处理 它由数据库中的数据填充 我有一个用户控件 它接受任何自定义数据集并在数据网格中显示内容 这用于测试和调试 为了使控件可重用 我将自定义数据集视为普通的 Sy
  • 垃圾收集器是否在单独的进程中运行?

    垃圾收集器是否在单独的进程中启动 例如 如果我们尝试测量某段代码所花费的进程时间 并且在此期间垃圾收集器开始收集 它会在新进程上启动还是在同一进程中启动 它的工作原理如下吗 Code Process 1 gt Garbage Collect
  • 什么时候虚拟继承是一个好的设计? [复制]

    这个问题在这里已经有答案了 EDIT3 请务必在回答之前清楚地了解我要问的内容 有 EDIT2 和很多评论 有 或曾经 有很多答案清楚地表明了对问题的误解 我知道这也是我的错 对此感到抱歉 嗨 我查看了有关虚拟继承的问题 class B p
  • 如何使用 C# / .Net 将文件列表从 AWS S3 下载到我的设备?

    我希望下载存储在 S3 中的多个图像 但目前如果我只能下载一个就足够了 我有对象路径的信息 当我运行以下代码时 出现此错误 遇到错误 消息 读取对象时 访问被拒绝 我首先做一个亚马逊S3客户端基于我的密钥和访问配置的对象连接到服务器 然后创
  • 如何在Xamarin中删除ViewTreeObserver?

    假设我需要获取并设置视图的高度 在 Android 中 众所周知 只有在绘制视图之后才能获取视图高度 如果您使用 Java 有很多答案 最著名的方法之一如下 取自这个答案 https stackoverflow com a 24035591
  • 将控制台重定向到 .NET 程序中的字符串

    如何重定向写入控制台的任何内容以写入字符串 对于您自己的流程 Console SetOut http msdn microsoft com en us library system console setout aspx并将其重定向到构建在
  • 如何将服务器服务连接到 Dynamics Online

    我正在修改内部管理应用程序以连接到我们的在线托管 Dynamics 2016 实例 根据一些在线教程 我一直在使用OrganizationServiceProxy out of Microsoft Xrm Sdk Client来自 SDK
  • C# - OutOfMemoryException 在 JSON 文件上保存列表

    我正在尝试保存压力图的流数据 基本上我有一个压力矩阵定义为 double pressureMatrix new double e Data GetLength 0 e Data GetLength 1 基本上 我得到了其中之一pressur

随机推荐