[英]MSBuild successful but Visual Studio failed
我们正在使用 Jenkins 使用 msbuild 构建项目。
我添加了对现有项目的项目引用,但忘记将这些新项目添加到所有解决方案文件中。
我承诺了,但詹金斯告诉我一切正常。 我在命令行上尝试过:
msbuild test.sln /t:Rebuild /p:Configuration=Debug
在 Jenkins 和我的开发机器上有一个完全清除的工作目录,可以正常工作。 输出告诉我 msbuild 找到了该项目并构建它。
但是,如果我打开 Visual Studio 2017 并尝试构建该解决方案,它会告诉我无法找到依赖项目。
没错。
我如何强制 msbuild 仅构建解决方案文件中指定的项目,以便我们能够找到所有错过该新项目的解决方案?
顺便说一句:我们不需要提示如何找到需要包含该新项目的所有解决方案。 找到解决方案非常容易。
我如何强制 msbuild 仅构建解决方案文件中指定的项目,以便我们能够找到所有错过该新项目的解决方案?
避免 MSBuild 重建解决方案文件中列出的所有依赖项的默认行为的正确方法是将BuildProjectReferences
属性设置为 false,因此构建命令行应为:
MSBuild Test.sln /t:Rebuild /p:Configuration=Debug /p:BuildProjectReferences=false
使用此命令行后,MSBuild 将在 VS 中出现相同的错误,因此我们能够找到所有遗漏该新项目的解决方案
注意: BuildProjectReferences
会检查解决方案文件中列出的所有依赖项,所以请保持他的值为true,除非用于检查缺失的依赖项。
希望这会有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.