Visual Studio(.sln)生成runner和MSBuild之间的区别
我试图设置TeamCity使用.Net配置CI并配置我拥有的构建运行程序:
有什么不同? 为什么三个构建工作在同一类型的项目上? (除了2003年的例外,我相信为什么?)
考虑到这个问题,我们为.exe文件构建了这个运行程序:
“命令行”版本运行程序不适用于任何.net程序集? 为什么.Net Process Runner?
Visual Studio(sln)
如果你的解决方案很小,并且你不需要做一些精美的事情,你可以使用Visual Studio(sln)build runner。 它和你做Project-> Build(从VS菜单)完全一样。 此选项非常易于配置,只需点击几下,CI服务器即可编译您的解决方案。
的MSBuild
如果你需要做更高级的场景,除了简单的编译,比如应用不同的配置文件,插入转换后的值到配置文件,部署二进制文件等,你可以选择MSBuild选项。 你会知道什么时候需要使用它,只是因为sln builder不能做任何事情。 这个选项需要一些构建脚本语言的知识,这是一种基于任务和XML的。
当您使用MSBuild构建.SLN文件(非MSBuild文档)时,它会生成一个内存MSBuild文件,该文件引用所有要在指定配置中构建的项目,然后执行它。 当您使用Visual Studio构建时,您改为调用DevEnv.com。
有一些项目类型(2005/2008中的C ++和2005/2008/2010中的VDPROJ)不是MSBuild文件,只能使用MSBuild构建。 您将收到构建警告,指出一个或多个项目不是有效的MSBuild项目,并且无法构建。
在通用中,我尝试保持精简并意味着构建机器,并且只在需要时才安装Visual Studio。
我注意到两者之间很少。 特别是在我们的例子中,我们需要构建一个.vdproj。 现在谷歌搜索后,两个跑步者可以做到这一点,命令行亚军或Visual Studio(SLN)。 但是,在执行Visual Studio(sln)runner类型时,出现以下错误:“[Warning] C: BuildAgent work 1bd75058d7bca32b POS PoSWidgetInstaller myInstaller.vdproj.metaproj警告MSB4078:项目文件”myInstaller myInstaller。 vdproj“不被MSBuild支持,无法构建。”
并且在内置解决方案时不会失败。 我认为Visual Studio(sln)runner类型从sln文件中提取数据,然后将其与MSbuild一起使用。 不知道不能确认,但只是我的想法。
链接地址: http://www.djcxy.com/p/81625.html上一篇: Differences between Visual Studio (.sln) build runner and MSBuild
下一篇: How to automate deployment of Web Application in Visual Studio 2010?