首页 > 解决方案 > 如何在 Visual Studio 中的 NuGet 包之前修改 .nuspec 文件

问题描述

如今,Visual Studio 通过自动化创建 .nuspec 文件的过程使创建 NuGet 包变得更加容易。这意味着版本依赖等是自动创建的,您可以在此处简单地设置文本值:

在此处输入图像描述

因此,在构建 NuGet 包时,大部分工作已经完成。但是,在构建 .nuspec 文件之前,我需要添加一些外部程序集。我知道我可以在输出的 .nuspec 文件的文件集合中添加外部文件(在 obj\Release 中):

在此处输入图像描述

我的问题是,在创建 .nuspec 之后,但在 msbuild 或 Visual Studio 调用 pack 命令之前,我应该使用什么构建事件或其他方式来编辑它?或者,我应该在之后运行一个单独的构建过程吗?

注意:额外的好处是找到一个我可以调用的工具来添加文件集合。没有那个,我猜我需要编写powershell代码来添加文件......

标签: visual-studionugetmsbuild-tasknuspec

解决方案


您可以在文件中使用Pack元素: https ://docs.microsoft.com/en-us/nuget/reference/msbuild-targets#include-content-in-a-packagecsproj

将这样的内容添加到您的项目中:

<ItemGroup>
  <Content Pack="True"
           PackagePath="lib\netcoreapp2.2"
           Include="C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All\2.1.2\Microsoft.AI.DependencyCollector.dll" />
</ItemGroup>

这会将 Microsoft.AI.DependencyCollector.dll 库添加到您的包中:

包装内容

通过这种方式,您可以将任何您喜欢的内容添加到您的库中。


推荐阅读