gpt4 book ai didi

Wix 条件和预处理器变量

转载 作者:行者123 更新时间:2023-12-02 10:56:32 29 4
gpt4 key购买 nike

我想根据是否定义了值来更改 Wix 变量的值。在我的 wixproj 中,我有:

  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'TFS Live|x86' ">
<OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath>
<IntermediateOutputPath>obj\$(Platform)\$(Configuration)\</IntermediateOutputPath>
<WixVariables>LIVE</WixVariables>
<DefineConstants>LIVE</DefineConstants>
</PropertyGroup>

...在我的 wxs 中我有:

<?ifdef LIVE ?>
<?define binaryPath = "C:\Builds\5\IT Aerodynamics\RBT.TestSpec.LiveRelease\Binaries" ?>
<?else?>
<?define binaryPath = "C:\Builds\5\IT Aerodynamics\RBT.TestSpec.CI\Binaries" ?>
<?endif?>

...但是当我构建适当的配置时,ifdef 永远不会触发。我总是得到 binaryPath 的第二个值。关于我做错了什么有什么建议吗?

最佳答案

该代码对我有用。要检查的一件事是您稍后在 .wixproj 中是否有另一个看起来不像的 DefineConstants MSBuild 属性:

<DefineConstants>$(DefineConstants);OtherVars=Value</DefineConstants>

默认的 .wixproj 模板创建项目,其中 Debug 预处理器变量的定义如下:

<DefineConstants>Debug</DefineConstants>

这将覆盖项目中更高版本定义的用于调试版本的DefineConstants。否则,一切看起来都很好。

关于Wix 条件和预处理器变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15761514/

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