编译依赖于ActiveX而不注册它的C#WinForm

时间:2017-09-16 00:41:18

标签: c# windows winforms jenkins activex

我有一个使用OCX的遗留项目。我必须使用regsvr32在我的系统上注册所说的OCX。

现在,我想让Jenkins编译项目。不幸的是,在Jenkins服务器中没有OCX,我不想注册它。

有没有办法分发OCX,以便项目可以在Jenkins上编译?我读到了无注册组件,但似乎是针对运行时的重新定义,我的问题是在编译时。

1 个答案:

答案 0 :(得分:1)

是的 - 这样做的方法就像Reza Aghaei所说的那样。

调用tlbimp生成互操作程序集(它不必是主互操作程序集)。然后,不是引用项目中的ocx,而是引用interop dll。

请注意,如果要运行项目或使用winforms设计器中的控件,您仍需要注册ocx。从Jenkins构建构建,这将很好,我们使用这种技术来构建我们的遗留代码。