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?

Réponses:


432

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


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.


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.


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.


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.


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)



0

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


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" .

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.