代码改变世界

MSBuild不能编译VS安装项目

2011-07-13 12:02  kwjlk  阅读(761)  评论(0)    收藏  举报

  MSBuild不能直接编译VS安装项目,编译时提示跟级别上的元素无效,vs安装项目的后缀名为vdproj。如果需要编译这种项目的话,可以间接通过MSBuild中的EXEC Task 调用vs编译器devenv.exe(参考http://msdn.microsoft.com/en-us/library/x8zx72cd.aspx)来实现。


      命令行为:  devenv MySol.sln /build "Debugx86"

但是,在这个命令行中需要有双引号,为了将双引号作为参数传递,你需要将双引号改写成&quot&quot(单引号用一个&quot)。改写后的样子:

      <Exec command="DevEnv Mysol.sln /build &quot;Debug¦x86&quot;" />

但是,这样在自动化编译的时候有一个弊端,就是需要编译代码的服务器安装有VS(因为这里通过devenv.exe编译vdproj)