我有.sln文件,有大约352个项目。 我在下面创建了批处理文件 “C:/Windows/Microsoft.NET/Framework/v4.0.30319/msbuild.exe myproj.sln / nologo / t:Build / p:Configuration =”Debug“/ property:Platform =”Win32“ 暂停“
但这会构建解决方案中的所有项目。我已配置“配置管理器”以取消选择不需要的项目或卸载项目,并使用上面的批处理文件进行构建,但这不符合目的。
我搜索了MSBuild选项,但找不到确切的答案。
有人可以帮助我吗?
答案 0 :(得分:3)
MSbuild接受目标规范中的项目:
MSBuild /nologo /t:ProjectName:Build SolutionFile.sln
或者,如果您的项目不依赖于解决方案中的其他项目,请直接将项目文件与MSBuild一起使用:
MSBuild /nologo /t:Build ProjectFile.vcxproj
此技巧适用于Visual Studio 2010,2012,2013,2015,2017以及最新的MSVS 2019。
答案 1 :(得分:1)
您可以制作一个仅包含您要构建的项目的解决方案。或者,您可以创建一个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。