我们有一个MSBuild .proj
文件,用于构建和运行大量项目。这有文件引用到另一个。由于它是文件引用,因此我们维护解决方案上的Project Dependencies列表,以便MSBuild能够识别执行项目的订单。MSBuild - 项目依赖项构建命令异常
最近我们遇到了问题,我们的美国开发团队为一个项目添加了新的引用,但没有更新依赖项列表。这可以在本地和服务器上为他们构建。然而对于英国团队来说,这个构建对于所有的开发者来说一直都失败
我想明白为什么会出现这种情况。我能想到的唯一情况是,当两个项目基本上排在同一级别时,我们的文化会导致构建顺序略有不同。即如果项目A和项目B被认为具有相同的依赖关系,那么这两个项目所建立的顺序是任意确定的,而这在英国文化与美国文化中可能不同。
这就是说,我的机器(它为我打破了)有地区格式设置英语美国。和位置英国。
这听起来可行吗?还是有更好的解释呢?
不幸的是,由于各种原因,我们的解决方案通常不使用项目引用。我们有数百个项目,通常使用不同的解决方案打开Soln - 这些解决方案之一的项目使用项目引用,但部分之间的引用使用文件引用。 –
因此,如果项目A依赖于项目B的输出,但使用文件引用而不是项目引用,则在编译时您不知道是否有来自项目B的最新代码。这只是你可以添加的一些管道,让你的生活更轻松。过去,我必须在包含> 100个项目的解决方案上进行此项工作。它看起来像是一项艰巨的任务,但通过不再拘泥于错误的范例将为您节省很多的难处:) – Nicodemeus
我们的构建被配置为在每个构建中擦拭干净并从头开始,所以这不是主要关心的问题。我很乐意改用渐进方式,但我相信公司在过去一直受到困扰,因此希望保持完整的清洁版本。我相信切换到文件引用是因为我们使用更小的更集中的解决方案进行开发 - 项目引用喜欢在您将它们从解决方案中删除时尝试删除自己。 –