2014-03-28 102 views
0

我想從我的Windows窗體應用程序打開IE瀏覽器。我有方法A調用另一個方法B,它使用SHDocVw打開瀏覽器。我得到這個錯誤的地方是當我嘗試從方法A調用方法B,即使設置了中斷點,調用也不會傳輸到B,這是拋出的異常「無法加載文件或程序集'Interop.SHDocVw,Version = 1.1.0.0 ,Culture = neutral,PublicKeyToken = null'或它的一個依賴關係,找到的程序集的清單定義與程序集引用不匹配(異常來自HRESULT:0x80131040「。但是相同的代碼在其他窗體應用程序中工作正常。使用VS 2008.SCHDOCVW的引用是從C:\ Windows \ System32中添加的。定位的程序集清單定義與程序集引用不匹配。 (從HRESULT異常:0x80131040

private void Form1_Load(object sender, EventArgs e) 
    { 
     OpenBrowser(); 

    } 
    private static void OpenBrowser() 
    { 
     MyClass.CallBrowser(); 


    } 
    public static class MyClass 
    { 
    public static void CallBrowser() 
    { 
     SHDocVw.InternetExplorer ie = new SHDocVw.InternetExplorerClass(); 
     IWebBrowserApp wb = (IWebBrowserApp)ie; 
     wb.Visible = true; 
     object o = null; 

     wb.Navigate("www.google.com", ref o, ref o, ref o, ref o); 
    } 
    } 
+0

您的問題看起來像http://stackoverflow.com/questions/215026/the-located-assemblys-manifest-definition-does-not-match-the-assembly-reference的副本。 – EFrank

+0

不尋常的問題,野外沒有太多的PIA版本。您必須發佈您從Fuslogvw.exe獲得的幫助。 –

回答

0

這不是您的問題的確切答案,但我會建議在Windows窗體中使用內置的WebBrowser控件。

這讓你的生活變得輕鬆多了。它不需要所有Win32的東西都可以工作(它在你的幕後)。

MSDN的回答中可能有解決方案。

+0

我嘗試使用上面給出的相同鏈接的解決方案,但不起作用。同樣的方法在VS 2008中的其他應用程序中運行良好。只有一種形式出現此異常 – user3428250

相關問題