使用devenv和MSBuild在命令行进行编译

一 使用devenv来build单个project

devenv是VisualStudio的可执行程序,一般安装在“C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE”下。用来在命令行或GUI方式运行VisualStudio。其中devenv.com是命令行程序,devenv.exe是GUI的程序。默认地当你调用devenv的时候其实是启动devenv.com,除非你显示地调用devenv.exe才会启动GUI的VisualStudio。

 

使用devenv来build一个.sln的实例:
devenv d:\Build\MyProject\Src\MyProject.sln /Build "Release|Win32"  

 

使用devenv来build一个.sln中的某个的实例:

devenv.exe d:\Build\MyProject\Src\NyProject.sln /build "Release|Win32" /Project MyProject1 

注意:通常地.sln中的多个Projects间有依赖关系,所以虽然你只是build一个.sln中的某个Project,但是还是需要指定Project所在.sln,然后通过/Project来指定Project的名字。

 

如果只是单个的Project,没有引用其他的projects,这个时候可以不指定.sln,直接build Project,如下实例:

devenv d:\Build\MyProject\Src\MyProject.vcxproj /Build "Release|Win32"

注意此时实际上devenv做如下事:

此时devenv将在此project文件的父目录中查找与Project相同名字的.sln;

如果没有找到的话,然后查找其他的引用了此Project的.sln;

如果还是没有找到的话会创建临时的不保存的与Project同名的.sln。

 

二 devenv的更多帮助 

可以使用devenv /?来查看详细的帮助。

.sln或project的路径有空格时,需要对路径加"";

多个/开关间使用空格隔开;

devenv不支持通配符或正则表达式语法;

 

三 MSBuild

如果你的机器上没有装有VisualStudio,那么可以使用MSBuild来build .sln或project。MSBuild可以通过安装.NETFramework来安装,一般的安装路径为C:\Windows\Microsoft.NET\Framework。其实devenv执行build时候,后台也是调用MSBuild来build的。

 

可以使用msbuild /?来查看详细的帮助;

 

简单实例如下: 

MSBuild MyApp.sln /t:Rebuild /p:Configuration=Release

MSBuild MyApp.csproj /t:Clean

                     /p:Configuration=Debug;/p:Platform=x86;TargetFrameworkVersion=v3.5

 

同样注意,如果project引用了其他的projects的时候,最好build整个.sln。 

 

 

PS:问题

 error MSB3091: Task failed because "AxImp.exe" was not found, or the correct
 Microsoft Windows SDK is not installed. The task is looking for "AxImp.exe" in
 the "bin" subdirectory beneath the location specified in the InstallationFolde

解决方案:

打开cmd执行如下

cd C:\Program Files (x86)\MSBuild\14.0\Bin
MSBuild D:\SinoCloudHIS\cloudhospital\cloudhospitalClient.sln /t:Rebuild /property:Configuration=Release;TargetFrameworkVersion=v4.5;VSToolsPath=

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值