Vb.net COM错误Visual Studio 2010

Vb.net COM错误Visual Studio 2010,vb.net,com-interop,autocad,Vb.net,Com Interop,Autocad,最近,我一直在使用外部.exe与AutoCAD进行通信。由于它是一个outside.EXE,我必须与COM一起工作才能得到我想要的。(否则我本可以使用.NETAPI,它(在我看来)要好得多) 在任何情况下,我都会不断收到COM互操作错误(调用被被叫方拒绝了),我在处理它时遇到了很多麻烦。我可以使用计时器,但有时它会等待过度,或在等待特定情况下。此外,如果我不得不使用速度较慢的计算机,这不是最好的解决方案。Microsoft的解决方案: 将以下类添加到应用程序中 添加对“Microsoft开发环境

最近,我一直在使用外部.exe与AutoCAD进行通信。由于它是一个outside.EXE,我必须与COM一起工作才能得到我想要的。(否则我本可以使用.NETAPI,它(在我看来)要好得多)

在任何情况下,我都会不断收到COM互操作错误(调用被被叫方拒绝了),我在处理它时遇到了很多麻烦。我可以使用计时器,但有时它会等待过度,或在等待特定情况下。此外,如果我不得不使用速度较慢的计算机,这不是最好的解决方案。

Microsoft的解决方案:

  • 将以下类添加到应用程序中
  • 添加对“Microsoft开发环境8.0”的引用。此 将对EnvDTE和EnvDTE80的引用添加到解决方案中

    添加对System.Windows.Forms的引用

  • 在代码中,创建EnvDTE80的实例,如 下面的例子
  • 调用消息。注册以处理线程错误
  • 像往常一样调用您的自动化代码
  • 自动代码完成后,请调用Message.Revoke以删除 线程错误处理程序
  • 导入

    为了使用错误管理代码(添加类后),我们需要添加一个导入,例如:

    Imports WindowsApplication1.ConsoleApplication2