我想建立一個多目標.NET 4.5.1和.NET標準1.3的類庫。據the documentation,我應該能夠做到這一點:在csproj文件中多目標時產生錯誤
<PropertyGroup>
<TargetFrameworks>net451;netstandard1.3</TargetFrameworks>
</PropertyGroup>
但是,當我嘗試建立,我得到這些奇怪的錯誤:
無法推斷從TargetFramework TargetFrameworkIdentifier和/或TargetFrameworkVersion =」 net451' 。它們必須明確指定。
MSB3645找不到.NET Framework v3.5 Service Pack 1。爲了定位「.NETFramework,Version = v1.3」,必須安裝.NET Framework v3.5 Service Pack 1或更高版本。
MSB3644找不到框架「.NETFramework,Version = v1.3」的引用程序集。要解決此問題,請爲此框架版本安裝SDK或Targeting Pack,或者將您的應用程序重定向到您安裝了SDK或Targeting Pack的框架版本。請注意,程序集將從全局程序集緩存(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年社區。我在這裏做錯了什麼?
你可以分享你的整個的.csproj? 我有 <項目SDK = 「Microsoft.NET.Sdk」> <的PropertyGroup> net451; netstandard1.3 TargetFrameworks> 的PropertyGroup> 而且它建立罰款在VS 2017企業。 –
您應該使用標籤的「s」結尾。所以不是TargetFramework,它必須是TargetFramework ** s ** – user3107888