使用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/