WiX& MSBuild:App.Config中无法识别的属性

时间:2011-10-11 13:44:11

标签: c# msbuild attributes wix app-config

我一直在撞这个人两天......

我有一个由我的Team Foundation Server上的MSBuild构建的WiX项目。我有一个构建定义,并且所有工作都运行了大约两周。然后我在WiX正在打包的项目的app.config中的自定义部分添加了一个额外的属性...

当我在本地构建时,WiX生成的MSI安装完美 - 没有错误。当我使用构建定义在TFS上构建然后在本地复制MSI以测试安装时,我得到“无法识别的属性CustomAttribute。请注意,属性名称区分大小写。”安装失败之前事件查看器中的错误。

我故意挂起安装,所以我可以在安装目录中看到这些文件,然后查看app.config。 CustomAttribute在我的自定义部分中定义了一个值。然后我使用dotPeek并查看可执行文件,我的ConfigurationSection类中的属性使用正确的ConfigurationPropertyAttribute进行修饰,拼写正确。该属性返回此[CustomAttribute]。ToString(),如预期的那样。

那我错过了什么?任何线索都会受到赞赏。

编辑(附加信息) 似乎MSBuild正在抓取自定义部分源文件的错误版本。我将源文件设置为复制到输出目录,这样我就可以看到它正在使用哪个,并在构建期间标记了文件,这两个文件都显示正确的文件。但是,在应用程序中,使用了错误的文件。所以我倾向于项目问题而不是WiX或TFS问题,但我们三个人在解决这个问题时无法解决这个问题......

1 个答案:

答案 0 :(得分:0)

从您的问题中不清楚安装程序使用app.config文件做了什么。除非安装程序以某种方式读取文件,否则我不会认为它的内容是什么意思?

我无法就您的问题提供任何具体的建议(如果它仍然未完成,被问到几个月后),但我可以建议使用Orca来读取MSI表,使用7zip来提取MSI中的文件。通过检查Orca中的MSI,我得到了许多MSI问题的答案。