Entwickler-Ecke
Sonstiges (.NET) - Mit einer C# exe einen Code kompilieren?
Ccenter - Do 25.03.10 19:09
Titel: Mit einer C# exe einen Code kompilieren?
Moin,
Ich würde gerne ein Programm schreiben, welches den eigenen Sourcecode als string in den Ressourcen gespeichert hat. Je nach Situation bzw. Wunsch des Anwenders würde ich gerne den Code vom Programm selbst ändern lassen und diesen dann neu kompilieren. Ansich kann ich den Code ja per StreamWriter als *.cs abspeichern. allerdings fehlt dann der Kompiler. Gibt es zufällig einen Code dafür um soetwas zu kompilieren?
Kha - Do 25.03.10 21:01
Dein Anwender kann C# :gruebel: ? Solche Anwender will ich auch haben ;) .
Ccenter hat folgendes geschrieben : |
| allerdings fehlt dann der Kompiler. |
Nein, der ist bei jeder .NET-Installation dabei.
Schau dir mal CodeDOM an, damit musst du den csc erst gar nicht aufrufen:
http://support.microsoft.com/kb/304655
Ccenter - Fr 26.03.10 22:25
Perfekt, funktioniert :D
Danke^^
Ccenter - Sa 30.10.10 12:57
Hab mich ebend nochmal schnell rangesetzt und mir ist aufgefallen, dass der Kompiler mit besimmten Usings nicht klar kommt wie z.B. Linq.
Der Grund dafür ist wohl, dass Using nicht reicht. Im Designer muss man bei neuen Dll's ja auch immer noch auf Verweis->Hinzufügen klicken. Meine Frage ist nun, wie gebe ich das im Code an und wo sind denn Linq, System.Windows.Forms etc? Eine Dll kann man per Code ja mit [DllImport("...")] einbinden. Dann muss man aber auch public static extern benutzen. Gibt es keinen Weg die Dll einfach so hinzu zufügen und dann den Code zu benutzen wie im Designer?
Und zweitens: Wie kann ich per Code, Datein in die Ressourcen einbinden?
Th69 - Sa 30.10.10 13:37
Die referenzierten DLLs mußt du direkt bei den
C#-Quelltext
1:
| CompilerParameters.ReferencedAssemblies |
angeben (z.B. per Add/AddRange)
Du mußt deinen Usern also zusätzlich die DLLs zur Auswahl stellen bzw. diese müssen mittels OpenFileDialog eigene referenzieren können.
(Mittels [DLLImport] werden nur native DLLs angesprochen, nicht .NET Assemblies.)
Ccenter - Sa 30.10.10 18:27
Ok danke, das läuft jetzt soweit alles,
aber wie kann ich nun per Code Datein den Ressourcen hinzufügen?
Ccenter - So 31.10.10 15:30
Ich habe ja eine Exe die im Stande ist, einen Code zu kompilieren. Wenn ich diesem Code dann ein Bild mitgeben möchte, muss ich das dann bevor die Exe erstellt wird machen oder nachdem sie fertig ist?
Gab es nicht eine Klasse namens RessourceWriter oder so die das kann?
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!