我有一个使用.NET Core编写的库,目标是.netstandard2.0。根据此site,与.NET 4.6.2和4.6.1一起使用该版本的.NET Core库应该是兼容的。但是,当我尝试构建我的.NET Framework库时,我收到此错误:
项目'c:\ myproj.csproj'目标'.NETStandard,Version = v2.0'。它不能被针对'.NETFramework,Version = v4.6.2'的项目引用。
我正在使用Visual Studio 2017来构建库。我正在做什么不可能/支持我只是误解了网站上的信息? .NET Framework库引用System.Management.Automation并且是PowerShell模块,但也引用了.NET核心库中的代码,该代码也在其他项目中使用。
答案 0 :(得分:9)
我将此问题放在标记中解决了这个问题:
<TargetFrameworks>netstandard2.0;net462</TargetFrameworks>
<TargetFrameworkIdentifier Condition="'$(_ShortFrameworkIdentifier)'=='net'">.NETFramework</TargetFrameworkIdentifier>
<TargetFrameworkIdentifier Condition="'$(_ShortFrameworkIdentifier)'=='netstandard'">.NETStandard</TargetFrameworkIdentifier>
这使我能够构建引用.NET核心项目的.NET Framework类库。不是我对文档的期望,因为它看起来像.netstandard是新的PCL,但它可以工作。
答案 1 :(得分:0)
在撰写本文时,VS 2017并不直接支持每日构建/预览2.0工具。 VS 2017(15.0,15.1)附带的SDK不了解netstandard 2.0,也没有集成的NuGet扩展。
有关在当前发布的VS 2017版本中使用预览工具的一些变通方法,请参阅https://github.com/aspnet/Announcements/issues/231。