簡體   English   中英

InternetExplorer COMException: System.Runtime.InteropServices.COMexception: RPC 服務器不可用

[英]InternetExplorer COMException: System.Runtime.InteropServices.COMexception: The RPC server is unavailable

我對 C# 很陌生,所以如果這是一個愚蠢的問題,請原諒。

我創建了一個控制台應用程序,它使用 SHDocVw 的“InternetExplorer”。 此應用程序訪問網站並執行一些操作。 它在我的電腦上運行得很好,但是當我嘗試發布它時,我無法讓它在我同事的電腦上運行。 這些其他計算機沒有安裝 dotnet 核心。

因此,如果我將應用程序發布為依賴於框架的應用程序,則會出現 hostfxr.dll 缺少庫錯誤,而且它顯然根本不起作用。

我想我可以通過將應用程序發布為獨立的應用程序來解決這個問題。 這也沒有幫助。 我總是需要手動粘貼“Interop.MSHTML.dll”和“Interop.SHDocVw.dll”。 當我這樣做時,應用程序至少會啟動。 Internet Explorer 出現,“導航”命令有效。 但是一旦我嘗試隱藏窗口或嘗試使用頁面中的元素,它就會崩潰。

我得到兩種類型的錯誤:

  1. Unhandled Exception: System.Runtime.InteropServices.COMexception: The RPC server is unavailable. (Exception from HRESULT: 0x800706BA) at SHDocVw.IWebBrowser2.set_Visible(Boolean pBool) at MyWebApp.IEDriver.Visibility(Boolean isVisible) at MyWebApp.Program.Main(String[] args)

  2. 其他時候我會遇到非常相似的錯誤,但它甚至提到了我自己的用戶文件,即使在不同的機器上運行時也是如此。 這是正常的嗎?

Unhandled exception. System.Runtime.InteropServices.COMException (0x800706BA): The RPC server is unavailable. (0x800706BA) at SHDocVw.InternetExplorerClass.get_ReadyState() at IEAutomation.IEDriver.WaitForComplete() in C:\\Users\\St3ve\\source\\repos\\MyWebApp\\MyWebApp\\IEDriver.cs:line 552 at TestWeb.Program.Main(String[] args) in C:\\Users\\St3ve\\source\\repos\\MyWebApp\\MyWebApp\\Program.cs:line 82

我試圖用谷歌搜索錯誤,但無法使其正常工作,我將非常感謝您提供任何提示或幫助。

這種方法的關鍵是確保我們正在訪問與我們的進程相關聯的正確InternetExplorer對象

private InternetExplorer _IE; 

public Process m_Proc = Process.Start(@"C:\Program Files\Internet Explorer\iexplore.exe", "-nomerge www.google.com");

public IEDriver()
{


    Thread.Sleep(5000);
    _IE = null;
    ShellWindows m_IEFoundBrowsers = new ShellWindows();
    foreach (InternetExplorer Browser in m_IEFoundBrowsers)
    {
    if (Browser.HWND == (int)m_Proc.MainWindowHandle)
    {
    _IE = Browser;
    break;
    }
} 

然后在像 WaitForCompleteNew()、Navigate() 等方法中,只要您嘗試訪問 InternetExplorer 的屬性或方法,就可以使用對象 _IE。

_IE.Visible = false;
document = ((HTMLDocument)_IE.Document)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM