我有一个包含100多个c#项目的解决方案。我们总是为所有程序集设置CopyLocal选项为false以避免一些问题。有时,一些开发人员使用CopyLocal选项对项目文件进行chec-in True。这会在以后运行软件时产生问题
如果CopyLocal选项为True,是否可以使构建活动失败?
我们正在使用MS Build和Cruise控制网自动化构建过程。
答案 0 :(得分:1)
简短回答:是的!
我不是MSBuild专家,但我知道如何用NAnt做到这一点。它非常简单,与MSBuild实现相同的结果应该没有多大区别。这是一个过程:
True
的程序集引用:count(/Project/ItemGroup/Reference/Private[text()="True"])
对于项目参考:
count(/Project/ItemGroup/ProjectReference/Private[text()="True"])
如果结果大于0,则您将CopyLocal的引用设置为True
,因此构建失败。 陷阱:请注意,如果缺少节点True
,则CopyLocal也会被视为Private
。