0

我们正在努力迁移到 PackageReference 恢复样式 csproj,但对于此类项目有许多 nuspec,它们依赖于一些默认的 nuget pack CLI 行为。具体来说:

  • 版本替换
  • 依赖项部分的自动生成
  • 自动生成文件部分

本质上,我希望在 csproj 上运行 dotnet pack,并让它使用 csproj 生成文件、依赖项和版本,但其余元数据的现有 nuspec 文件。

如果我在 csproj 中指定 NuSpecFile,它会正确使用 nuspec 文件,但不再生成基于 csproj 的文件、依赖项或版本。

4

1 回答 1

2

.NET SDK 的基于 MSBuild 的打包功能可以选择生成用于打包的 nuspec 文件(默认)或使用用户提供的 nuspec 文件(NuSpecFile属性)来生成包。

没有混合这些方法的功能。

我建议将您需要的所有元数据放入 csproj 文件中。有关可用于控制包元数据的 MSBuild 属性列表,请参阅有关包目标的文档。

如果您希望在多个项目之间共享元数据,Directory.Build.props请在解决方案的根文件夹(所有项目的目录层次结构或之上)创建一个文件,其中包含您要共享的内容:

<Project>
  <PropertyGroup>
    <Authors>shared authors value</Authors>
    <PackageProjectUrl>https://something</PackageProjectUrl>
    …
  </PropertyGroup>
</Project>
于 2018-06-10T08:13:34.177 回答