取决于任务参数的MSBuild条件

取决于任务参数的MSBuild条件,msbuild,Msbuild,在MSBuild中,定义(例如)依赖于属性Foo的值的PropertyGroup非常简单: 但我不知道这是否可能,如果可能,正确的语法是什么 不过,我对MSBuild还很陌生,所以很可能我错过了一些东西。我的机器上没有VC SDK,因此我无法尝试链接任务,但您可以尝试使用该任务的: ... <PropertyGroup Condition="'$(LinkSubSystem)'=='Console'"> <MyDependentProp>Whatever</

在MSBuild中,定义(例如)依赖于属性Foo的值的PropertyGroup非常简单:

但我不知道这是否可能,如果可能,正确的语法是什么


不过,我对MSBuild还很陌生,所以很可能我错过了一些东西。

我的机器上没有VC SDK,因此我无法尝试链接任务,但您可以尝试使用该任务的:

...
<PropertyGroup Condition="'$(LinkSubSystem)'=='Console'">
    <MyDependentProp>Whatever</MyDependentProp>
</PropertyGroup>

<Target Name="Linker">
    <Link Sources="@(LinkerSources)" SubSystem="Console">
        <Output TaskParameter="SubSystem" ItemName="LinkSubSystem" />
    </Link>
</Target>
...
第二种方法是为链接任务子系统参数本身使用属性,只需为PropertyGroup循环使用它

...
<PropertyGroup>
    <LinkerSubSystem>Console</LinkerSubSystem>
</PropertyGroup>

<PropertyGroup Condition="'$(LinkerSubSystem)'=='Console'">
    <MyDependentProp>Whatever</MyDependentProp>
</PropertyGroup>

<Target Name="Linker">
    <Link Sources="@(LinkerSources)" SubSystem="$(LinkerSubSystem)" />
</Target>
...

我的机器上没有VC SDK,因此我无法尝试链接任务,但您可以尝试使用任务的:

...
<PropertyGroup Condition="'$(LinkSubSystem)'=='Console'">
    <MyDependentProp>Whatever</MyDependentProp>
</PropertyGroup>

<Target Name="Linker">
    <Link Sources="@(LinkerSources)" SubSystem="Console">
        <Output TaskParameter="SubSystem" ItemName="LinkSubSystem" />
    </Link>
</Target>
...
第二种方法是为链接任务子系统参数本身使用属性,只需为PropertyGroup循环使用它

...
<PropertyGroup>
    <LinkerSubSystem>Console</LinkerSubSystem>
</PropertyGroup>

<PropertyGroup Condition="'$(LinkerSubSystem)'=='Console'">
    <MyDependentProp>Whatever</MyDependentProp>
</PropertyGroup>

<Target Name="Linker">
    <Link Sources="@(LinkerSources)" SubSystem="$(LinkerSubSystem)" />
</Target>
...

我的答案对你有用吗?你的答案错了:我的答案对你有用吗?