Я пишу приложение на C # с использованием элемента управления WebBrowser и хочу, чтобы весь отображаемый контент поступал из встроенных ресурсов - не статических локальных файлов и не удаленных файлов.
Установка исходного текста элемента управления во встроенный HTML-файл прекрасно работает с этим кодом, вдохновленным этим сообщением :
browser.DocumentText=loadResourceText("myapp.index.html");
private string loadResourceText(string name)
{
Assembly assembly = Assembly.GetExecutingAssembly();
Stream stream = assembly.GetManifestResourceStream(name);
StreamReader streamReader = new StreamReader(stream);
String myText = streamReader.ReadToEnd();
return myText;
}
Как бы то ни было, файлы, указанные в HTML - javascript, изображения типа <img src="whatever.png"/>
и т. Д. Не работают. Я нашел похожие вопросы здесь и здесь , но ни один из них не задает точно , что я имею в виду, а именно, ссылаясь на встроенные ресурсы в exe не файлы.
Я пытался res://...
и использовал <base href='..."
, но ни один из них не работал (хотя, возможно, я не понял это правильно).
Возможно (следуя моему собственному предложению по этому вопросу ), использование небольшого встроенного веб-сервера на C # - единственный способ ... но я бы подумал, что для этого есть какой-то трюк?
Спасибо!