我如何防止MSBUILD使用.proj

问题描述 投票:0回答:1
BuildInParallel=true

属性使用并行构建。

我需要分组构建它们,因为某些项目已经建立了二进制文件生成步骤,而其他一些项目则需要它们才能构建,这需要大约2秒钟。
这里是我建立组的顺序:-

BuildGroup1

fixeddelay

建筑物
  1. <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup> <SolutionProjects Include="$(MSBuildProjectDirectory)/MyApp.sln"> <GetSolutionProjects/> </SolutionProjects> </ItemGroup> <ItemGroup> <RemainingProjects Include="@(SolutionProjects)" Exclude="@(BuildGroup1);"/> </ItemGroup> <Target Name="BuildGroup1"> <MSBuild Projects=" ../CoreProject1.csproj; ../CoreProject2.vcxproj; ../CoreProject3.vcxproj; ../CoreLibrary1.vcxproj; ../CoreLibrary2.csproj; ../CoreLibrary3.csproj; ../CoreLibrary4.vcxproj; "/> </Target> <Target Name="FixedDelay" DependsOnTargets="BuildGroup1"> <Exec Command="PowerShell -Command Start-Sleep -Seconds 3"/> <Message Text ="Delay Complete. Starting BuildGroup2..." Importance="high"/> </Target> <Target Name="BuildRemaining" DependsOnTargets="FixedDelay;"> <MSBuild Projects="@(RemainingProjects)" /> </Target> <Target Name="BuildAll" DependsOnTargets="BuildGroup1;FixedDelay;BuildRemaining"/> </Project>
  2. msbuild customBuild.proj /t:BuildAll /m /p:Configuration=Release /p:Platform=x64 /p:BuildInParallel=true
  3. So,
  4. BuildGroup1
具有针对其他项目的先决条件构建的项目和库。
RemainingProjects
针对
MyApp.Sln

MyApp.Sln

中的项目具有所有需要构建的项目。
我面临的问题是,即使我为
BuildGroup1
项目添加了一个排除,但在调用
BuildGroup1
时,它们再次被构建。我如何在.sln中动态构建
项目
或如何防止MSBUILD重建已经构建的项目。
从构建中查看
Exclude文件

,恐怕

BuildRemaining

元素不支持将值分配给上面的writh。
Exclude
置换如下:
Target

msbuild visual-studio-2022
1个回答
0
投票

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.