VSTS NuGet包排除测试项目

Edw*_*son 6 azure-devops azure-pipelines-build-task azure-artifacts

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

在此输入图像描述

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

我试过' *.csproj; - :! *test.csproj'和其他组合,但没有运气搞清楚这一点!有谁知道模式匹配如何适用于vNext构建?

Mat*_*per 12

**\*.csproj;-:**\*test.csproj应该这样做(不需要惊叹点).如果没有,我们可能有一个错误,你应该在GitHub上提交.

  • 排除模式已更改。从文档(https://docs.microsoft.com/zh-cn/vsts/build-release/tasks/package/nuget#pack-nuget-packages):使用文件匹配模式来发布多个软件包。请注意,这些模式已在NuGet任务的版本2中进行了更新;如果您的模式包含-:,请使用!代替。 (3认同)

Chr*_*ono 6

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

所以**\*.csproj;-:**\*.Test.csproj改为**\*.csproj;!**\*.Test.csproj.

可以在此处找到完整的模式匹配文档。