tfs - 将来自另一个解决方案的 wixlibs 与 TFS 构建一起使用

标签 tfs wix wixlib

我们有引用 wixlib 文件的安装程序来获得一些常用功能。 wixlib 在另一个解决方案中构建,然后移动到该解决方案中的文件夹。当我们尝试使用 TFS 构建构建安装程序时,我们从 light.exe 收到错误:

light.exe:系统找不到类型为“Source”的文件“..\..\..\Core\Common\assemblies\v1.0\Common.Wix.wixlib”。

我们的常规项目可以引用\assembiles\v1.0,因为我们在那里存储了一些其他常用程序集。我们如何让 WiX 在构建期间识别此位置?

最佳答案

您正在直接引用 wixlib。因此,据我了解 TFS 构建过程,它应该添加到您的解决方案的 TFS 项目中。 TFS 项目不应依赖于另一个非依赖解决方案的输出。这至少是不好的做法。在任何情况下,您都不能保证在您的项目在服务器上构建之前生成此输出。

据我所知,TFS 构建会为每个构建创建单独的文件夹并在其中获取源代码。因此,您的解决方案不再位于同一文件夹层次结构级别。

还有一点支持将 wixlib 显式复制到您的安装程序项目中:版本控制——在这种情况下,公共(public)库中出现的任何错误都不会立即破坏所有引用它的项目。并且您可以逐步升级和测试每个项目。您能想象在每次构建时自动下载任何第 3 方 dll 的新版本吗?该 dll 中的任何更改都会立即破坏您的应用程序,即使更改对您来说并不重要。

关于tfs - 将来自另一个解决方案的 wixlibs 与 TFS 构建一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13387066/

相关文章:

visual-studio-2010 - 使用 VS 2010 和 TFS 自动搁置更改

tfs - 拉取请求上的 "Save all comments"按钮

asp.net - 使用 TFS 进行 MSBuild 在使用多个项目进行 ASP.NET 部署时失败

visual-studio - check out TFS 时的 .partial 文件

c++ - 自定义 "base"项目的事件检测 list 以满足 "derived"项目的需要

WIX 在自定义操作中编辑二进制文件

Wix 将项目加载到 ComboBox

installation - Wix-Installer-如何获取 setup.exe 的当前目录?

c++ - WiX Bootstrapper - 难以检测软件是否已安装 C++ 可再发行组件、SQL Server Compact 3.5 SP2