针对多个框架的dotnet包

Oli*_*art 6 .net nuget .net-core

我有一个针对2个框架的dotnet核心项目:

<Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup>
        <TargetFramework>netcoreapp1.0;net45</TargetFramework>
    </PropertyGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)

使用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]
Run Code Online (Sandbox Code Playgroud)

构建nuget包时有没有办法建立多目标框架?

谢谢你的回答,

奥利维尔

Mar*_*ich 7

对于多目标,请使用plural TargetFrameworks属性提供框架列表.TargetFramework(单数)只接受一个框架.如果修复了s属性名称上的缺失,则dotnet pack -c Release应该按预期工作 - 无需指定任何框架参数.

添加其他框架时,您可能没有更新该属性.通过指定-f选项,您已覆盖此属性以使其工作,但我想a dotnet build将失败并出现相同的错误.