我有一个 Windows 窗体应用程序,它基本上是一个 PDF 查看器。我在这个项目中使用了 Adobe PDF Viewer COM 组件。
该程序可以运行,但是在打开 pdf 文件后单击表单右上角的关闭按钮时出现问题。当我单击关闭按钮时,VS 不会退出“运行”模式,我必须手动单击 VS 上的“停止”按钮。当我按下停止按钮时,会弹出一个窗口,显示“vshost32 已停止工作”。
但是,当我运行应用程序并在不打开 pdf 文件的情况下关闭它时,不会发生这种情况。
知道为什么会这样吗?
我有一个 Windows 窗体应用程序,它基本上是一个 PDF 查看器。我在这个项目中使用了 Adobe PDF Viewer COM 组件。
该程序可以运行,但是在打开 pdf 文件后单击表单右上角的关闭按钮时出现问题。当我单击关闭按钮时,VS 不会退出“运行”模式,我必须手动单击 VS 上的“停止”按钮。当我按下停止按钮时,会弹出一个窗口,显示“vshost32 已停止工作”。
但是,当我运行应用程序并在不打开 pdf 文件的情况下关闭它时,不会发生这种情况。
知道为什么会这样吗?
您可能已使用 Marshal 手动释放 COM 对象。请参阅此链接:http: //msdn.microsoft.com/en-us/library/system.runtime.interopservices.marshal.releasecomobject.aspx
vshost32.exe 与窗口窗体中的设计器模拟任务有关,因此请尝试创建一个新项目,然后从旧项目中引入您的类。