VB 调用的 object 已与其客户端断开连接

VB The object invoked has disconnected from its clients

我有一个控制台应用程序可以与 Internet Explorer 交互以执行一些操作。

基本上,应用程序在 VS 2015 专业版 debug/release 模式下运行完全正常。

一旦以调试或发布模式作为 exe 发布,我就会收到您在 post 标题中看到的错误。

有人遇到过这种情况吗?

在此先感谢您。

enter image description here

我还想补充一点,当程序在发布后首次启动时它可以工作,它使用我在另一个项目中创建的 class 库中的 .dll 它让 Internet Explorer 使其可见然后失败.

  Public Shared Function func_getIe(strIntialUrl As String) As InternetExplorer

    Dim ie As InternetExplorer

    ie = New InternetExplorer
    ie.Visible = True
    ie.Navigate(strIntialUrl)
    While ie.ReadyState <> 4
    End While
    Return ie
End Function

这是 .dll 一部分的代码,除了 Main() 开头的一些变量声明之外,几乎是第一件事。

嘿伙计们找到了一个很好的答案here:

如果 link 死了,这是他们说要做的事情:

System.Runtime.InteropServices.COMException : “The object invoked has disconnected from its clients. (Exception from HRESULT: 0x80010108 (RPC_E_DISCONNECTED))"

堆栈跟踪:

在 SHDocVw.InternetExplorerClass.set_Visible(布尔 pBool)

at ProtectedModePOC.Form1.button1_Click(Object sender, EventArgs e) in D:\ProtectedModePOC\Form1.cs:line 38

保护模式设置:Internet 关闭和 Intranet 开启

异常:

System.Runtime.InteropServices.COMException : “The interface is unknown. (Exception from HRESULT: 0x800706B5)”

堆栈跟踪:

在 SHDocVw.InternetExplorerClass.set_Visible(布尔 pBool)

at ProtectedModePOC.Form1.button1_Click(Object sender, EventArgs e) in D:\ProtectedModePOC\Form1.cs:line 38

我在将 InternetExplorer 对象的 Visible 属性 设置为 true 时遇到此异常。仅当尝试导航到 Internet 和 Intranet 区域的保护模式设置不同的 Intranet 应用程序时,才会观察到这种情况。如果 Internet 和 Intranet 区域的保护模式保持打开或关闭(对两个区域保持相同),问题就会消失。

如果我关闭 UAC(用户访问控制),则不会发生异常,即使 Internet 和 Intranet 区域的保护模式设置不同。

答:进入IE选项,在intranet和internet的安全下,启用或禁用保护模式需要匹配。

就我而言,我们的管理员强制保护 Internet,因此我也必须对 Intranet 处于保护模式。

虽然我不能说我完全理解它是如何工作的,但我可以说在尝试导航到 Intranet 之前我没有遇到任何问题。所以这可能解释了异常的 "disconnected" 部分。

希望这对某人有所帮助。