Как сделать HTML-файл частью проекта MonoDevelop?

StackOverflow https://stackoverflow.com/questions/1217350

  •  10-07-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

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

Тем не менее, довольно просто использовать HTML с помощью Webkit-GTK & amp; 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, если вам не нравится значение по умолчанию.

Локализация сложнее. & Quot; .NET way " будет использовать локализованные спутниковые сборки, содержащие локализованные ресурсы. Однако в MD мы использовали файл XSLT для преобразования файла XML в HTML. Затем мы могли бы довольно легко локализовать файл XML, используя классы Gettext и XML DOM.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top