错误本地化变量 !(loc.EMRDataServiceDescription) 未知。请确保变量已定义

Error The localization variable !(loc.EMRDataServiceDescription) is unknown. Please ensure the variable is defined

当我从 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 Build

我在下面代码片段中的“ServiceInstall”元素中使用了“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 文件 单击属性。 在“构建操作”下: 将“嵌入式资源”更改为“None”

我是不是遗漏了什么或者错误是由于我所做的设置造成的?

问题场景:有点不清楚到底发生了什么,但我认为你必须:

  • 1) 要么有另一种语言的本地化文件而不是 English 缺少您的标识符参考:"APCDataServiceDescription" 并且您没有将其排除在构建之外,或者
  • 2) 您已将 "None" 的英语本地化文件设置为 "Build Action".

可能的解决方案:首先将English位置文件设置为"EmbeddedResource" 对于 "Build Action" 如果这还不是当前设置。接下来,您可以 select 通过在 Visual Studio 的解决方案资源管理器窗格中右键单击您的 WiX 项目来构建什么文化,然后您转到 Properties"Build" 选项卡。现在将 "Cultures to build" 字段设置为 "en-US" 以便仅构建 English (或将其设置为主要 WiX 项目文件的文化值 - 可以是任何文化):

现在尝试构建并查看英文版本是否正确编译。