VSTS NuGet 包排除测试项目

VSTS NuGet pack exclude test projects

我正在使用 VSTS vNext 构建系统来构建 C# 解决方案。 您可以在下方看到 NuGet Packager 的设置。 nuspec 文件的路径设置为引用 .csproj 文件。

但这包括所有 .csproj 文件;我需要 exclude 测试项目。忽略 'Core.Test.csproj' 但仍打包 'Core.csproj'.

我试过 '*.csproj;-:!*test.csproj' 和其他组合,但没能解决这个问题!有谁知道模式匹配如何用于 vNext 构建?

**\*.csproj;-:**\*test.csproj 应该这样做(不需要感叹号)。如果没有,我们可能有一个错误,您应该在 GitHub.

上提交它

VSTS 和 TFS 2018 中 NuGet task 的最新版本 (2.x) 使用不同的模式来排除包。现在您使用 ! 而不是 -:

因此 **\*.csproj;-:**\*.Test.csproj 更改为 **\*.csproj;!**\*.Test.csproj

可以找到完整的模式匹配文档 here