将.NetStandard 2.0 Nuget软件包安装到VS2015 Net 4.6.1项目中

时间:2017-10-17 10:48:08

标签: c# visual-studio nuget .net-standard

我试图在Visual Studio 2015中安装一个将.NetStandard 2.0(Microsoft.Extensions.Logging.Abstractions)定位到Net 4.6.1项目的Nuget包。但是,虽然Frameworks应该兼容,但它并没有#39; t very work:

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

我已按照此处列出的步骤进行操作:Entity Framework Core 2.0 on .NET 4.6.1

所以我已经安装了包" NETStandard.Library.NETFramework",并添加了

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

到csproj。但是,那里没有运气 - 仍然是同样的问题。

有没有办法在我的项目中安装NetStandard 2.0软件包(不升级VS或安装任何Net Core定位包等)?

由于

2 个答案:

答案 0 :(得分:7)

  

有没有办法在我的项目中安装NetStandard 2.0软件包(不升级VS或安装任何Net Core定位包等)?

我不敢。就像Jon指出的那样,问题的原因是你正在使用Visual Studio 2015。

根据.NET Standard,.NET Standard 2.0支持.NET Framework 4.6.1(带有 .NET Core 2.0 SDK ):

enter image description here

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

此外,NuGet包NETStandard.Library.NETFramework 已弃用

enter image description here

因此,将.NetStandard 2.0 Nuget软件包安装到Net 4.6.1项目中,我强烈建议使用Visual Studio 2017与.NET Core 2.0一起使用。

希望这有帮助。

答案 1 :(得分:6)

使用以下方法支持引用.NET Standard 2.0软件包:

使用.NET Standard 2.0库时,仍然存在很少的错误,特别是在混合.NET Standard&lt; 2.0和2.0库,但这些更新提供了基本的支持。