如何从 Visual Studio 中的解决方案运行特定项目的干净构建

问题描述 投票:0回答:5

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

谢谢。

visual-studio command-line msbuild
5个回答
122
投票

使用 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 命令提示符中使用。


14
投票
MSBuild.exe MultiProjectSolution.sln /t:"ProjectName:clean"

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


5
投票

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

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

不同目标的来源


3
投票

清理具体项目:

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

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

逐步构建整个解决方案:

msbuild MySolutionFile

注意,这将为项目和解决方案构建默认配置/平台,通常是 Debug/AnyCPU 或 Debug/Win32。如果您想要特定的配置/平台,则必须向每个 msbuild 命令行添加如下参数:

/p:Configuration=Release /p:Platform=x64


0
投票

就我而言,分号不起作用。我在 Clean target 之后使用逗号解决了它。

MSBuild Solution.sln /t:Clean,Build /p:Configuration=Release
© www.soinside.com 2019 - 2024. All rights reserved.