2

我编写了一个快速的 WiX 预处理器扩展,以从我们保存在根文件夹中的文件中获取一些产品版本信息。

我想将此扩展保留在与我们的 WiX 设置项目相同的解决方案中,因为它更易于维护。但问题是,在测试时,我们使用Debug配置,而在发布构建时,我们切换到Release. 这意味着我有两个扩展要处理。

我将如何告诉 WiX 根据当前配置获取一个?

我一直在查看 WiX 项目属性中的引用路径,并添加了“..\MyWiXExtensions\bin\$(Configuration)\”作为文件夹,希望它能够获取 MSBuild 属性,但事实并非如此似乎工作。

我还查看了构建事件。我可以将输出 dll 复制到我的设置项目的文件夹中,但是如果我清理我的解决方案,这不会破坏引用吗?

我正在使用 WiX 3.7 和 Visual Studio 2012。

4

1 回答 1

1

我最终在我的扩展上使用了一个构建后事件,它将输出复制到我的 wixproj 的文件夹中。

我只需要与解决方案的其余部分分开构建我的 wixproj,以防止在覆盖 dll 时出现文件锁定问题。如果确实出现文件锁定,我只需要关闭 VS 并重新打开解决方案。

作为旁注,引用项目本身而不是 dll 可能是 Votive 中的一个不错的功能。

于 2013-04-21T20:24:17.210 回答