Das Programm enthält keine statische 'Main'-Methode, die für einen Einstiegspunkt geeignet ist

169

Plötzlich hörte mein gesamtes Projekt auf zu kompilieren und zeigte die folgende Meldung:

Das Programm 'path_to_obj_project_folder' enthält keine statische 'Main'-Methode, die für einen Einstiegspunkt geeignet ist

Ich habe keine Änderungen an den Projekteigenschaften vorgenommen, nur einige Klassen hinzugefügt und einige andere Klassen in Ordner verschoben. Es ist ein WPF-Anwendungsprojekt, also sollte alles in Ordnung sein. Der Einstiegspunkt ist dort, wo er sein sollte. Die Datei App.xaml wurde überhaupt nicht geändert :(

Was soll ich tun, damit es wieder funktioniert?

Herr Anderson
quelle

Antworten:

431

Überprüfen Sie die Eigenschaften von App.xaml . Ist das Build Actionstill ApplicationDefinition?

Kent Boogaart
quelle
10
Danke, das hat das Problem teilweise behoben. Ich hatte alle Dateien von einem alten Projekt in ein neues Windows Store AppProjekt kopiert und das Build Actionwurde auf Pagestatt gesetzt ApplicationDefinition. Ich wechselte zurück zu ApplicationDefinition, musste aber auch den Ordner löschen obj\Debug.
Richard H
4
+1: Großartig! Wirklich ein Lebensretter. Ich wollte gerade ein neues Projekt erstellen und alles kopieren, aber das hat es geschafft. Was habe ich gelernt: Leg dich nicht mit App.xaml an ... Es beißt.
RESPAWNed
1
Ich musste auch obj \ Debug manuell löschen; RebuildAll hat es nicht behoben, keine Ahnung warum ...
Jay Borseth
Gleiches Problem in einer VS 2017 UWP-Anwendung. Der Build war Pageeher für alsApplicationDefinition
Paulustrious
2
Build Actionwechselt zu, Pagewenn Sie die App.xaml-Datei ausschließen und wieder einschließen
CSharper
46

Möglicherweise muss der "Ausgabetyp" in Eigenschaften-> Anwendung des Projekts eine "Klassenbibliothek" anstelle einer Konsolen- oder Windows-Anwendung sein.

Kervin Ramen
quelle
Bei Verwendung eines CLI-Compilers kann der Ausgabetyp der Klassenbibliothek durch ein -t:libraryArgument angegeben werden .
Glutexo
21

Nur für den Fall, dass jemand das gleiche Problem hat ... Ich habe diesen Fehler erhalten und es stellte sich heraus, dass er <Application.Resources>in meiner App.xaml-Datei enthalten ist. Ich hatte eine Ressource außerhalb meiner Ressourcenwörterbuch-Tags, und das verursachte diesen Fehler.

AndyA
quelle
Ich hatte eine etwas andere Variante. Ich hatte leere Application.Resources-Tags und das Entfernen dieser Tags hat es für mich behoben.
YC
6

In meinem Fall (nachdem ich den Anwendungsnamespace manuell umbenannt hatte) musste ich das Startobjekt in den Projekteigenschaften erneut auswählen.

Eugene Griaznov
quelle
1

Sie können dies auch tun, wenn Sie an einem WPF-Projekt arbeiten, das in VS 2010 (Beta 1) gestartet und dann in VS 2008 verschoben wurde.

Unter den Projekteigenschaften wird die .NET Framework-Version deaktiviert (da .NET 4.0 in VS 2008 nicht gültig ist), und aus irgendeinem Grund verursacht dies diesen Fehler.

Wenn Sie das .NET Framework festlegen (z. B. .NET 3.5), wird der Fehler behoben.

Ryan Lundy
quelle
1

Nur für den Fall, dass jemand trotz der oben genannten Hilfe immer noch den gleichen Fehler erhält: Ich hatte dieses Problem, habe alle hier angegebenen Lösungen ausprobiert und gerade herausgefunden, dass mein Problem tatsächlich ein weiterer Fehler aus meiner Fehlerliste war (nämlich) über ein fehlendes Bild, das mein Begrüßungsbildschirm sein soll. Ich habe gerade seinen Pfad auf den richtigen geändert und dann haben alle angefangen zu arbeiten.

leoneboaventura
quelle
1

Ich habe den gleichen Fehler erhalten, aber dann habe ich herausgefunden, dass ich in der Main-Methode ein kleines m anstelle eines großen M eingegeben habe

Arun Pandey
quelle
Ja, ich habe vergessen, dass zwischen Groß- und Kleinschreibung unterschieden wird. Vielen Dank!
Emanuel Vintilă
Überprüfen Sie lieber, ob die "Eigenschaft" Ihrer Anwendung als Standardstartprojekt / -klasse korrekt definiert wurde. stackoverflow.com/questions/9538404
Bimal Poudel
0

Projekteigenschaften \ Ausgabedatei -> Klassenbibliothek auswählen :)

pixparker
quelle
0

Als was, denke ich, wollte pixparker sagen, blieb aber nicht klar genug, zumindest für mich, stellen Sie sicher, dass ... Alle "anderen Projekte" haben einen "Ausgabetyp" von "Klassenbibliothek" ausgewählt, während ... Es wird nur "Ein Projekt" als Ausgabe "Fensteranwendung" oder "Konsolenanwendung" ausgewählt .

Faraz Ahmed Qureshi
quelle