Wix工具集3.11.2-本地化标识符';xx和x27;已在多个位置复制。请解决冲突

Wix工具集3.11.2-本地化标识符';xx和x27;已在多个位置复制。请解决冲突,wix,windows-installer,wix3,Wix,Windows Installer,Wix3,这是我第一个使用Wix工具集和VisualStdio的项目——我不把简单的turtorial和“HelloWorld”应用程序计算在内 在我当前的项目中,我只有一个本地化文件,名为common.wxl: <?xml version="1.0" encoding="utf-8"?> <WixLocalization Culture="en-us" xmlns="http://schemas.microsoft.

这是我第一个使用Wix工具集和VisualStdio的项目——我不把简单的turtorial和“HelloWorld”应用程序计算在内

在我当前的项目中,我只有一个本地化文件,名为common.wxl:

<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="en-us" xmlns="http://schemas.microsoft.com/wix/2006/localization">

  <String Id="Company">TestCompany</String>

  <String Id="ProductNameFolder">TestApp/[Buildversion]</String>

  <String Id="ProductName_x86">TestApp</String>
  <String Id="ProductName_x64">TestApp</String>

  <String Id="Description">Test Description​</String>
  <String Id="Comments">Designed by TestCompany</String>
  <String Id="Keywords">application, installer</String>

  <String Id="DowngradeErrorMessage">A newer version of [ProductName] is already installed.</String>

  <String Id="Language">1033</String>
</WixLocalization>

测试公司
TestApp/[Buildversion]
特斯塔普
特斯塔普
测试描述​
由TestCompany设计
应用程序、安装程序
已安装较新版本的[ProductName]。
1033
就这样,文件里没有其他东西了。此外,没有任何其他本地化文件。尽管如此,当我试图构建te WIX项目时,我还是遇到了9个关于重复标识符的错误:

本地化标识符“xx”已在多个位置重复。请解决冲突

my
common.wxl中的每个ID都有一个错误。但是我没有任何其他的本地化文件,那么这些标识符如何被复制呢

我已经努力解决了好几个小时了。。。有人知道吗

我正在使用WiX工具集3.11.2和WiX工具集Visual Studio 2019扩展。

WiX本地化:请尝试此WiX本地化示例:

<强>实用建议< /强>:如果此示例项目为您工作,请考虑创建一个新的WIX项目,并在一个时间内迁移一个构造,同时不断地检查生成。可能包含导致此类复制错误的不必要文件。也许还可以尝试更改

字符串Id
字段-例如,从
说明
更改为
我的说明
。只是为了测试一下


您使用
“!(loc.StringID)”格式引用本地化文件中的标识符。这将在构建MSI时用实际字符串扩展这些占位符值。以下是一个压缩示例:

在您的
项目.wxs
文件中:

<Product Id="*" Name="WixLocalizationSample" Language="1033" Version="1.0.0.0"
         Manufacturer="!(loc.Company)" UpgradeCode="PUT-GUID-HERE"   >

  <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine"
           Comments="!(loc.Comments)" Keywords="!(loc.Keywords)"
           Description="!(loc.Description)" />
如果需要转义XML分隔符,请使用CDATA。

WiX本地化:请尝试此WiX本地化示例:

<强>实用建议< /强>:如果此示例项目为您工作,请考虑创建一个新的WIX项目,并在一个时间内迁移一个构造,同时不断地检查生成。可能包含导致此类复制错误的不必要文件。也许还可以尝试更改

字符串Id
字段-例如,从
说明
更改为
我的说明
。只是为了测试一下


您使用
“!(loc.StringID)”格式引用本地化文件中的标识符。这将在构建MSI时用实际字符串扩展这些占位符值。以下是一个压缩示例:

在您的
项目.wxs
文件中:

<Product Id="*" Name="WixLocalizationSample" Language="1033" Version="1.0.0.0"
         Manufacturer="!(loc.Company)" UpgradeCode="PUT-GUID-HERE"   >

  <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine"
           Comments="!(loc.Comments)" Keywords="!(loc.Keywords)"
           Description="!(loc.Description)" />

如果需要转义XML分隔符,请使用CDATA

项目中是否有扩展名为*.wxl的额外文件?尝试下载下面的示例,然后通过一次注入一个字符串进行测试。您好!我只有一个xml文件。为了清楚起见,我刚刚将其重命名为English.xml。而且我仍然会收到关于重复ID的错误。我还发现了一些非常奇怪的事情——请查看我在Stein Asmul Response下的评论。您的项目中有没有扩展名为*.wxl的额外文件?尝试下载下面的示例,然后通过一次注入一个字符串进行测试。您好!我只有一个xml文件。为了清楚起见,我刚刚将其重命名为English.xml。而且我仍然会收到关于重复ID的错误。我还发现了一些非常奇怪的事情——请检查我在Stein Asmul Response下的评论。谢谢你的评论。我已经检查了本地化示例,我的代码看起来是一样的。在我看来,这里的问题是本地化文件,但我找不到确切的错误。正如我提到的,我只有一个文件——为了清楚起见,我现在将其重命名为English.wxl。实际上,我做了一些测试——我将xml文件的“构建操作”从“embeddedResource”更改为“none”。而且。。。错误消失了!即使现在项目中没有任何“已编译”或“嵌入”的xml,WIX也不要抱怨缺少!(loc.xx)数据。是否有可能我的项目中有其他隐藏的xml文件?您能编译我上面链接的项目吗?试试看。您可能在项目中包含了太多的引用(项目引用),或者将WiX的一些内置本地化文件复制到了项目文件夹中?你在github.com上有你的项目吗?我相信这有点小。是的,我可以编译这个示例项目。而且你的问题是对的。斯坦,我从其他项目复制了部分代码,这很可能就是原因。在“已卸载”项目中,特别是在配置中搞砸可能会产生不好的结果。我就是一个很好的例子。最后,我删除了有问题的WIX项目,创建了一个新项目,并一步一步地小心地配置它。到目前为止,本地化(与以前相同的文件)工作得非常好。没有任何重复ID的消息!谢谢你的帮助!好的,太好了。我的建议是让自己检查一下源代码管理,或者制作一个工作版本的压缩包。像我认识的一个硬件老手那样做:在zip备份上用W标记为“工作”(那些卡通过了冒烟测试:插入并观察冒烟)。玩得开心:-)。我已经修改了上面的答案,并在顶部部分推荐了一个新项目和迁移结构。感谢您的评论。我已经检查了本地化示例,我的代码看起来是一样的。在我看来,这里的问题是本地化文件,但我找不到确切的错误。正如我提到的,我只有一个文件——为了清楚起见,我现在将其重命名为English.wxl。事实上我做了一些测试