web-dev-qa-db-fra.com

Visual Studio 2010 ne construit pas avant une exécution lorsqu'il y a des modifications de code

J'utilise F5 (Start Debugging) depuis des années pour générer le code (s'il est obsolète), puis pour le débogage. Cela fonctionnait également sur VS 2010, mais aujourd'hui, il ne fait que commencer le débogage sans construction. Dites que je fais un nettoyage sur le projet, puis appuyez sur F5 au lieu de le construire afin qu'il puisse s'exécuter jette un message d'erreur indiquant que le fichier exe n'existe pas. Comment puis-je le construire en premier? Qu'est-ce qui aurait pu changer?

121
jamone

Outils + Options, Projets et solutions, Construire et exécuter. "On Run, lorsque les projets sont obsolètes" = Toujours construire. Celui ci-dessous = Ne pas lancer.

163
Hans Passant

J'ai eu ce problème et il s'est avéré que c'était le Gestionnaire de configuration. J'ai récemment changé de Debug | CPU mixte en Debug | Tout CPU et le projet n'était pas configuré pour être construit sous cette configuration

118
Tim

ouvrez votre gestionnaire de configuration et vérifiez si la case à cocher dans la colonne de génération de votre projet de démarrage est cochée. J'ai eu le même problème, mais la case à cocher n'était pas active, alors je l'ai vérifiée et maintenant ça fonctionne!

21
Michael Scherf

En plus de ce qui précède, assurez-vous également que l'option 'Ne générer que les projets de démarrage et les dépendances lors de l'exécution' est désactivée (dans Outils -> Options -> Projets et solutions -> Construire et exécuter).

15
Alo

J'ai eu ce problème également. J'ai vérifié tout ce qui était suggéré en vain. Il s’avère que mon horloge sur mon ordinateur a été retardée d’environ 12 heures et j’économisais sur un lecteur réseau. Les horodatages des fichiers étaient hors d'usage, et VS ne pensait pas qu'il faille construire mon projet, car les fichiers étaient extrêmement à jour. 

9
Vinnie

Depuis quelque temps déjà, je ne comprenais pas pourquoi mon ordinateur portable (dual core 2 GHz, 2 Go RAM) compilait mon site Web plus rapidement que mon ordinateur de bureau (quad core 3Go avec 16 Go de RAM). Les deux ont des disques SSD. Les options de construction sont toutes définies correctement (le même, noyau compte = les constructions parallèles), mais l'ordinateur portable exécute le site en quelques secondes et le serveur d'arrêt automatique exécute le site en 30 secondes environ.

Une option supplémentaire a été trouvée sous les "Pages de propriétés" du site. Sous le paramètre Construire, l'ordinateur portable a été réglé sur "Aucune construction" et le bureau sur "Construire et exécuter". Je ne l'ai trouvé qu'après que le site a été exécuté sur l'ordinateur portable sans vérification d'erreur de compilation.

Peut aider quelqu'un dans le futur alors j'ai pensé l'ajouter à ce post

3
Jeggs

Un autre point à vérifier se trouve sous la page de propriétés de la solution --> Propriétés de la configuration -> configuration: assurez-vous que toutes les cases à cocher situées sous Colonne de construction sont cochées pour le projet à ré-exécuter 

2
Daniel Nguyen

Pour moi, cela se passait à cause des paramètres de configuration de la construction. Ma solution Visual Studio comporte plusieurs projets qui associent projets C # et C++. Maintenant, je me suis rendu compte que, pour une raison étrange, Visual Studio préfère ne pas construire de projets C++ par défaut, ce qui est évident dans les paramètres de configuration de la construction. Je l'ai remarqué juste après avoir ajouté un nouveau projet C++ dans la solution. Je ne sais pas pourquoi VS ne suit pas la même approche lors de l'ajout d'un nouveau projet C # à la solution.

Cliquez avec le bouton droit sur le fichier de solution dans l'explorateur de solutions -> Cliquez sur les propriétés du menu contextuel -> Sélectionnez le nœud Propriétés de configuration dans le volet de gauche -> Sélectionnez le nœud Configuration}. Il affiche la liste de tous les projets de la solution. Le premier projet LearnDs est un projet C++. Notez la case à cocher dans la colonne de construction dans la première ligne. C'est décoché. C'est la raison pour laquelle Visual Studio 2010 ne construisait pas mon projet C++ (en appuyant sur F5) qui contenait certaines modifications depuis sa dernière compilation.

 enter image description here

Au moment où j'ai coché la case correspondante et enregistré les paramètres de configuration de construction de la solution, cela a fonctionné. Maintenant, je vois ci-dessous Invite chaque fois que j'appuie sur F5, car VS est en mesure de détecter de nouveaux changements depuis sa dernière création. Cette invite vient du fait que mes paramètres dans menu Outils -> sous-menu Options -> nœud Projets et solutions -> Nœud Créer et exécuter -> "À l'exécution, lorsque les projets sont obsolètes" est défini sur Prompt to build. Si vous n'aimez pas cette invite, définissez-la sur Always build.

 enter image description here

1
RBT

J'ai essayé les solutions précédentes avec des résultats mitigés. MAIS cela semble fonctionner pour moi chaque fois que je vais à Build -> Clean Solution 

Mais il devient agaçant de devoir le faire à chaque fois. 

1
user2813625

Si vous utilisez Resharper, il vous suffit de réinitialiser tous les paramètres 

https://i.stack.imgur.com/VmuM1.png

0
farouk osama

Outil -> Options -> Projet et solutions.

  1. Définir comme toujours Construire/Demander à Construire pour "On Run, Le projet est obsolète" 
  2. Décochez la case "Construire uniquement les projets de démarrage et les dépendances sur Exécuter"
0
Poovizhi