Програма не містить статичного методу "Main", придатного для точки входу


169

Раптом весь мій проект взагалі перестав збирати, показавши таке повідомлення:

Програма 'path_to_obj_project_folder' не містить статичного методу 'Main', придатного для точки входу

Я не змінював властивостей проекту, просто додав деякі класи, перемістив деякі інші класи в папки. Це проект програми WPF, тому повинно бути все гаразд. Точка входу там, де має бути, файл App.xaml взагалі не змінено :(

Що мені робити, щоб він знову працював?

Відповіді:


432

Перевірте властивості App.xaml . Це Build Actionвсе-таки ApplicationDefinition?


10
Дякую, що частково виправлена ​​проблема. Я скопіював весь файл зі старого проекту в новий Windows Store Appпроект, а замість нього Build Actionбуло встановлено . Я перейшов назад , але папку також довелося видалити . PageApplicationDefinitionApplicationDefinitionobj\Debug
Річард Н

4
+1: Дивовижно! Воістину рятівник. Я збирався створити новий проект і скопіювати все, але це зробило трюк. Що я навчився: Не возиться з App.xaml ... Це кусає.
reSPAWNed

1
Я також повинен був вручну видалити obj \ Debug; RebuildAll не виправили це, навіть не знаю, чому ...
Jay Borseth,

Та ж проблема в застосуванні UWP VS 2017. PageApplicationDefinition
Збірка

2
Build Actionперемикається, Pageколи ви виключаєте та знову включаєте файл
App.xaml

46

Можливо, "Тип виводу" у властивостях-> Застосування проекту має бути "Бібліотека класів" замість консолі чи програми Windows.


При використанні компілятора CLI тип виводу бібліотеки класів може бути визначений -t:libraryаргументом.
Glutexo

21

Про всяк випадок, якщо у когось є однакові проблеми ... Я отримував цю помилку, і вона виявилася моєю <Application.Resources>у моєму файлі App.xaml. У мене був ресурс поза тегами словника ресурсів, і це спричинило цю помилку.


У мене була дещо інша варіація. У мене були порожні теги Application.Resources та видалення тих, що їх виправили.
YC

6

У моєму випадку (після перейменування простору імен додатків вручну) мені довелося повторно вибрати об’єкт запуску у властивості Project.


1

Ви також можете зіткнутися з цим, якщо ви працюєте над проектом WPF, який був запущений у VS 2010 (бета-версія 1), а потім перейшов у VS 2008.

Відповідно до властивостей проекту, версія .NET Framework вимикається (оскільки .NET 4.0 не дійсна у VS 2008), і чомусь це викликає цю помилку.

Якщо встановити .NET Framework (наприклад, .NET 3.5), помилка усувається.


1

На всякий випадок, якщо хтось все-таки отримує ту саму помилку, навіть при всій допомозі, наведеній вище: у мене була ця проблема, я спробував усі наведені тут рішення, і я просто з’ясував, що моя проблема насправді була черговою помилкою зі мого списку помилок (що було про відсутнє зображення, яке було моїм екраном сплеску. Я просто змінив шлях на потрібний, а потім все почало працювати)


1

У мене така ж помилка, але потім я дізнався, що я ввів метод малого m замість великого М основним методом


Так, забув, що це чутливість до регістру. Дякую!
Емануель Вінтілья

Швидше дивіться, чи правильно визначено "властивість" вашої програми. stackoverflow.com/questions/9538404
Bimal Poudel


0

Як що, я думаю , pixparker хотів сказати, але залишився не цілком ясно, для мене , по крайней мере, не переконаєтеся , що ... Всі «Проекти» мають «тип виходу» з «Class Library» обраний в той час як ... Вибирається лише "Один проект" як вихід "Вікно програми" або "Консольна програма" .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.