Ben*_*est 11 .net cruisecontrol.net continuous-integration visual-studio-2008 visual-studio
使用<devenv>标签和<msbuild>标签之间的主要区别在于CruiseControl.NET?
我理解他们调用不同的可执行文件,但有时我得到不同的结果(在编译时通过/失败),我想知道为什么两个构建命令之间存在差异.
Ben*_*ann 19
基本上devenv(Visual Studio)包装MSBuild并添加许多Visual Studio特定属性.
要使用devenv,您需要在计算机上安装Visual Studio.要使用MSBuild,您只需要拥有.NET框架.
对我们来说,主要区别在于devenv将处理安装程序项目(*.vdproj),而msbuild则不会.如果我没记错的话,msbuild在查找引用的程序集时要小得多(特别是如果路径稍微关闭的话).
当我们从VSS/CruiseControl.NET(我猜测在我们的配置中使用devenv)转移到TFS(使用msbuild,至少我们已配置它)时发现的一件事是有时ProjectGuids离开了同步.
因此,项目A引用项目B,项目A的项目或解决方案文件具有ProjectGuid和项目B项目文件的路径.但是,无论出于何种原因,项目B的ProjectGuid已经更改,而项目A的项目或解决方案文件没有得到更新以反映这一点.
Devenv很好,因为它只是使用项目B的项目文件的文件路径或它回退到它.然而,Msbuild在这一点上停止了冷,因为如果ProjectGuids不匹配则不行.此时,您可以在Visual Studio中修复它(我认为删除并重新添加项目工作)或手动通过记事本或其他东西.
我将由您决定哪个更好(严格遵守ProjectGuid或在知道项目路径时的宽大处理)
| 归档时间: |
|
| 查看次数: |
10404 次 |
| 最近记录: |