如何在 xml 格式的 resx 文件中添加条件编译?

Posted

技术标签:

【中文标题】如何在 xml 格式的 resx 文件中添加条件编译?【英文标题】:How to add conditional compilation in resx file in xml format? 【发布时间】:2012-11-10 03:08:42 【问题描述】:

NET 项目中,我需要根据某些编译符号在资源文件(它是一个 xml 文件)中添加内容。

类似于以下内容:

<xml ....>
<myNodes>

#if SOMECONDITION
<node1>
...
</node1>

#else
<node2>
...
</node2>

#endif
</myNodes>

这甚至可能吗?我知道这不符合 XML 规则。是否有类似的方法可以使用条件编译但仍遵守 XML 规则?

【问题讨论】:

【参考方案1】:

我不能 100% 确定这可以解决您的问题,但您可以尝试条件构造。 xml中没有这样的条件编译。

 <rule>
    <if>
         <condition var="''$(Configuration)'" operator="=;">Debug</condition>
            <!-- more conditions possible -->
        </conditions>
        <statements>
            <!-- put your tage here -->
            <node1> ... </node1>
        </statements>
    </if>
    <else>
        <node2>
        ...
        </node2>
    </else>
</rule>

【讨论】:

以上是关于如何在 xml 格式的 resx 文件中添加条件编译?的主要内容,如果未能解决你的问题,请参考以下文章

如何对 . .NET 中的 resx(资源文件)

Resx 文件无效。未能加载 .RESX 文件中使用的类型 System.Collections.Generic.List`1请确保已在项目中添加了必需的引用。

防止资源 [.resx] 文件预编译。 .NET 核心 2.0

为啥仅在更改表单大小和添加不是资源的按钮时添加资源 (.resx) 文件

WINFORM 如何利用代码动态把资源加入到resources.resx

从 XAML 中的 *.resx 文件中获取值