Dot-Net
在 csproj 文件中進行多目標時生成錯誤
我正在嘗試建構一個同時針對 .NET 4.5.1 和 .NET Standard 1.3 的類庫。根據文件,我應該能夠做到這一點:
<PropertyGroup> <TargetFrameworks>net451;netstandard1.3</TargetFrameworks> </PropertyGroup>但是,當我嘗試建構時,我得到了這些奇怪的錯誤:
無法從 TargetFramework=‘net451’ 推斷 TargetFrameworkIdentifier 和/或 TargetFrameworkVersion。它們必須明確指定。
未找到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 社區。我在這裡做錯了嗎?
你確定寫了嗎
<TargetFrameworks>net451;netstandard1.3</TargetFrameworks>並不是
<TargetFramework>net451;netstandard1.3</TargetFramework>?
在添加缺失的內容之前,我遇到了同樣的錯誤
s