我正在尝试将一组项目从 VB6 升级到 VB.NET 2.0。该项目包括一组库代码和应用程序代码。在升级之前,我的 VB6 应用程序代码将使用带有 ProgID 的标准机制 CreateObject() 加载我的库代码。
我有大约 8 个不同的库程序集,它们都有强名称,使用相同的 .NET 版本 (2.0),编译时兼容 x86,并且在 GAC 中。当我尝试使用 CreateObject 和 ProgID 加载我的库时,我收到 ActiveX 错误。我已经用 ADODB ("ADODB.Command") 进行了测试,它成功地抓取了 COM 对象。我不确定我做错了什么。
我也很困惑是否应该为库类使用 System.Runtime.Interop 类属性,或者是否应该将它们配置为 ComClass 实现。我也不确定是否需要在 AssemblyInfo.vb 文件中使用这些相同的属性。
我注意到的另一个区别是升级后的 vb 项目的 AssemblyInfo.vb 位于根目录中,而不是当我创建一个新项目并且它位于“MyProject”下时,这可能无关紧要,但我想提供我的所有信息能够。任何可以提供的帮助都会很棒。
谢谢!