Habe meinem Projekt eine neue Klasse hinzugefügt und bekomme den Fehler say Program.Main () hat mehr als einen Eintrag warum?

7

Das Problem ist, dass nach dem Hinzufügen der neuen Klasse der Fehler auftrat, als ich die Lösung erstellte. Was kann falsch sein?

In Form1 habe ich noch keinen Code.

Gerade neue Klasse hinzugefügt:

%Vor%

Dann sehe ich Program.cs und Fehler auf Main ()

%Vor%     
user1544479 31.07.2012, 19:41
quelle

5 Antworten

10

Ein C # -Programm kann nur eine Program.Main () haben. Main ist die erste Methode, die ausgeführt wird, wenn das Programm startet, also muss der Compiler wissen, welcher der richtige ist, und es kann nicht, wenn Sie zwei haben.

Es sieht so aus, als würden Sie eine Windows-Anwendung erstellen. Sie sollten entweder Code zu dem vorhandenen Hauptverzeichnis hinzufügen oder es zu einem Ereignishandler hinzufügen, der von Ihrem Hauptformular ausgelöst wird.

    
DGH 31.07.2012, 19:46
quelle
9

Andere haben darauf hingewiesen, dass Sie zwei statische void Main-Methoden haben. Dafür gibt es zwei einfache Korrekturen, eine offensichtliche und eine, die noch nicht speziell erwähnt wurde:

  1. Benennen Sie einen anderen Namen, z. Main1 , NotMain usw.
  2. Um die von @Habib erwähnte Option / main compiler zu setzen, klicken Sie einfach mit der rechten Maustaste auf den Projektknoten im Projektmappen-Explorer, wählen Sie Eigenschaften und im Anwendungsabschnitt das "Startobjekt" im Dropdown-Menü.

Mit Lösung 2 können Sie identische Main(string[] args) Signaturen in verschiedenen Klassen haben, ohne dass der Compiler heult.

    
Paul Smith 14.08.2013 21:48
quelle
5

Ein .NET-Programm sollte nur eine statische Main -Methode haben.

Sie haben zwei, und der Compiler weiß nicht, welcher zu verwenden ist.

Benennen Sie die eingefügte Datei um, es sei denn, es soll der Einstiegspunkt für die Anwendung sein (in diesem Fall benennen Sie die andere um) oder kompilieren Sie die Anwendung mit dem Schalter /main , der welche der zu verwendenden Main -Methoden.

Siehe Main () und Befehlszeilenargumente (C # -Programmierhandbuch) auf MSDN für mehr Details:

  

Die Main-Methode ist der Einstiegspunkt einer C # -Konsolenanwendung oder Windows-Anwendung . (Bibliotheken und Dienste benötigen keine Main-Methode als Einstiegspunkt.). Wenn die Anwendung gestartet wird, ist die Main-Methode die erste Methode, die aufgerufen wird.

     

Es kann nur einen Einstiegspunkt in einem C # -Programm geben. Wenn Sie mehr als eine Klasse mit einer Main-Methode haben, müssen Sie Ihr Programm mit der / main-Compiler-Option kompilieren, um den Main anzugeben Methode, die als Einstiegspunkt verwendet werden soll. Weitere Informationen finden Sie unter / main (C # -Compileroptionen).

(Betonung meiner)

    
Oded 31.07.2012 19:44
quelle
1

Sie haben zwei Hauptmethoden, deshalb erhalten Sie diesen Fehler.

Von MSDN - Hauptmethode

  

Es kann nur einen Einstiegspunkt in einem C # -Programm geben. Wenn Sie mehr haben   als eine Klasse mit einer Main-Methode , müssen Sie Ihr Programm kompilieren   Mit der / main-Compiler-Option geben Sie an, welche Main-Methode verwendet werden soll   der Einstiegspunkt.

    
Habib 31.07.2012 19:46
quelle
1

Wenn Sie den Fehler behoben haben und Visual Studio weiterhin eine Fehlermeldung anzeigt, sollten Sie die Ausgabeordner (standardmäßig "bin" und "obj") entfernen und anschließend das Projekt neu erstellen. In meinem Fall half das Klicken auf "Neu erstellen" nicht.

    
Sielu 20.02.2018 11:30
quelle

Tags und Links