Program nie zawiera statycznej metody „Main” odpowiedniej dla punktu wejścia


169

Nagle cały mój projekt w ogóle przestał się kompilować, pokazując następujący komunikat:

Program „path_to_obj_project_folder” nie zawiera statycznej metody „Main” odpowiedniej dla punktu wejścia

Nie wprowadziłem żadnych zmian we właściwościach projektu, po prostu dodałem kilka klas, przeniosłem inne klasy do folderów. Jest to projekt aplikacji WPF, więc wszystko powinno być w porządku. Punkt wejścia jest tam, gdzie powinien, plik App.xaml nie został w ogóle zmodyfikowany :(

Co mam zrobić, żeby znów zadziałało?

Odpowiedzi:


432

Sprawdź właściwości pliku App.xaml . Czy Build Actionnadal ApplicationDefinition?


10
Dzięki, to częściowo rozwiązało problem. Skopiowałem cały plik ze starego projektu do nowego Windows Store Appi Build Actionustawiono na Pagezamiast ApplicationDefinition. Wróciłem do ApplicationDefinition, ale musiałem też usunąć folder obj\Debug.
Richard H,

4
+1: Super! Naprawdę ratownik. Miałem właśnie stworzyć nowy projekt i skopiować wszystko, ale to załatwiło sprawę. Czego się nauczyłem: Nie zadzieraj z App.xaml ... To gryzie.
SPAWNED

1
Musiałem też ręcznie usunąć obj \ Debug; RebuildAll tego nie naprawił, nie mam pojęcia, dlaczego ...
Jay Borseth,

Ten sam problem w aplikacji UWP VS 2017. PageApplicationDefinition
Budowla

2
Build Actionprzełącza się na Pagepo wykluczeniu i ponownym włączeniu pliku App.xaml
CSharper

46

Może „Typ wyjścia” we właściwościach-> Aplikacja projektu musi być „Biblioteką klas” zamiast aplikacji konsoli lub systemu Windows.


W przypadku korzystania z kompilatora CLI typ wyjściowy biblioteki klas można określić za pomocą -t:libraryargumentu.
Glutexo

21

Na wszelki wypadek, gdyby ktoś miał ten sam problem ... Otrzymałem ten błąd i okazało się, że jest to <Application.Resources>mój plik App.xaml. Zasób znajdował się poza tagami słownika zasobów, co spowodowało ten błąd.


Miałem nieco inną odmianę. Miałem puste tagi Application.Resources i ich usunięcie rozwiązało problem.
YC

6

W moim przypadku (po ręcznej zmianie nazwy przestrzeni nazw aplikacji) musiałem ponownie wybrać obiekt Startup we właściwościach projektu.


1

Możesz również napotkać to, jeśli pracujesz nad projektem WPF, który został uruchomiony w VS 2010 (Beta 1), a następnie przeniesiony do VS 2008.

We właściwościach projektu wersja platformy .NET nie jest ustawiona (ponieważ .NET 4.0 nie jest poprawna w VS 2008) iz jakiegoś powodu powoduje ten błąd.

Jeśli ustawisz środowisko .NET (np. Na .NET 3.5), błąd zniknie.


1

Na wypadek, gdyby ktoś nadal otrzymywał ten sam błąd, nawet przy całej pomocy powyżej: miałem ten problem, wypróbowałem wszystkie podane tutaj rozwiązania i właśnie dowiedziałem się, że mój problem był w rzeczywistości kolejnym błędem z mojej listy błędów (która była o brakującym obrazie ustawionym jako mój ekran powitalny. Właśnie zmieniłem ścieżkę na właściwy i wszystko zaczęło działać)



0

Właściwości projektu \ Plik wyjściowy -> Wybierz bibliotekę klas :)


0

Wydaje mi się, że pixparker chciał powiedzieć, ale nie był wystarczająco jasny, przynajmniej dla mnie upewnij się, że ... Wszystkie "Inne projekty" mają wybrany "Typ wyjścia" z "Biblioteki klas", podczas gdy ... Wybrano tylko „Jeden projekt” jako wyjście „Aplikacja okna” lub „Aplikacja konsoli” .

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.