【问题标题】:dotnet pack targeting multiple frameworks针对多个框架的 dotnet 包
【发布时间】:2017-05-03 14:39:33
【问题描述】:

我有一个针对 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包时有没有办法多目标框架?

感谢您的回答,

奥利维尔

【问题讨论】:

标签: .net nuget .net-core


【解决方案1】:

对于多目标,使用复数 TargetFrameworks 属性来提供框架列表。 TargetFramework(singular) 只接受一个框架。如果您修复了属性名称上缺少的 sdotnet pack -c Release 应该可以按预期工作 - 无需指定任何框架参数。

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

【讨论】:

  • 感谢 Martin,它完成了这项工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-05-18
  • 2010-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-07
  • 2015-03-13
相关资源
最近更新 更多