我必须在WinForms应用程序中使用第三方ActiveX控件。问题是计算机,我的应用程序将运行,可能有任何版本的控件。第一个有IControl1接口,库的连续版本有IControl2,IControl3等,直到IControl6接口。
我遇到的问题是,如果我在Visual Studio中使用最新版本的控件并将其放在表单上,Visual Studio会为所有类生成完整的类信息,但是,如果计算机有一个旧版本的控件然后我的应用程序抛出运行时异常。另一方面,如果我在Visual Studio中添加最早的版本,那么它一直有效,但是,它不会为更高版本生成界面信息。在某些情况下需要哪些。
如果计算机只有第一个版本,如何为最新版本生成界面信息(typelibrary),同时仍能使程序正常工作?我不想为每个版本生成一个类型库,因为这会增加应用程序的大小并产生太多的复杂性。