3

我有 .sln 文件,其中包含大约 352 个项目。我在“C:/Windows/Microsoft.NET/Framework/v4.0.30319/msbuild.exe myproj.sln /nologo /t:Build /p:Configuration="Debug" /property:Platform="Win32" 下面创建了批处理文件暂停”

但这会从解决方案构建所有项目。我已将“配置管理器”配置为取消选择不需要的项目或卸载项目并使用上面的批处理文件进行构建,但这并没有达到目的。

我已经搜索了 MSBuild 选项,但找不到确切的答案。

任何人都可以帮助我吗?

4

2 回答 2

3

MSbuild 接受项目名称作为“目标”(/t) 规范的一部分:

MSBuild /nologo /t:ProjectName:Build SolutionFile.sln

或者,如果您的项目不依赖解决方案中的其他项目,则直接将项目文件与 MSBuild 一起使用:

MSBuild /nologo /t:Build ProjectFile.vcxproj

此技巧适用于 Visual Studio 2010、2012、2013、2015、2017 和最新的 MSVS 2019。

于 2015-12-25T16:46:19.987 回答
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

于 2013-08-09T08:00:39.817 回答