从2.0版迁移到4.0后,从命令行为WIx安装程序运行以下命令
E:\Code\PCPE\builder>ant -v -f Build.xml -Dlabel =.001 install
我收到以下错误:
error CNDL0004: The file element contains an unexpected attribute "src"
我在第4行的EMR_COMMON.wxs文件中看到错误。
我认为“src”属性已被弃用,应该用其他属性替换。
但在这里我不能直接替换"src"
文件中的EMR_COMMON.wxs
属性bcz它是从"Build.xml"
生成的。
那么我需要在"Build.xml"
文件中更改哪些属性以获取"src"
文件中"EMR_COMMON.wxs"
的适当属性?
我解决了这个问题。我编写了下面的C#代码,用“Source”属性替换“src”属性名。为此,首先得到“文件”节点列表,获取文件节点的计数,然后使用XmlNodeList fileNodeList = compElement.GetElementsByTagName(“File”); XmlElement fileElement =(XmlElement)fileNodeList [i]; String srcString = fileElement.GetAttribute(“src”); fileElement.SetAttribute(“Source”,srcString); fileElement.RemoveAttribute( “SRC”);
这个C#代码是在“SchemaChange”项目中编写的。一旦我构建了这个项目,我就在Build.xml中使用这个exec,如下所示:exec executable =“$ {workingdir} \ SchemaChange \ bin \ release \ SchemaChange.exe”failonerror =“true”>