我正在尝试使用Teamcity,并且遇到了Nuget Pack跑步者类型的问题。 我的构建工作正常,它将Nuget包发布到内置的Nuget服务器。我能够使用这个包,一切都很好。
但是,我采用了测试驱动开发。包含我的Nuget包内容的解决方案也包含我的单元测试的代码。单元测试在构建步骤中运行,以确保代码按预期运行。
问题是单元测试项目本身就是作为nuget包导出的!我希望团队城市不要发布单元测试项目。
在构建步骤中,我有以下
我已尝试过以下exlude文件。
构建的输出看起来像这样......
我想让Teamcity不创建Cjd.LinchPin.UnitTests。*。nupkg。它不需要。
最后一件事,我试图将其创建为一个构建模板,我将来可以将其重用于其他项目。因此,为什么我尝试使用通配符作为包含和排除。
问题是,如何让nuget pack构建步骤忽略任何包含UnitTest的项目?
答案 0 :(得分:0)
我想出了一个可以接受的答案。诀窍是使用.nuspec文件。这必须专门为您的nuget包创建。它可以与项目一起检查源控件。
这允许你使用nuget包内容做聪明的事情,因为它是由nuspec文件而不是通配符或类似的东西驱动的。