Ich schreibe eine C#-Anwendung mit dem WebBrowser-Steuerelement, und ich möchte alle Inhalte, die ich anzeigen, um von eingebetteten Ressourcen kommen - nicht statische lokale Dateien und nicht Remote-Dateien.
Das Setzen des Anfangstextes des Steuerelements auf eine eingebettete HTML-Datei funktioniert hervorragend mit diesem Code, der von diese Stelle :
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;
}
So gut das auch ist, Dateien, auf die im HTML verwiesen wird - Javascript, Bilder wie <img src="whatever.png"/>
usw., funktionieren nicht. Ich habe ähnliche Fragen gefunden aquí y aquí , aber auch nicht fragen genau was ich meine, nämlich die Bezugnahme auf eingebettet Ressourcen in der Exe, nicht Dateien.
Ich habe versucht res://...
und die Verwendung eines <base href='..."
aber beides schien nicht zu funktionieren (obwohl ich es vielleicht nicht richtig verstanden habe).
Vielleicht (nach meinem eigenen Vorschlag zu diese Frage ), ist die Verwendung eines kleinen eingebetteten C#-Webservers der einzige Weg... aber ich hätte gedacht, dass es irgendeinen Trick gibt, um das zum Laufen zu bringen?
Danke!