使用devenv/MSBuild在命令行编译sln或csproj
使用devenv/MSBuild在命令行编译sln或csproj
一 使用devenv来build单个project
devenv
是 Visual Studio 的可执行程序,通常安装在 C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE
目录下。它可以用于在命令行或图形用户界面(GUI)方式下运行 Visual Studio。其中 devenv.com
是命令行版本,而 devenv.exe
则是 GUI 版本。默认情况下,当你调用 devenv
时,实际上是启动了 devenv.com
,除非显式调用 devenv.exe
才会启动 GUI 版本的 Visual Studio。
使用 devenv
来构建一个 .sln
文件的示例:
devenv d:\Build\MyProject\Src\MyProject.sln /Build "Release|Win32"
使用 devenv
来构建一个 .sln
文件中的特定项目:
devenv.exe d:\Build\MyProject\Src\MyProject.sln /build "Release|Win32" /Project MyProject1
请注意,解决方案文件(.sln
)中的多个项目之间可能存在依赖关系,因此即使您只构建解决方案中的一个项目,也需要指定项目的所属解决方案文件(.sln
),并通过 /Project
参数指定项目的名称。
如果仅需构建单个项目且该项目未引用其他项目,可以直接构建项目文件:
devenv d:\Build\MyProject\Src\MyProject.vcxproj /Build "Release|Win32"
在这种情况下,devenv
将执行以下操作:
- 首先,在项目文件的父目录中查找与项目同名的解决方案文件(
.sln
); - 如果未找到,则尝试查找其他引用了该项目的解决方案文件;
- 若仍未找到,将创建一个临时的、不保存的与项目同名的解决方案文件(
.sln
)。
二 devenv
的更多帮助
可以使用 devenv /?
查看详细的帮助信息。需要注意的是:
- 当解决方案或项目的路径包含空格时,应对路径加上双引号;
- 多个选项之间应以空格分隔;
devenv
不支持通配符或正则表达式语法。
三 MSBuild
如果您未安装 Visual Studio,也可以使用 MSBuild
来构建解决方案或项目。MSBuild
可以通过安装 .NET Framework 获得,通常安装在 C:\Windows\Microsoft.NET\Framework
目录下。实际上,当 devenv
执行构建时,也会在后台调用 MSBuild
来完成构建过程。
可以使用 msbuild /?
查看详细的帮助信息。
简单示例:
MSBuild MyApp.sln /t:Rebuild /p:Configuration=Release
MSBuild MyApp.csproj /t:Clean /p:Configuration=Debug;/p:Platform=x86;TargetFrameworkVersion=v3.5
同样需要注意,如果项目引用了其他项目,最好构建整个解决方案(.sln
)。
参考链接
使用devenv/MSBuild在命令行编译sln或csproj
https://www.dearcloud.cn/2016/03/04/20200310-cnblogs-old-posts/20160304-使用devenvMSBuild在命令行编译sln或csproj/