Программа не содержит статического метода 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 ... Он кусается.
повторно ОТПРАВЛЕНО
1
Мне также пришлось вручную удалить obj \ Debug; RebuildAll это не исправить, понятия не имею, почему ...
Джей Borseth
Та же проблема в приложении VS 2017 UWP. PageApplicationDefinition
Сборка
2
Build Actionпереключается на Pageисключение и повторное включение файла
App.xaml
46

Может быть, «Тип вывода» в свойствах-> Приложение проекта должен быть «Библиотекой классов» вместо приложения консоли или Windows.

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

На всякий случай, если у кого-то возникла такая же проблема ... Я получил эту ошибку, и она оказалась моей <Application.Resources>в моем файле App.xaml. У меня был ресурс вне тегов словаря ресурсов, и это вызвало эту ошибку.

Andya
источник
У меня был немного другой вариант. У меня были пустые теги Application.Resources и удаление исправленных для меня.
YC
6

В моем случае (после переименования пространства имен приложения вручную) мне пришлось повторно выбрать объект «Автозагрузка» в свойствах проекта.

Евгений Грязнов
источник
1

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

В свойствах проекта версия платформы .NET не устанавливается (поскольку .NET 4.0 недействительна в VS 2008) и по какой-то причине вызывает эту ошибку.

Если вы установите .NET Framework (например, .NET 3.5), ошибка исчезнет.

Райан Ланди
источник
1

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

leoneboaventura
источник
1

У меня та же ошибка, но потом я узнал, что набрал маленькую букву m вместо заглавной M в методе Main

Арун Пандей
источник
Да, забыл, что это чувствительно к регистру. Спасибо!
Эмануэль Винтилэ
Скорее посмотрите, правильно ли было определено свойство вашего приложения для запуска проекта / класса по умолчанию. stackoverflow.com/questions/9538404
Бимал Пудель
0

Свойства проекта \ Выходной файл -> Выбрать библиотеку классов :)

pixparker
источник
0

Что, я думаю, что pixparker хотел сказать, но оставалось неясным, по крайней мере, для меня, убедитесь, что ... Все "Другие проекты" имеют выбранный "Тип вывода" из "Библиотеки классов", в то время как ... Только «Один проект» выбирается как «Оконное приложение» или «Консольное приложение» .

Фараз Ахмед Куреши
источник