定位的程序集的清单定义与程序集引用不匹配.HRESULT: 0x80131040
本文关键字:程序集 不匹配 引用 HRESULT 0x80131040 定义 单定义 定位 | 更新日期: 2023-09-27 17:54:21
我正在尝试从我的windows窗体应用程序打开IE浏览器。我有方法A,它调用另一个方法B,它使用SHDocVw打开浏览器。我得到这个错误的地方是当我试图从方法A调用方法B时,即使设置了断点,调用也不会转移到B。这是抛出的异常"无法加载文件或程序集"互操作。SHDocVw, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null'或其依赖项之一。定位的程序集的清单定义与程序集引用不匹配。(来自HRESULT: 0x80131040"的异常。但同样的代码在其他windows窗体应用程序中也能正常工作。我使用的是VS 2008。从C:'Windows'System32 .
添加对SHDOCVW的引用。 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);
}
}
这不是你问题的确切答案,但我建议使用Windows窗体中已经存在的内置WebBrowser
控件。
这会让你的生活轻松很多。它不需要所有的Win32的东西来工作(它在幕后为你)。
在MSDN上的答案中可能有一个解决方案。