Dot-Net

針對多個框架的 dotnet 包

  • December 5, 2018

我有一個針對 2 個框架的 dotnet 核心項目:

<Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
       <TargetFramework>netcoreapp1.0;net45</TargetFramework>
   </PropertyGroup>
</Project>

使用dotnet build -c Release -f net45|netcoreapp1.0我可以為所需的框架建構我的類庫。但我找不到如何對dotnet-pack命令執行相同的操作。我因以下錯誤而失敗:

C:\Program Files\dotnet\sdk\1.0.0\Sdks\Microsoft.NET.Sdk\build\Microsoft.NET.TargetFrameworkInference.targets(84,5): error : Cannot infer TargetFrameworkIdentifier and/or TargetFrameworkVersion from TargetFramework='netcoreapp1.0'. They must be specified explicitly. [C:\Users\olduh\sly\sly\sly\sly.csproj]

建構nuget包時有沒有辦法多目標框架?

謝謝你的回答,

奧利維爾

對於多目標,使用複數TargetFrameworks屬性提供框架列表。TargetFramework(單數)只接受一個框架。如果您修復了s屬性名稱上的缺失,dotnet pack -c Release應該可以按預期工作 - 無需指定任何框架參數。

添加其他框架時,您可能沒有更新屬性。通過指定該-f選項,您已覆蓋此屬性以使其工作,但我猜 adotnet build將失敗並出現相同的錯誤。

引用自:https://stackoverflow.com/questions/43763180