Le programme ne contient pas de méthode statique «principale» adaptée à un point d'entrée

169

Soudain, tout mon projet a cessé de se compiler, affichant le message suivant:

Le programme 'path_to_obj_project_folder' ne contient pas de méthode statique 'Main' adaptée à un point d'entrée

Je n'ai apporté aucune modification aux propriétés du projet, j'ai simplement ajouté quelques classes, déplacé d'autres classes dans des dossiers. C'est un projet d'application WPF, donc tout devrait être OK. Le point d'entrée est là où il devrait être, le fichier App.xaml n'a pas du tout été modifié :(

Que dois-je faire pour que cela fonctionne à nouveau?

Monsieur Anderson
la source

Réponses:

432

Vérifiez les propriétés d' App.xaml . Est-ce Build Actiontoujours ApplicationDefinition?

Kent Boogaart
la source
10
Merci, cela a partiellement résolu le problème. J'avais copié tous les fichiers d'un ancien projet vers un nouveau Windows Store Appprojet, et le Build Actionétait réglé sur au Pagelieu de ApplicationDefinition. Je suis revenu à ApplicationDefinition, mais j'ai également dû supprimer le dossier obj\Debug.
Richard H
4
+1: Génial! Vraiment une bouée de sauvetage. J'étais sur le point de créer un nouveau projet et de tout copier, mais cela a fait l'affaire. Qu'ai-je appris: ne plaisante pas avec App.xaml ... ça mord.
renouvelé le
1
J'ai également dû supprimer manuellement obj \ Debug; RebuildAll n'a pas résolu le problème, je ne sais pas pourquoi ...
Jay Borseth
Même problème dans une application UWP VS 2017. La construction était pour Pageplutôt queApplicationDefinition
Paulustrious
2
Build Actionbascule sur Pagelorsque vous excluez et ré-incluez le fichier
App.xaml
46

Peut-être que le "Type de sortie" dans les propriétés-> Application du projet doit être une "Bibliothèque de classes" au lieu d'une application console ou Windows.

Kervin Ramen
la source
Lors de l'utilisation d'un compilateur CLI, le type de sortie de la bibliothèque de classes peut être spécifié par un -t:libraryargument.
Glutexo
21

Juste au cas où quelqu'un aurait le même problème ... <Application.Resources>J'obtenais cette erreur, et il s'est avéré être mon fichier App.xaml. J'avais une ressource en dehors de mes balises de dictionnaire de ressources, et cela a causé cette erreur.

AndyA
la source
J'ai eu une variation légèrement différente. J'avais des balises Application.Resources vides et je les ai supprimées.
YC
6

Dans mon cas (après avoir renommé manuellement l'espace de noms d'application), j'ai dû resélectionner l'objet de démarrage dans les propriétés du projet.

Eugène Griaznov
la source
1

Vous pouvez également rencontrer cela si vous travaillez sur un projet WPF qui a été démarré dans VS 2010 (bêta 1), puis déplacé dans VS 2008.

Sous les propriétés du projet, la version du framework .NET n'est pas définie (puisque .NET 4.0 n'est pas valide dans VS 2008) et, pour une raison quelconque, cela provoque cette erreur.

Si vous définissez le framework .NET (par exemple sur .NET 3.5), l'erreur disparaît.

Ryan Lundy
la source
1

Juste au cas où quelqu'un obtiendrait toujours la même erreur, même avec toute l'aide ci-dessus: j'ai eu ce problème, j'ai essayé toutes les solutions données ici, et je viens de découvrir que mon problème était en fait une autre erreur de ma liste d'erreurs (qui était à propos d'une image manquante définie pour être mon écran de démarrage. J'ai juste changé son chemin vers la bonne et tout a commencé à fonctionner)

leoneboaventura
la source
1

J'ai eu la même erreur mais j'ai découvert que j'avais tapé petit m au lieu de majuscule M dans la méthode principale

Arun Pandey
la source
Ouais, j'ai oublié que c'est sensible à la casse. Merci!
Emanuel Vintilă
Voyez plutôt si la "propriété" de votre application a été définie correctement comme un projet / une classe de démarrage par défaut. stackoverflow.com/questions/9538404
Bimal Poudel
0

Propriétés du projet \ Fichier de sortie -> Sélectionnez la bibliothèque de classes :)

pixparker
la source
0

Comme quoi, je suppose que pixparker voulait le dire, mais cela ne restait pas assez clair, du moins pour moi, assurez-vous que ... Tous les "Autres projets" ont un "Type de sortie" de "Bibliothèque de classes" sélectionné alors que ... Seul "Un projet" est sélectionné comme sortie "Application Fenêtre" ou "Application Console" .

Faraz Ahmed Qureshi
la source