WebKit.NET与C#项目运行时异常

时间:2014-10-30 00:10:53

标签: c# .net visual-studio-2010 webkit x86

我已经下载了WebKit.NET 0.5-bin-cairo来处理现有的C#项目。我已将 WebKitBrowser.dll WebKit.Interop.dll 作为对需要它的模块的引用,并直接在debug / bin中播放它们文件夹直接by this tutorial

在运行项目并在设计器类的InitializeComponent()中的这一行上获得异常之前,我没有收到任何错误。

this.webKitBrowser1 = new WebKit.WebKitBrowser();

例外:

An unhandled exception of type 'System.ComponentModel.Win32Exception' occurred in WebKitBrowser.dll

Additional information: Failed to initialize activation context

我正在将所有模块构建为86x调试,而我的计算机是64位。

任何建议都值得赞赏,因为我已经玩了好几天了。

2 个答案:

答案 0 :(得分:5)

我遇到过同样的问题。在我的场景中缺少三件事。

  1. 清单文件:必须放置所有dll动态链接
  2. 必须在机器上安装VC ++:在我的例子中,我使用了vc ++ 2005可再发行的sp1。
  3. 不仅dlls / pdb / manifest需要将所有文件夹复制到可执行文件的根目录
  4. webkit.NET的所有文件/文件夹都没有正确的包装 显然,对于引用webkit dll的所有项目,项目架构应该是x86

答案 1 :(得分:1)

你试过了吗? WebKit.Net and OpenWebKitSharp Error: Failed to initialize activation context?即将所有文件从Core(不仅仅是dll)复制到project / bin / release /或/ bin / debug /文件夹中?

引用了您所遵循的教程: 在我们运行应用程序之前,WebKit.dll及其依赖项必须存在于输出目录中。在Windows资源管理器(或其他)中,将WebKit .NET“bin”目录中的所有文件复制到项目的输出目录中。例如,以下是复制后输出目录的列表:

D:\webkitdotnet\WebKitTest\WebKitTest\bin\Debug>ls   
CFLite.dll                      icudt40.dll          
JavaScriptCore.dll              icuin40.dll          
JavaScriptCore.resources        icuuc40.dll          
SQLite3.dll                     libcurl.dll          
WebKit.Interop.dll              libcurl.dll.manifest 
WebKit.dll                      libeay32.dll         
WebKit.resources                libeay32.dll.manifest
WebKitBrowser.dll               libpng13.dll         
WebKitBrowser.dll.manifest      libxml2.dll          
WebKitBrowser.pdb               libxslt.dll          
WebKitTest.exe                  pthreadVC2.dll       
WebKitTest.pdb                  ssleay32.dll         
WebKitTest.vshost.exe           ssleay32.dll.manifest
WebKitTest.vshost.exe.manifest  zlib1.dll            
curl.exe.manifest

您提到您只复制了WebKitBrowser.dll和WebKit.Interop.dll