Interop Forms Toolkit DLL 和“类不支持自动化或不支持预期的接口”错误

发布于 2024-09-06 20:31:55 字数 411 浏览 4 评论 0原文

我有一个 .NET WinForms 应用程序,已使用 Interop Forms Toolkit 2.1 将其转换为 COM dll。应用程序的安装项目将我的 tlb 和 Microsoft.InteropFormTools.tlb 文件设置为“注册为 vsdrpCOM”。该项目的先决条件是确保安装 Windows Installer 3.1、.NET Framework 3.5 SP1 和 Microsoft Interop Forms Redistributable Package 2.0a。

当我在安装了 Visual Studio 2010 和 Visual Studio 6 的 Windows XP 机器上本地运行此程序时,它工作正常。但是,在这台 Windows XP 计算机上,我收到一条错误消息:“类不支持自动化或不支持预期的接口。”

有什么想法吗?

I have a .NET WinForms application that I've converted into a COM dll using the Interop Forms Toolkit 2.1. Thet setup project for the application has both my tlb as well as the Microsoft.InteropFormTools.tlb file set to Register as vsdrpCOM. The prerequisites for the project are to ensure that Windows Installer 3.1, .NET Framework 3.5 SP1, and the Microsoft Interop Forms Redistributable Package 2.0a is installed.

When I run this locally on a Windows XP box with both Visual Studio 2010 and Visual Studio 6 installed, it works fine. However, on this Windows XP machine, I receive an error stating: "Class does not support Automation or does not support expected interface."

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

蓬勃野心 2024-09-13 20:31:55

我得到了它。对于遇到同样问题的人,请执行以下操作:

  1. 进入 Visual Studio 2005、2008 或 2010(我使用的是 2010)并构建您的互操作表单。
  2. 然后,进入 Visual Basic 6。如果尚未引用您的库,请引用
    图书馆。
  3. 构建 VB6 可执行文件。
  4. 返回 Visual Studio(.NET 版本)并仅构建您的安装程序。这样安装程序和 VB6 都具有相同的 .tlb 文件,

您就可以开始了。感谢克里斯的建议!

I got it. For those of you that are running into the same, do the following:

  1. Go into Visual Studio 2005, 2008, or 2010 (I used 2010) and build your Interop Form.
  2. Then, go into Visual Basic 6. If your library is not already referrenced, reference the
    library.
  3. Build your VB6 executable.
  4. Go back into Visual Studio (.NET version) and build only your installer. This way the installer and VB6 both have the same .tlb file

You're good to go. Thanks for the suggestion Kris!

夏至、离别 2024-09-13 20:31:55

您有 RegAsm 程序集(请参阅< a href="https://stackoverflow.com/questions/973939/how-to-run-regasm-exe-from-command-line-other-than-visual-studio-command-prompt">stackoverflow 了解更多) 在要安装应用程序的计算机上。该程序集还应位于 VB6 应用程序运行的目录中,或安装在 GAC

You have RegAsm the assembly (see stackoverflow for more) on the machine you want to install the application on. The assembly should also be in the directory where the VB6 application runs, or installed in the GAC.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文