我想在 Mono Windows 表单中使用 WebBrowser 控件

I want to use WebBrowser Control in Mono Windows Form

我真的很困惑如何在我的 windows 表单单声道应用程序中使用网络浏览器控件(可以 运行 on windows 和 Mac)。我只找到关于这个主题的 link,但它不像教程,所以我什么都不懂。

我从 Mono 库中找到 Mono.webbrowser.dll 并添加到 visual studio 中的项目引用中。

     IWebBrowser browser= Mono.WebBrowser.Manager.GetNewInstance(Platform.Winforms);

然后我添加了这一行,它导致了一些依赖性异常。我一定是缺少一些基础知识,所以请帮助我。

首先,我会高度劝阻你首先使用这个网络浏览器实现。

Mono 中的跨平台 WebBrowser 支持仍然 experimental 并且使用相当过时的浏览器:Firefox (Gecko) 和 IE(IE 5 或 6)版本。 表示不支持近年网站的任何新功能

此外,实现互操作性的方式(通过 COM)和 .Net 中的原始设计并不能使其成为获得 .Net 团队或 Mono 团队强大支持的良好候选者。 我的意思是它今天存在,它可能会在未来几年消失

特别是考虑到已经有相当不错的替代品,比如

注意:Cef 代表 Chromium 嵌入式框架,然后像 CefGlue/Sharp 这样的 Cef 包装器允许使用具有所有支持功能的 Chrome。

link you provided appears as not understoodable because it's not intended really for developpers using Mono without knowing how to build it (or its dependencies like gtk-sharp). If you really want to go this way, you must first try to learn more on Mono or dependencies like gtk-sharp。根据您要实现的目标,您需要:

  • gluezilla (Firefox/Gecko)。它应该开箱即用。但是您必须将平台更改为 Unix。
  • SHDocVw.dll、mshtml.dll、BrowseUI.dll (MSIE)