从.NET Framework 4.6.2类库

时间:2017-04-19 14:09:50

标签: c# .net .net-core .net-4.6.2

我有一个使用.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核心库中的代码,该代码也在其他项目中使用。

2 个答案:

答案 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