Veröffentlicht 31. Juli 200916 j Guten Morgen! Ich habe eine art Mini-Visual C# programmiert. Also ein Tool mit dem der User programmieren kann. Das funktioniert auch soweit ganz gut. Also er kompiliert vernünftig usw. Habe nur ein Problem: Wir gehen davon dass, der User eine Datei erstellt. Mit dem Namen Beispiel.exe. Danach ändert er was an der Datei und möchte nocheinmal Kompilieren. Dies funktioniert, aber nicht. Der Compiler greift immernoch auf die kompilierte .exe zu, obwohl sie ja fertig kompiliert ist. Meine Idee wäre ja den Compiler irgendwie zu sagen, dass er die Datei freigeben soll. Aber ich weiß nicht wie, ich das machen soll. Ich hoffe ihr könnt mir helfen Mfg Havdidi
31. Juli 200916 j Die wird nur gestartet, wenn der User eine Checkbox checked. Die kompilierte Anwendung ist also geschlossen. Irgendwie muss ich den Compiler entladen =/. Wie z.b. mit StreamReader bla = new Streamreader ("blabla"); bla.Close(); <-- Damit wird die Datei, die der StreamReader ja liest wieder freigegeben. Und sowas muss es ja auch mit den Klasse "CSharpCodeProvider" geben.
31. Juli 200916 j Und sowas muss es ja auch mit den Klasse "CSharpCodeProvider" geben. Nö, wieso? Nach CompileAssemblyFromFile ist es fertig, das brauchst du nichts schließen oder disposen. Was stehen denn im Result für Fehler?
31. Juli 200916 j Also irgendwie kann ich es selbst grad nicht glauben :confused: Den Code zum Kompilieren hatte ich aus dem Internet. Jetzt hab ich eine zweite Quelle gesucht. Da war der Code wesentlich kürzer. Dann hab ich das überflüssige entfernt und jetzt läuft's :upps:. Problem hat sich also von selbst gelöst
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.