我使用 NuGet 将 NHtmlUnit Pacakge (v2.15.0.0) 安装到使用 Visual Studio 2015 的 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 的地方是在项目中(它也在干净的机器上重现)。关于诊断方法的任何想法?