在NHtmlUnit

时间:2015-09-03 18:15:57

标签: c# ikvm nhtmlunit

我使用NuGet使用Visual Studio 2015将NHtmlUnit Pacakge(v2.15.0.0)安装到MVC5项目中。

var client = new WebClient(BrowserVersion.CHROME);

我还试过没有指定浏览器和IE11。

以下是例外情况:

System.MissingMethodException occurred
  HResult=-2146233069
  Message=Method not found: 'Void java.util.HashMap.__<clinit>()'.
  Source=HtmlUnit
  StackTrace:
       at com.gargoylesoftware.htmlunit.Cache..ctor()
       at com.gargoylesoftware.htmlunit.WebClient..ctor(BrowserVersion browserVersion)
  InnerException: 

以下是调试器对NHtmlUnit和IKVM.OpenJDK.Util.dll .dll的说法:

Name=NHtmlUnit.dll
Path=C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\ef1fc9af\43f83bfb\assembly\dl3\362bd10d\0ab5a1ee_d0e5d001\NHtmlUnit.dll
Optimized=Yes
User Code=N/A
Symbol File=Cannot find or open the PDB file.
Order=109
Version=2.15.0.0
Timestamp=7/11/2014 1:23 AM 
Address=0F6E0000-0F754000
Process=[13336] iisexpress.exe
AppDomain=[2] /LM/W3SVC/2/ROOT-1-130857754150438760 

Name=IKVM.OpenJDK.Util.dll
Path=C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\ef1fc9af\43f83bfb\assembly\dl3\7fc27125\b1c29ef9_d0e5d001\IKVM.OpenJDK.Util.dll
Optimized=Yes
User Code=N/A
Symbol Status:
Binary was not built with debug information.
Order 66
Version=8.01.5717.0
Timestamp=12/31/1969 5:00 PM
Address=0E9D0000-0EAC4000
Process=[13336] iisexpress.exe
AppDomain=[2] /LM/W3SVC/2/ROOT-1-130857754150438760 

这感觉很像.net模块版本不匹配,但我唯一可以参考或曾经使用任何NHtmlUnit或IKVM dll的地方都在项目中(并且它也在一台干净的机器上重现)。有关诊断方法的任何想法吗?

1 个答案:

答案 0 :(得分:0)

按照以下说明操作:

  1. 卸载所有软件包。 (HTMLUnit和IKVM)
  2. 清除App.config
  3. 上的运行时设置
  4. 重新安装所有软件包。
  5. 运行您的应用。