有没有一种方法可以设置基于环境变量构建哪些项目?

时间:2019-01-08 00:54:45

标签: c# visual-studio msbuild

我有15个以上项目的解决方案。我想在设置环境变量时排除其中的某些项目。

我知道您可以通过构建配置来执行此操作,但是我们希望避免维护多个构建配置。

理想情况下,如果设置了环境变量“ BUILDCORE”,则我只会构建15个项目中的7个。

1 个答案:

答案 0 :(得分:1)

  

是否可以根据环境变量设置要构建的项目?

AFAIK,在Visual Studio中没有直接的方法。但是您可以尝试采用以下解决方法,检查它是否对您有用。

使用Condition=" '$(ENVBuildSetValue)' == 'BUILDCORE' "向解决方案中添加一个空白项目,卸载项目。然后在项目的最后,在结束标签</project>之前,放在脚本下面:

<Target Name="BuildCore" BeforeTargets="Build" Condition=" '$(ENVBuildSetValue)' == 'BUILDCORE' ">
    <Message Text="Build projects for build core!"></Message>
    <MSBuild Projects="..\theother\theother.csproj" Targets="Build" Properties="Configuration=xxxx;Platform=xxxx" />

    <MSBuild Projects="..\Another\Another.csproj" Targets="Build" Properties="Configuration=xxxx;Platform=xxxx" />
</Target>

然后在设置环境变量“ BUILDCORE”时构建此项目。

希望这会有所帮助。