dedlfix: Forum für C#-Fragen bzw. Tipps für Objekt-Typfragen

Beitrag lesen

Tach!

Das Schreiben von Anwendungen für die Konsole oder den Desktop ist absolutes Neuland für mich. Mir war daher nicht klar, dass man in einer *.exe-Datei nicht beide Fälle (Konsole/Fenster) abdeckt, sondern für jeden der beiden Fälle eine eigene Datei erstellt. Und dabei war ich so stolz auch mich, die Abfrage nach Command Line Parameters erfolgreich umgesetzt zu haben (-w startet bei mir jetzt die Fenster-Version)... :-)

Vermutlich besteht die Möglichkeit, solch eine Zwitter-Anwendung zu schreiben. Als Visual-Studio-Verwender macht man aber meist das eine oder das andere, weil es einem so von den Projektvorlagen vorbereitet wird. Du scheinst das für den Lerneffekt machen zu wollen, aber eigentlich will man soweit es geht vermeiden, Dinge zu erstellen, für deren Beschreibung man das Wörtchen "und" benötigt. Das vereinfacht die Wartung.

Man fügt dann lieber, wenn man mit dem Visual Studio oder Sharp/Mono Develop) arbeitet, mehrere dieser Projekte zu einer Solution zusammen. In deinem Fall also eine Solution mit je einem Projekt der genannten Typen (es gibt ja auch noch eine Menge mehr).

Da ist noch zu sagen, dass eine Solution nur ein allgemeiner Container für die gesamte zu lösende Aufgabe ist. Jedes Projekt darin erstellt entweder eine Konsolen-Anwendung oder eine GUI-Anwendung oder eine DLL.

Momentan vermeide ich es noch, Mono-Develop einzusetzen und kompiliere auf der Kommandozeile, um dann das Programm mittels "mono file.exe" zu starten. Den Schritt hin zur IDE will ich erst machen, wenn ich die Basics wirklich verinnerlicht habe.

Dir entgeht dabei eine ganze Menge Komfort. Ich kenne den aktuellen Entwicklungsstand von Mono Develop nicht, aber vor Jahren war ja schon Sharp Develop in seinen wesentlichen Zügen eine brauchbare Alternative zum VS. Meines Erachtens lernt man ohne IDE nur den Umgang mit den Kommanozeilen-Tools, was ich bisher noch nicht vermisst habe. Die Basics (des Programmierens, nicht der Zu-Fuß-Arbeit am CLI) sollten sich auch mit der IDE erlernen lassen.

Mir ist z.B. noch nicht klar, wie ich in Mono-Develop meine use-Anweisungen "hineinklicke" (copy&paste führt noch zu Fehlern, wohl weil ich die passenden Compiler-Optionen wie "-r:System.Windows.Forms.dll" nicht beisteuern kann) - aber das ist nur eine von mehreren Baustellen mit Mono-Develop.

Im Visual Studio gibt es bei den Projekten einen Abschnitt (quasi wie ein Verzeichnis) namens References. Da werden die benötigten DLLs hinzugefügt (übers Kontextmenü "Add Reference" beispielsweise). Unabhängig davon muss man natürlich noch die Namespaces mit using in die Code-Dateien einbinden.

dedlfix.