Build 使用NANT XmlPoke更改Wix产品版本号

Build 使用NANT XmlPoke更改Wix产品版本号,build,wix,nant,wix3.9,Build,Wix,Nant,Wix3.9,我最近遇到了这个问题-当我尝试使用任务替换Wix产品版本号时,它返回以下错误消息“找不到匹配的节点” 起初我认为这是我编写的XPATH语句的一个问题。因此,我一直尝试使用不同的XPATH(如\Wix),并不断收到相同的消息 从博客中了解到,这是由于WiX元素的名称空间定义造成的。请在下面找到解决方案,以防有人找不到博客 发生此问题是因为Wix元素中的名称空间定义。您必须添加以下更改才能使XMLPOKE正常工作: <xmlpoke file="..\Setup\abc.wxs" xpat

我最近遇到了这个问题-当我尝试使用任务替换Wix产品版本号时,它返回以下错误消息“找不到匹配的节点”


起初我认为这是我编写的XPATH语句的一个问题。因此,我一直尝试使用不同的XPATH(如\Wix),并不断收到相同的消息


从博客中了解到,这是由于WiX元素的名称空间定义造成的。请在下面找到解决方案,以防有人找不到博客

发生此问题是因为Wix元素中的名称空间定义。您必须添加以下更改才能使XMLPOKE正常工作:

<xmlpoke file="..\Setup\abc.wxs" xpath="//wx:Wix/wx:Product/@Version" value="${version.label}" >
      <namespaces>
        <namespace prefix="wx" uri="http://schemas.microsoft.com/wix/2006/wi" />
      </namespaces>
    </xmlpoke>

参考:

<xmlpoke file="..\Setup\abc.wxs" xpath="//wx:Wix/wx:Product/@Version" value="${version.label}" >
      <namespaces>
        <namespace prefix="wx" uri="http://schemas.microsoft.com/wix/2006/wi" />
      </namespaces>
    </xmlpoke>