初始化C#的geckoWebBrowser异常

问题描述 投票:4回答:1

我的程序如下引发异常。

Program.cs如下:

    static void Main()
    {
        Gecko.Xpcom.Initialize("D:\\xulrunner\\");
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new Form1());

    }

Form1.cs如下:

    private void Form1_Load(object sender, EventArgs e)
    {
        //Gecko.Xpcom.Initialize("D:\\xulrunner\\");

        geckoWebBrowser1.Navigate("http://www.google.com");

    }

翻译自中文,例外情况如下:

“System .__ ComObject”无法转换接口类型"Gecko.nsIWebNavigation"

以下代码中抛出异常:

public ChromeContext()
{
    using (var appShallSvc = Xpcom.GetService2<nsIAppShellService>(Contracts.AppShellService))
    {
        webNav = appShallSvc.Instance.CreateWindowlessBrowser(true).AsComPtr(); //this is where the exception is thrown

        webNav.Instance.LoadURI("chrome://global/content/alerts/alert.xul", 0, null, null, null);

    }

}

任何帮助将不胜感激。

c# geckofx
1个回答
0
投票

对于旧版本,您需要将GeckoFX版本与xulrunner的完全正确版本相匹配。

在这里查看你的版本:https://bitbucket.org/geckofx/geckofx/wiki/Version_lists

在这里下载xulrunner:https://releases.mozilla.org/pub/xulrunner/releases/

但是版本45.0大大简化了这一点:

对于Geckofx 45.0和更新的发布已经转移到nuget包模型,其中包括geckofx文件和所需的firefox文件。

© www.soinside.com 2019 - 2024. All rights reserved.