定位的程序集的清单定义与程序集引用不匹配。 (来自HRESULT的例外:0x80131040

时间:2014-03-28 12:22:19

标签: c# com interop .net-assembly

我正在尝试从我的Windows窗体应用程序中打开IE浏览器。我有方法A调用另一个方法B,它使用SHDocVw打开浏览器。我得到此错误的地方是当我尝试从方法A调用方法B时,即使设置了断点,调用也不会转移到B.这是抛出的异常" 无法加载文件或程序集Interop.SHDocVw,Version = 1.1.0.0,Culture = neutral,PublicKeyToken = null'或其中一个依赖项。定位的程序集的清单定义与程序集引用不匹配。 (来自HRESULT的异常:0x80131040" 。但是相同的代码在其他Windows窗体应用程序中工作正常。我使用的是VS 2008.对SHDOCVW的引用是从C:\ Windows \ System32添加的。

    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);
    }
    }

1 个答案:

答案 0 :(得分:0)

这不是您问题的准确答案,但我建议您使用Windows窗体中已有的内置WebBrowser控件。

这让您的生活更轻松。它不需要所有的Win32工作(它在幕后为您服务)。

MSDN的答案中可能有一个解决方案。

相关问题