Как сделать HTML-файл частью проекта MonoDevelop? - PullRequest
1 голос
/ 01 августа 2009

Проект является приложением GNOME, а не ASP.NET. Мне нужно загрузить файл welcome.html на главную страницу пользовательского интерфейса. Точно так же, как MonoDevelop. Но я не знаю, как сделать международные версии, которые будут загружаться на месте. И я не знаю, как связать его в двоичный файл, используя какое-то управление ресурсами.

1 Ответ

1 голос
/ 03 августа 2009

MonoDevelop раньше использовал HTML для страницы приветствия, но в то время (около 18 месяцев назад) мы обнаружили, что веб-браузер GTK + является неудобной зависимостью для кроссплатформенного использования, поэтому переключился на простой GTK # с некоторым пользовательским фоном. рендеринга.

Тем не менее, довольно легко использовать HTML с помощью Webkit-GTK и оболочки # Webkit. Создайте виджет WebKit.WebView, затем используйте метод LoadHtml для загрузки HTML из строки.

Чтение встроенного текстового ресурса из сборки довольно просто:

string text;
using (var stream = typeof(SomeTypeInYourAssembly).Assembly.GetManifestResourceStream (resourceId))
    using (var sr = new StreamReader (stream))
        text = sr.ReadToEnd ();

Это будет считывать ресурс, встроенный с аргументом компилятора C # / res: FILE [, ID] или с помощью действия сборки "Embedded Resource" в MonoDevelop. Вы можете установить идентификатор ресурса в MD, используя proeprty pad, если вам не нравится значение по умолчанию.

Локализация сложнее. «Путь .NET» заключается в использовании локализованных сателлитных сборок, содержащих локализованные ресурсы. Однако в MD мы использовали файл XSLT для преобразования файла XML в HTML. Затем мы можем довольно легко локализовать файл XML, используя классы Gettext и XML DOM.

...