C# 将.NetStandard 2.0 Nuget包安装到VS2015 Net 4.6.1项目中

C# 将.NetStandard 2.0 Nuget包安装到VS2015 Net 4.6.1项目中,c#,visual-studio,nuget,.net-standard,C#,Visual Studio,Nuget,.net Standard,我正在尝试在VisualStudio2015中安装一个Nuget包,该包的目标是.netstandard2.0(Microsoft.Extensions.Logging.Abstractions)到Net4.6.1项目中。然而,虽然框架应该兼容,但它并不十分有效: Install-Package : Could not install package 'Microsoft.Extensions.Logging.Abstractions 2.0.0'. You are trying to ins

我正在尝试在VisualStudio2015中安装一个Nuget包,该包的目标是.netstandard2.0(Microsoft.Extensions.Logging.Abstractions)到Net4.6.1项目中。然而,虽然框架应该兼容,但它并不十分有效:

Install-Package : Could not install package 'Microsoft.Extensions.Logging.Abstractions 2.0.0'. You are trying to 
install this package into a project that targets '.NETFramework,Version=v4.6.1', but the package does not contain 
any assembly references or content files that are compatible with that framework. For more information, contact 
the package author.
At line:1 char:1
+ Install-Package Microsoft.Extensions.Logging.Abstractions
我遵循了这里概述的步骤:

所以我安装了包“NETStandard.Library.NETFramework”,并添加了

<PropertyGroup>
  <PackageTargetFallback>netstandard2.0</PackageTargetFallback>
</PropertyGroup>

netstandard2.0
去csproj。但是,没有运气,仍然是同样的问题

有没有办法在我的项目中安装NetStandard 2.0包(不升级VS或安装任何NetCore目标包或类似的)

谢谢

有没有办法在我的项目中安装NetStandard 2.0包(不升级VS或安装任何NetCore目标包或类似的)

恐怕不行。正如Jon指出的,问题的原因是您使用的是Visual Studio 2015

根据.NET标准2.0支持.NET Framework 4.6.1(使用.NET Core 2.0 SDK):

所以我们需要安装.NETCore2.0SDK。微软关于.NET Core 2.0预览的每一次通信都提到了Visual Studio 2017,因此我认为强烈建议使用Visual Studio 2017与.NET Core 2.0配合使用

此外,NuGet软件包已被弃用

因此,在NET4.6.1项目中安装.netstandard2.0NuGet包,我强烈建议使用VisualStudio2017与.NETCore2.0配合使用


希望这会有所帮助。

使用以下工具支持引用.NET标准2.0包:

  • VS 2015的NuGet 3.6.0或更高版本(从-可能尚未作为推荐的最新版本列出)
  • 从安装“Visual Studio 2015的.NET标准支持”(VS中的NuGet还将在其输出窗口中打印指向此的链接)

在使用.NET标准2.0库时仍然存在一些错误,特别是在混合使用.NET标准<2.0和2.0库时,但这些更新提供了基本的支持。

我刚刚看到这是一个VS2015项目,我怀疑这就是问题所在。它在.NET Core 2.0 SDK中运行良好,有一个Core SDK风格的项目。实际上,对于所需的目标,有一个VS 2015安装程序,NuGet 3.6.0 for VS 2015支持这一点。但是还是有一些bug像谢谢利奥,非常感谢你的回答。如果你名字中的MSFT透露了你在为微软工作,那么给我一些反馈:对于我这个半专业的开发人员(必须在非管理环境中使用VS,并且只有很少的软件包更新),C#development已经成为当今版本的DLL地狱。如果像上面提到的那样非常简单的软件包有严格的要求,需要不断更新VS的管理,甚至是最新/最好的版本,那么imho就出了问题。我喜欢网络的发展,但不应该忘记兼容性!如何添加对位于C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\netstandard\v4.0_2.0.0.0_CC7B13FFCD2DD51\netstandard.dllThanks中的.netstandard的引用。这确实回答了这个问题-不幸的是,我自己不能走这条路,因为我在一台没有管理员的机器上,不能安装例如VSIX。有点遗憾。Net开发过去很容易,现在如果你不能不断更新你的工具,你就好像被冷落了。我还需要安装.Net Core tools for Visual Studio 2015“谢谢你的https://链接。它修复了Azure.Messaging.ServiceBus.7.1.2中我的VS 2015 Nuget软件包问题。警告:此链接下载dotnet-standard-support-vs2015-2.0.0-win-x86.msi,将在没有反馈的情况下安装。在程序和功能中显示为Visual Studio 2015(x86)的“.NET标准支持”