首页 > 解决方案 > 忽略 Web 浏览器控件“找不到”错误

问题描述

我正在开发一个 Winforms 项目,并希望显示 HTML 文件中的 About 页面内容。我为此使用了 WebBrowser 控件,但即使它有效,在打开解决方案或构建项目时我仍然收到以下错误消息

错误信息

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

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

    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;
    }
}

PS 我在另一个表单上使用此代码,但仅在“关于”页面上收到错误。另外需要注意的是,我在 Mac 上使用 Parallels VM。

谢谢!

标签: c#winformswebbrowser-control

解决方案


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

Navigate但是为了简单地解决问题,如果文件不存在,您可以选择不解决:

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

如果您这样做,您可能会考虑加载一个保证存在的页面或加载一个 html 字符串,以通过适当的消息使其对用户更加友好。


推荐阅读