使用.bat 文件,批量编译项目文件。
2008-6-1来源:www.aspcool.com 作者:PCJIM 点击:次
path %path%;D:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE devenv WindowsFormsApplication1.sln /Build devenv WindowsFormsApplication1.sln /build debug /Project wpfButton pause
使用.bat 文件,批量编译由VS.NET生成的一个或多个解决方案中的各项目文件。将该批处理文件与Microsoft Visual SourceSafe结合起来使用,可以提高整个项目源代码的编译速度。
主要通过Devenv 命令行开关,Devenv 允许您设置集成开发环境 (IDE) 的各个选项,以及从命令行生成、调试和部署项目。使用这些开关从脚本或 .bat 文件运行 IDE,或以特定配置启动 IDE。
实例:BuildApp.bat,文件内容如下:
path %path%;D:\Program Files\Microsoft Visual Studio 8\Common7\IDE
devenv /rebuild Debug .\AppOne\AppOne.sln /project "AppOne.csproj" /projectconfig Debug
devenv /rebuild Debug .\AppTwo\AppTwo.sln /project "AppTwo.csproj" /projectconfig Debug
pause
该实例中用到两个解决方案文件:AppOne.sln和AppTwo.sln。
1、AppOne.sln中包含一个项目文件:AppOne.csproj。
2、AppTwo.sln中包含两个项目文件:AppTwo.csproj和Common.csproj。
path %path%;D:\Program Files\Microsoft Visual Studio 8\Common7\IDE
其中“D:\Program Files\Microsoft Visual Studio 8\Common7\IDE”为VS.NET的安装路径,可根据实情况作修改。
BuildApp.bat运行后截图如下:
1、AppOne的编译信息:
2、AppTwo的编译信息:
主要通过Devenv 命令行开关,Devenv 允许您设置集成开发环境 (IDE) 的各个选项,以及从命令行生成、调试和部署项目。使用这些开关从脚本或 .bat 文件运行 IDE,或以特定配置启动 IDE。
实例:BuildApp.bat,文件内容如下:
path %path%;D:\Program Files\Microsoft Visual Studio 8\Common7\IDE
devenv /rebuild Debug .\AppOne\AppOne.sln /project "AppOne.csproj" /projectconfig Debug
devenv /rebuild Debug .\AppTwo\AppTwo.sln /project "AppTwo.csproj" /projectconfig Debug
pause
该实例中用到两个解决方案文件:AppOne.sln和AppTwo.sln。
1、AppOne.sln中包含一个项目文件:AppOne.csproj。
2、AppTwo.sln中包含两个项目文件:AppTwo.csproj和Common.csproj。
path %path%;D:\Program Files\Microsoft Visual Studio 8\Common7\IDE
其中“D:\Program Files\Microsoft Visual Studio 8\Common7\IDE”为VS.NET的安装路径,可根据实情况作修改。
BuildApp.bat运行后截图如下:
1、AppOne的编译信息:
2、AppTwo的编译信息:
================================================================
使用devenv/MSBuild在命令行编译单个project
一 使用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。
完!
附:https://msdn.microsoft.com/zh-cn/library/2fdbz5xd.aspx