我正在尝试让 TFS 团队构建可靠地构建 WPF C# 应用程序。这个应用程序依赖于我们维护的 VB6Lib.dll,这个 VB6Lib.dll 本身依赖于我们也维护的其他 C# 库。
我已经建立了一个构建定义来构建(按顺序):
- VbDependencies.sln(这里的所有库都有 com 互操作集,因此 VB6 可以找到它们的 TLB)
- buildVB6Lib.proj(一个调用“VB6.exe /make /d”以在构建服务器上生成 VBLib.dll 的 msbuild 文件,作为此脚本的一部分,我一直在将 VB6Lib.dll 输出复制到 C:\tmp)
- MainApp.sln(在我的工作区中,我添加了对 C:\tmp\VB6Lib.dll 的引用)
这听起来好吗?在我的开发笔记本电脑上,我通常构建 VB6,将其输出复制到 \tmp,然后将其 regsvr32 复制到那里,然后在我的 C# 解决方案中添加对它的引用。我不相信我的构建定义正在执行这一步。
另外,有没有办法从 VB6 构建中获得更有用的输出,目前我得到“文件 'xxx.bas' 中的编译错误无法找到库项目”,但不是它找不到哪个实际库。