Первый шаг к решению вашей проблемы - выяснить причину сбоя. После сборки BrowserSharp в соответствии с вашими инструкциями (хотя я заново создал csproj), я запустил:
mono --debug BrowserSharp.exe
С флагом --debug mono распечатает любое необработанное исключение:
Unhandled Exception: System.TypeInitializationException:
An exception was thrown by the type initializer for Gecko.WebControl --->
System.DllNotFoundException: gtkembedmoz.dll
at (wrapper managed-to-native) Gecko.WebControl:gtk_moz_embed_get_type ()
...
Я не смог найти gtkembedmoz.dll в дистрибутиве Mono, но, похоже, это отдельная установка. Ссылку для скачивания можно найти здесь и некоторые старые, но, возможно, полезные инструкции здесь .
Я скачал стабильный пакет GRE и скопировал gtkembedmoz.dll в каталог сборки. Он по-прежнему зависал, поэтому я проверил зависимости, используя disabled.exe , который дал понять, что в нем отсутствуют библиотеки Gtk +. После установки среды выполнения gtk-sharp и копирования недостающих библиотек в каталог сборки мне удалось запустить ее с использованием среды выполнения Microsoft .NET.
По какой-то причине он все еще не работал с использованием Mono. Я подозреваю, что есть какая-то разница в том, как Mono ищет неуправляемые библиотеки DLL, но я не рассматривал это. Независимо от того, используете ли вы Mono из Microsoft.NET, вам, вероятно, не нужно копировать эти библиотеки DLL в каталог сборки, нужно просто убедиться, что они установлены / настроены правильно, чтобы их можно было найти.