我有一个针对2个框架的dotnet核心项目:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp1.0;net45</TargetFramework>
</PropertyGroup>
</Project>
使用dotnet build -c Release -f net45|netcoreapp1.0
我可以为所需的framewok构建我的类库。
但我无法找到如何使用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包时有没有办法建立多目标框架?
感谢您的回答,
奥利弗
答案 0 :(得分:6)
对于多目标定位,请使用复数TargetFrameworks
属性来提供框架列表。 TargetFramework
(单数)只接受一个框架。如果您在属性名称上修复了缺少的s
,dotnet pack -c Release
应该按预期工作 - 而无需指定任何框架参数。
添加其他框架时,您可能没有更新该属性。通过指定-f
选项,您已覆盖此属性以使其正常工作,但我想dotnet build
将失败并出现相同的错误。