SpicIE Hostinstance为null

时间:2012-06-10 21:45:39

标签: c# internet-explorer nullreferenceexception

我一直在使用.net4版本的SpicIE开发IE9插件。在我的开发机器上,一切都很棒。在部署机器上进行测试时,我在尝试HostInstance.BrowserRef.Navigate(URL)时不断收到NullReferenceException。我添加了一些日志记录,并且它在两台计算机上报告为null,但它在dev计算机上没有问题。我知道它曾经在部署过程中工作过,并且不知道可能会破坏它的原因。

相关代码如下:

来自插件库:

public class KB_Toolbar : SpicIE.Host
{
    ...
    public static KB_Toolbar HostInstance;

    public KB_Toolbar() : base()
    {
        HostInstance = this;
    }

    public static void OpenURL(string URL)
    {
        if (HostInstance != null)
            HostInstance.BrowserRef.Navigate(URL);
    }
 }

从工具栏类:

    private void MenuClick(object sender, EventArgs e)
    {
        var URL = vURL[(int)((ToolStripDropDownItem)sender).Tag];
        KB_Toolbar.OpenURL(URL);
    }

如果我在那里留下HostInstance!= null,那么它不会在任何一台机器上执行下一行。如果我删除它,它在dev上执行没有问题,并在部署上抛出NRE。我已经尝试了一些廉价的黑客来解决它没有运气。我不能为我的生活弄清楚这里发生了什么,特别是它在dev机器上工作,而且假设是空的。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

解决了它。答案是regasm命令中缺少/ codebase开关。