忽略Web浏览器控件“找不到”错误

时间:2019-12-21 12:54:24

标签: c# winforms webbrowser-control

我正在处理Winforms项目,并希望显示HTML文件中的关于页面内容。 我为此使用了WebBrowser控件,但即使它可以工作,但在打开解决方案或构建项目时仍会收到以下错误消息

Error Message

有什么办法可以修复或忽略它?

这是“关于”页面类中的方法调用:

    private void displayAboutContent()
    {
        this.labelVersion.Text = string.Format(@"Version: {0}",BoostEngine.r_CurrentVersion);
        UITools.displayHTMLPage(m_WebBrowser, m_ResourceName);
    }

和UI Tools静态类:

public static class UITools
{

    public static void displayHTMLPage(WebBrowser i_WebBrowser, string i_ResourceName)
    {
        Uri uri = new Uri(getFilepath(i_ResourceName));
        i_WebBrowser.ScriptErrorsSuppressed = true;
        i_WebBrowser.Navigate(uri);
    }

    private static string getFilepath(string i_ResourceName)
    {
        string projectPath = Directory.GetParent(Directory.GetCurrentDirectory()).Parent.FullName;
        string filePath = Path.Combine(projectPath, string.Format("Resources\\{0}.html", i_ResourceName));

        return filePath;
    }
}

P.S。 我在其他表单上使用此代码,但仅在“关于”页面上收到错误。 同样要注意的是,我在Mac上使用的是Parallels VM。

谢谢!

1 个答案:

答案 0 :(得分:0)

我不知道在解决方案加载或编译期间正在运行什么代码,您可能会在项目文件中查找已添加的任何目标。

但是,要解决该问题,您可以选择不Navigate(如果文件不存在):

if(System.IO.File.Exists("c:\\whatever"))
{
    i_WebBrowser.Navigate(uri);
}

如果这样做,您可能会考虑加载一个保证存在的页面,或者使用load a string of html使该页面对用户友好,并显示一条适当的消息。