gpt4 book ai didi

msbuild - 为什么这个 MSBuild 脚本没有按照我期望的方式设置属性?

转载 作者:行者123 更新时间:2023-12-04 17:41:51 24 4
gpt4 key购买 nike

我正在尝试为 MSBuild 属性设置默认值。说我从这个开始:

<Choose>
<When Condition="..something..">
<PropertyGroup>
...
<MySetting>true</MySetting>
<PropertyGroup>
</When>
...
</Choose>

如果条件不为真,则 MySetting 将为 ''。那么这不应该将其设置为 false 吗?
<PropertyGroup>
<MySetting Condition="'$(MySetting)'==''">false</MySetting>
</PropertyGroup>

稍后,我想在条件中使用 MySetting 而不必测试 =='true',如下所示:
<PropertyGroup Condition="$(MySetting)">
...
</PropertyGroup>

然而,当我将此项目加载到 Visual Studio 时,它提示指定的条件“$(MySetting)”的计算结果为“”而不是 bool 值。

因此,我检查 '' 以将属性分配给 false 的条件似乎不正确。我究竟做错了什么?

最佳答案

在 MSBuild 中,您正在处理字符串,因此您会得到 ''而不是 false ...如果你想把它默认为 'false'并通过命令行覆盖,只需在脚本中现有条件块上方声明一个属性组:

<PropertyGroup>
<MySetting>false</MySetting>
</PropertyGroup>

下面的条件块可以将其设置为 true,或者您也可以通过命令行设置它,如下所示:
MSBuild.exe MyMSBuildFile.csproj /p:MySetting=true

关于msbuild - 为什么这个 MSBuild 脚本没有按照我期望的方式设置属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2136635/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com