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?

Antworten:


431

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


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.


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.


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.


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.


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.


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


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 :)


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 .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.