为什么 NuGet 包不将文件添加到工具目录?

Why doesn't NuGet pack add files to tools directory?

我有以下 nuspec 文件:

<files>
    <file src="..\.BuildScripts\Tools\*.ps1" target="tools" />
    <file src="..\Build\Results\*.*" target="content" exclude="*.txt" />
</files>

当我 运行 NuGet pack project.nuspec 时,过程完成且没有任何错误,但是创建的包的工具目录是空的。当我将第一行的路径更改为不存在的路径时,我确实收到错误 (File not found).

NuSpec 文件有什么问题?

显然 NuGet 不喜欢路径中的点 .。只需将 .BuildScripts 重命名为 BuildScripts 即可解决问题:

<file src="..\BuildScripts\Tools\*.ps1" target="tools" />

经验教训,艰难的道路!

nuget pack 有一个 NoDefaultExcludes 命令行选项可以覆盖此行为 (NuGet Pack Command Options)