Ok, ich fühle mich wie die Antwort auf meine Frage ist online, aber ich kann es nicht finden. Alles, was ich versuche, ist, dem Programm, das ich mit CodeDom kompiliere, eine Textressourcendatei hinzuzufügen und dann auf diese Textdatei im kompilierten Programm zuzugreifen. Um die eingebettete Ressource hinzufügen, ich den folgenden Code verwendet:Hinzufügen und Abrufen von eingebetteten Ressourcen codedom
System.Resources.ResourceWriter writer = new System.Resources.ResourceWriter("Resources.resx");
writer.AddResource("EoS.txt", Form1.MasterEncoder.GetBytes(Properties.Resources.Eos));
writer.Generate();
writer.Close();
Parameters.EmbeddedResources.Add("Resources.resx");
Hier „Parameter“ ist mein Compiler Parameter Objekt und „Eos.txt“ ist die Datei, die ich zu schreiben bin versucht, das ist eine Ressource in der Anwendung. Dies wirft keinen Fehler, wenn ich das Programm bauen, aber wenn ich versuche, diese Textdatei in dem neu kompilierte Programm zu greifen diesen Code verwenden, die ich das Formularladeereignis hinzugefügt:
_assembly = Assembly.GetExecutingAssembly();
_textStreamReader = new StreamReader(_assembly.GetManifestResourceStream("Resources.EoS.txt"));
TextFile = _textStreamReader.ReadToEnd();
ich Dieser Fehler grob: "Wert kann nicht null sein Parametername: stream." Ich habe versucht, "Ressourcen" in den Namespace des Programms zu ändern und viele andere kleine Verbesserungen und nichts hat funktioniert. Ich bin mir nicht sicher, ob ich auf dem völlig falschen Track bin oder nicht, aber ich denke mein Problem ist bei CodeDom. Irgendwelche Vorschläge?
Ermittelt der Fehler, in welcher Zeile er sich befindet? – FoolishSeth
Nun, ich bin mir ziemlich sicher, dass es in der StreamReader-Zeile ist. – user1869878
Entfernte "eingebettete" Markierung. Nicht verwandt mit Embedded Code/Systemen – Neowizard