STAThread
legt den Einstiegspunkt nicht fest - es zwingt die Laufzeit, ein Single-Threaded Apartment für den Thread zu verwenden, der Main ausführt.
Wie Josh sagt, müssen Sie das Startobjekt in den Projekteigenschaften festlegen. Wenn dies in VS Express nicht angezeigt wird, müssen Sie möglicherweise erzwingen, erweiterte Buildeigenschaften anzuzeigen: Öffnen Sie Extras \ Optionen, und aktivieren Sie unter Projekte und Lösungen die Option Erweiterte Buildkonfiguration anzeigen.
Beachten Sie, dass Ihre Anwendung entweder hat eine Konsole app oder eine WinForms-Anwendung sein. Es kann nur als eine Einheit erstellt werden (pro Konfiguration sowieso). Entweder wird am Ende eine Konsole angezeigt, die beim Starten als WinForms-App angezeigt wird, oder es wird keine Konsole angezeigt, wenn Sie sie als Konsolenanwendung starten.
Haben Sie darüber nachgedacht, den Großteil der Logik in eine Klassenbibliothek zu stellen und dann zwei Wrapper-Anwendungen - eine WinForms und eine Konsole - zu erstellen, die nur die relevante Benutzeroberfläche anzeigen und dann an die Klassenbibliothek delegieren?
Das Attribut [STAThread] wird nicht für den Einstiegspunkt verwendet. –