更新到Firefox后,xul不会导出此方法`JS_BeginRequest @@ YAXPAUJSContext @@@ Z` GeckoFX 45

时间:2018-05-31 23:10:44

标签: c# firefox geckofx webidl

我正在尝试将Firefox 46.0 SDK用于GeckoFX45。我能够找到改变的uuid" Guid id"但在更新到Firefox 46 SDK之后,我在这一行中遇到了这个崩溃:

https://github.com/EbramTawfik/GeckoFX/blob/master/Geckofx-Winforms/GeckoWebBrowser.WinForms.cs#L153

消息: System.AccessViolationException 的HResult = 0x80004003 Message =尝试读取或写入受保护的内存。这通常表明其他内存已损坏。

然后我能够为IDL生成c#文件:

使用此工具: https://bitbucket.org/geckofx/idlimp/src/default/

WebIDL使用此工具: https://bitbucket.org/geckofx/webidltogeckofxbindings/src/default/

但是我收到了这个错误:

System.EntryPointNotFoundException:'无法在DLL' xul&#39中找到名为'?JS_BeginRequest @@ YAXPAUJSContext @@@ Z' 的入口点;'

我发现原因是xul的新版本没有导出此方法JS_BeginRequest@@YAXPAUJSContext@@@Z

所以我不知道是否有一种特定的方法来重建这个xul.dll来导出这些方法?或者是xul.dll的较新版本中弃用的方法?!如果它被弃用了我应该使用什么而不是它?!

1 个答案:

答案 0 :(得分:0)

您可以根据Firefox 52使用XulFx:

https://bitbucket.org/vmas/xulfx/src/default/

您可以从这里下载版本:

https://bitbucket.org/vmas/xulfx/downloads/