从 .net 4.6.2 库中引用 .NET Standard 1.6 库

7
我有一个自制的NuGet包,针对netstandard1.6发布到私有feed。当我尝试将其安装到目标为.NET Framework 4.6.2的包中时,NuGet告诉我:
您正在尝试将此程序包安装到一个目标为“.NETFramework,Version=v4.6.2”的项目中,但该程序包不包含与该框架兼容的任何程序集引用或内容文件。有关更多信息,请联系程序包作者。
该程序包的依赖列表如下:

enter image description here

我正在使用2017年3月28日发布的Visual Studio 2017。

我认为这正是.NET Standard库的全部意义所在?我错过了什么吗?

1个回答

7
计划是这将与netstandard2.0工具配合使用,但由于net46x周围的某些奇怪情况,目前它无法正常工作。
有两个文档介绍了netstandard和.NET Framework版本之间的映射关系:
- 雄心勃勃的.NET Standard 2.0工具 - 当前工具 如您所见,在“当前”版本中,只有“vNext”支持netstandard1.6。但是,从.NET 4.6.2针对netstandard1.5库进行目标设置应该没有问题 - 您是否真的需要将软件包定位到netstandard1.6?(1.6中没有太多不在1.5中的内容。)

我也正在使用一个新的ASP.NET Core 1.1项目,我的理解是Core 1.1需要.NET Standard 1.6。 - Chris
@Chris:嗯...那很奇怪。我真的以为它可以工作。稍后会尝试研究一下,但现在我不能这么做。 - Jon Skeet
@Chris 我也遇到了这个问题,你的建议解决了我的问题。NuGet不理解.NET Standard与.NET Framework的兼容矩阵,因此在资源的csproj中明确指出目标提供了提示。我不认为这是工具的失败。NET Standard 2.0公开了与4.6.1相同的API,另外还有大约43个附加项,以保持向后兼容性,以支持net standard 1.6。库作者可能希望宣传.NET Standard 2.0,但不意味着.NET Framework 4.6.1的可移植性。 - Matthew
参考:https://github.com/dotnet/standard/tree/master/docs/netstandard-20#net-framework-461-supporting-net-standard-20 - Matthew
.NET标准图表:https://github.com/dotnet/standard/blob/master/docs/versions.md - M.Hassan
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接