互操作到VB6 / ActiveX lib最近停止了在WiX部署中的工作

时间:2012-11-09 18:29:50

标签: c# interop wix activex team-build

作为我的TFS teambuild设置的一部分,我们构建了一个VB6 / ActiveX库,它由我们的C#主应用程序使用。直到最近,我才从构建服务器上获取VbLib的副本,使用TlbImp为Vb6lib生成互操作并在我的解决方案中引用该互操作(interop被提交到TFS)。我们使用WiX部署该应用程序,直到最近它一切正常。然而现在部署我们的应用程序还没有通过互操作识别VB6 lib,只有当我们将我们的解决方案直接链接到Vb6Lib(即没有互操作)时才有效,这是一个痛苦,因为它在不断的开发中因此VB6lib的guid继续改变迫使其他开发者重新连接。

那么......我的互操作出了什么问题?有什么线索吗?

我手动生成并检查互操作,我想将其作为构建过程的一部分实现自动化,任何想法?这是一个好习惯吗?

1 个答案:

答案 0 :(得分:0)

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