MSBuild成功但Visual Studio失败

时间:2017-09-25 12:15:07

标签: c# visual-studio msbuild

我们正在使用Jenkins使用msbuild构建项目。

我添加了对现有项目的项目引用,但忘了将新项目添加到所有解决方案文件中。

我承诺,但詹金斯告诉我一切正常。 我在命令行上试过了:

begin

在Jenkins和我的开发机器上有一个完全清理的工作目录,工作正常。输出告诉我,msbuild找到了该项目并构建它。

但是,如果我打开Visual Studio 2017并尝试构建该解决方案,它会告诉我无法找到依赖项目。

这是正确的。

如何强制msbuild仅构建解决方案文件中指定的项目,以便我们能够找到错过该新项目的所有解决方案?

BTW:我们不需要提示如何找到需要包含该新项目的所有解决方案。找到解决方案非常简单。

1 个答案:

答案 0 :(得分:0)

  

如何强制msbuild仅构建解决方案文件中指定的项目,以便我们能够找到错过该新项目的所有解决方案?

避免MSBuild重建解决方案文件中列出的所有依赖项的默认行为的正确方法是将BuildProjectReferences属性设置为false,因此构建命令行应为:

MSBuild Test.sln /t:Rebuild /p:Configuration=Debug /p:BuildProjectReferences=false

使用此命令行后,MSBuild将获得与VS相同的错误,因此我们能够找到错过该新项目的所有解决方案

enter image description here

注意:BuildProjectReferences将检查解决方案文件中列出的所有依赖项,因此请保持其值为true,除非用于检查缺少的依赖项。

希望这有帮助。