我有 .sln 文件,其中包含大约 352 个项目。 我在下面创建了批处理文件 “C:/Windows/Microsoft.NET/Framework/v4.0.30319/msbuild.exe myproj.sln /nologo /t:Build /p:Configuration=”调试” /property:Platform=”Win32” 暂停”
但这会从解决方案构建所有项目。我已配置“配置管理器”来取消选择不需要的项目或卸载项目并使用上面的批处理文件进行构建,但这没有达到目的。
我搜索了 MSBuild 选项,但找不到确切的答案。
有人可以帮我吗?
MSbuild
接受项目名称作为“目标”(/t) 规范的一部分:
MSBuild /nologo /t:ProjectName:Build SolutionFile.sln
或者,如果您的项目不依赖于解决方案中的其他项目,请直接使用项目文件
MSBuild
:
MSBuild /nologo /t:Build ProjectFile.vcxproj
此技巧适用于 Visual Studio 2010、2012、2013、2015、2017、2019 以及最新的 MSVS 2022。
您可以制定一个仅包含您想要构建的项目的解决方案。或者,您可以制作一个 MSBuild .proj 文件,将您想要构建的项目收集在一起:
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ProjectsToBuild Include="X.csproj;Child\Y.csproj" />
</ItemGroup>
<PropertyGroup>
<Configuration>Release</Configuration>
</PropertyGroup>
<Target Name="Build">
<MSBuild Projects ="@(ProjectsToBuild)" ContinueOnError ="false" Properties="Configuration=$(Configuration)">
<Output ItemName="OutputFiles" TaskParameter="TargetOutputs"/>
</MSBuild>
</Target>
</Project>
源自 http://sedodream.com/PermaLink,guid,ed3a0c98-fdac-4467-9116-5b3bf6755abc.aspx.