1

作为我的 TFS 团队构建设置的一部分,我们构建了一个 VB6/ActiveX 库,供我们的 C# 主应用程序使用。直到最近,我才从构建服务器上获取 VbLib 的副本,使用 TlbImp 为 Vb6lib 生成互操作并在我的解决方案中引用该互操作(互操作已提交给 TFS)。我们使用 WiX 部署应用程序,直到最近它都运行良好。但是现在在部署时,我们的应用程序并没有通过互操作识别 VB6 库,只有当我们将我们的解决方案直接链接到 Vb6Lib(即没有互操作)时才有效,这很痛苦,因为它正在不断开发,因此 VB6lib 的 guid 继续更改迫使其他开发人员重新链接。

那么...我的互操作出了什么问题?

我正在手动生成和检查互操作,我真的想将其作为构建过程的一部分自动化,有什么想法吗?这是好习惯吗?

4

1 回答 1

0

为了纠正我们在 vbp 中打开了二进制兼容性(因此 lib 的 guid 在重新编译时不会改变),我们现在直接引用 vb 库(从而让 VS 生成它自己的互操作)。似乎团队中的某个人在某个时候提交了具有二进制兼容性的 vbp,但 AFAICT 版本控制历史并没有证实这一点,所以我们并不知道它之前是如何工作的,但后来停止了。

于 2012-11-20T13:54:24.283 回答