我正在尝试构建一个同时支持.NET 4.5.1和.NET标准1.3的类库。根据the documentation的说法,我应该能够这样做:
<PropertyGroup>
<TargetFrameworks>net451;netstandard1.3</TargetFrameworks>
</PropertyGroup>
然而,当我尝试构建时,我得到了这些奇怪的错误:
无法从TargetFramework='net451‘推断TargetFrameworkIdentifier和/或TargetFrameworkVersion。它们必须显式指定。
找不到MSB3645 .NET框架v3.5 Service Pack1。为了定位".NETFramework,Version=v1.3",必须安装.NET Frameworkv3.5 Service Pack1或更高版本。
MSB3644找不到框架".NETFramework,Version=v1.3“的引用程序集。要解决此问题,请为此框架版本安装SDK或目标包,或者将您的应用程序重定目标到已安装SDK或目标包的框架版本。请注意,程序集将从全局程序集缓存(GAC)中解析,并将用于替代引用程序集。因此,您的程序集可能无法正确定位到您想要的框架。
如果我手动指定目标框架标识符,它可以很好地构建:
<PropertyGroup>
<TargetFrameworks>net451;netstandard1.3</TargetFrameworks>
</PropertyGroup>
<PropertyGroup Condition="'$(TargetFramework)' == 'net451'">
<TargetFrameworkIdentifier>.NETFramework</TargetFrameworkIdentifier>
</PropertyGroup>
<PropertyGroup Condition="'$(TargetFramework)' == 'netstandard1.3'">
<TargetFrameworkIdentifier>.NETStandard</TargetFrameworkIdentifier>
</PropertyGroup>
我正在使用Visual Studio 2017社区。我是不是做错了什么?
https://stackoverflow.com/questions/43072097
复制相似问题