错误 本地化变量 !(loc.EMRDataServiceDescription) 未知。请确保变量已定义
Posted
技术标签:
【中文标题】错误 本地化变量 !(loc.EMRDataServiceDescription) 未知。请确保变量已定义【英文标题】:Error The localization variable !(loc.EMRDataServiceDescription) is unknown. Please ensure the variable is defined 【发布时间】:2018-09-26 10:52:25 【问题描述】:当我从 Visual Studio (Votive) 构建我的 WIX 项目时,我收到以下错误:
严重性代码描述项目路径文件行列源抑制状态 错误 本地化变量 !(loc.EMRDataServiceDescription) 未知。请确保已定义变量。 EMR4.0.1 E:\Code\EMR\EMR4\EMR4.0.1\EMR4.0.1 E:\Code\EMR\EMR4\EMR4.0.1\EMR4.0.1\EMR_WiX_Installer_EN.wxs 76 1 构建
我在“ServiceInstall”元素的以下代码 sn-p 中使用“EMRDataServiceDescription”。
EMR_WiX_Installer_EN.wxs 文件
<Component Id="DataServiceExeComponent" Guid="6F0AFA7E-77EA-11E0-A3DF-5DD64824019B" >
<Condition><![CDATA[REINSTALLMODE<>"ecmus"]]></Condition>
<File Id="EXECUTABLE2" Name="dataserv.exe" Source="$(var.DataServiceFile)" DiskId="1" KeyPath="yes" DefaultSize="7121522" DefaultVersion="4.3.0.0.1170.S" />
**<ServiceInstall Id="InstallEMRDataService" Name="EMR Data Service" DisplayName="EMR Data Service" Type="ownProcess" Start="auto" ErrorControl="normal" Description="!(loc.EMRataServiceDescription)">**
<ServiceDependency Id="EMR UPS Service"/>
</ServiceInstall>
这是在 WixUI_en-us.wxl 文件中声明的,如下所示:
<String Id="EMRDataServiceDescription" Overridable="yes">Service for managing data operations.</String>
命名空间如下图所示:
<WixLocalization Culture="en-us" xmlns="http://wixtoolset.org/schemas/v4/wxl" Codepage="1252">
在此错误之前,我通过使用“构建操作”中的设置修复了以下错误。
错误本地化标识符“EMRDataServiceDescription”已在多个位置重复。请解决冲突。 EMR4.0.1 light.exe 0 1 编译
以下是我做的设置:
右键单击 .wxl 文件 点击属性。 在“构建操作”下: 将“EmbeddedResource”更改为“None”
我是否遗漏了什么或错误是由于我所做的设置?
【问题讨论】:
请提供您对此的看法。 【参考方案1】:问题场景:有点不清楚到底发生了什么,但我认为你必须:
1)
或者有一个不是 English
的其他语言的本地化文件,它缺少您引用的标识符:"APCDataServiceDescription"
,而您尚未将其从构建中排除,或
2)
您已将"Build Action"
的英文本地化文件设置为"None"
。
可能的解决方案:首先将 English
位置文件设置为 "EmbeddedResource"
>"Build Action"
如果这还不是当前设置。接下来,您可以通过在 Visual Studio 的解决方案资源管理器窗格中右键单击您的 WiX 项目来选择要构建的文化,然后转到 Properties
并转到 "Build"
选项卡.现在将 "Cultures to build"
字段设置为 "en-US"
以便仅构建 English
(或将其设置为您的文化值主 WiX 项目文件 - 可以是任何文化):
现在尝试构建,看看英文版是否正确编译。
【讨论】:
我相信您的一个本地化文件中存在错误,导致此错误消息。这可能很简单,例如拼写错误 ID4TEST 变成 IE4TEST - 类似的东西很难看到。我会尝试按顺序构建每种文化,以缩小哪个文件有问题的范围。你建立了多少种文化? 是的,我相信是这样 - 除非我可能不知道任何其他本地化问题。以上是关于错误 本地化变量 !(loc.EMRDataServiceDescription) 未知。请确保变量已定义的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Python 会在 Pygame 中为“事件”变量抛出未绑定的本地错误? [关闭]
无法连接到本地 PHP 站点(未定义索引和未定义变量错误)[重复]