54

假设我需要在命令行中构建一个完整的解决方案(它有多个项目),是否可以为特定项目运行干净的构建并为项目的其余部分运行增量构建?

谢谢。

4

4 回答 4

110

使用 msbuild 并传递 Clean 和 Rebuild 目标:

msbuild path\to\solution\yoursolution.sln /t:Clean;Rebuild

或者,如果您只想重建单个项目:

msbuild path\to\project\yourproject.csproj /t:Clean;Rebuild

msbuild 在 Windows SDK 或 Visual Studio 命令提示符下可用。

于 2013-01-16T20:52:38.063 回答
13
MSBuild.exe MultiProjectSolution.sln /t:"ProjectName:clean"

将仅清理解决方案中的指定项目。

于 2015-05-21T17:06:31.263 回答
3

清理特定项目:

msbuild MyProjectFile1 /t:Clean
msbuild MyProjectFile2 /t:Clean
...

对于您需要清理的所有项目,必须重复此操作,因为 MSBuild 仅接受命令行上的单个项目。

逐步构建整个解决方案:

msbuild MySolutionFile

请注意,这将为项目和解决方案构建默认配置/平台,通常是 Debug/AnyCPU 或 Debug/Win32。如果你想要特定的配置/平台,你必须像这样添加参数:/p:Configuration=Release /p:Platform=x64到每个 msbuild 命令行。

于 2013-01-16T21:12:43.317 回答
3

只是在 PowerShell 中使用的一个小改进:

pathTo\MSBuild.exe pathTo\solutionfile.sln /target:"clean;Build"

不同目标的来源

于 2020-10-27T14:18:12.873 回答