2

我正在 Jenkins 的构建步骤中构建 NuGet 包(尽管 Jenkins 可能无关)。

我正在运行这样的 NuGet 命令行:

NuGet Pack MyProject.csproj

在同一文件夹中还有一个 MyProject.nuspec 文件,我使用了一些变量,如 $id$、$version$ 等。

我的 nuspec 只有几个文件,例如:

<files>
    <file src="..\..\Build\MyProject.dll" target="lib\net40\MyProject.dll" />
    <file src="..\..\Build\MyProject.pdb" target="lib\net40\MyProject.pdb" />
    <file src="..\..\Build\MyProject.XML" target="lib\net40\MyProject.XML" />
</files>

我的问题是,当我在那里使用 7zip 检查构建的 nupkg 内容时,我注意到有其他文件(dll、pdb、xml 等)恰好位于我从中提取文件的 Build 文件夹中。

这些文件来自上一个构建步骤,最终将在其他 NuGet 包中使用(但我不希望它们包含在此主包中)。

什么会导致 NuGet 在 nupkg 中放置额外的文件?

4

1 回答 1

3

当您从项目文件中打包时,它将在您的项目中包含标记为内容的内容。此外,您的 nuspec 文件不需要为该项目添加 xml pdb 和 dll,除非它不在 TargetPath(msbuild 属性)中。

于 2011-09-09T18:15:38.707 回答