Visual Studio 2010 ne se construit pas avant une exécution en cas de modifications de code

126

J'utilise F5 (Démarrer le débogage) depuis des années pour créer le code (s'il est obsolète), puis déboguer. Cela fonctionnait également sur VS 2010, mais aujourd'hui, il ne fait que commencer le débogage sans build. Disons que je nettoie le projet, puis que j'appuie sur F5 au lieu de le construire pour qu'il puisse l'exécuter, il lance un message d'erreur indiquant que l'exe n'existe pas pour s'exécuter. Comment puis-je le faire construire en premier? Qu'est-ce qui aurait pu changer?

jamone
la source
1
J'ai eu le même problème. Cela s'est produit du premier au lendemain et je n'ai rien changé dans la boîte de dialogue Options. La réponse de Hans a résolu mon problème.
jbe
Je viens de rencontrer cela récemment, j'ai publié un rapport de bogue sur msft connect, exprimez votre vote pour, espérons-le, les faire réparer connect.microsoft.com/VisualStudio/feedback/details/626414
Jason

Réponses:

164

Outils + Options, Projets et Solutions, Build and Run. "On Run, when projects are out of date" = Toujours construire. Celui ci-dessous = ne pas lancer.

Hans Passant
la source
7
Juste vérifié et réglé sur Always Build ... Donc, il ne devrait pas faire cela.
jamone
5
Fonctionne sur ma machine. Utilisé pour travailler sur le vôtre. Le redémarrage est le suivant.
Hans Passant
3
Le redémarrage ne l'a pas résolu, mais en changeant le "En cours d'exécution, lorsque les projets sont obsolètes" = Toujours construire pour Ne pas lancer l'enregistrement / quitter VS puis le modifier à nouveau corrigé.
jamone
3
C'est un bug. Vous voulez le soumettre à connect.microsoft.com?
Hans Passant
1
@Hans: bien sûr, comment reproduisez-vous cela? Convaincre les gens de Microsoft Connect qu'il s'agit vraiment d'un problème est presque impossible à moins qu'il ne soit reproductible. Ce qui n'a que du sens, comme si vous ne pouvez pas, alors il y a de
fortes
119

J'ai eu ce problème et il s'est avéré être le gestionnaire de configuration. J'avais récemment changé de Debug | CPU mixte à Debug | N'importe quel CPU et le projet n'était pas configuré pour être construit sous cette configuration

Tim
la source
Cela l'a également résolu pour moi - semble être la cause probable de ce problème.
gstercken
3
Bon conseil! Pas quelque chose auquel tu penserais. Merci
Almund
1
Ouais, cela a résolu le problème pour moi! Il suffit de cliquer sur toutes les cases à cocher à côté pour créer le gestionnaire de configuration. Merci Tim!
chaz
Correction d'un problème similaire pour moi aussi. Merci!
Austin Thompson
1
Mon problème était la mauvaise configuration sélectionnée! J'avais un projet séparé où chaque configuration est une langue différente, et le combo a été défini sur l'une de ces configurations. Je viens de le changer en Debug_Unicode et maintenant il est en cours de construction!
sergiol
22

ouvrez votre gestionnaire de configuration et vérifiez si la case à cocher dans la colonne de construction 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 marche!

Michael Scherf
la source
Merci m'a aidé. J'ai négligé l'option. ;)
Skalli
17

En dehors de ce qui précède, assurez-vous également que `` Créer uniquement les projets de démarrage et les dépendances lors de l'exécution '' n'est pas coché (dans Outils -> Options -> Projets et solutions -> Construire et exécuter)

Alo
la source
1
J'avais ce problème et c'était LA solution. Merci.
Roberto Luis Bisbé
1
Cela a résolu le problème pour moi mais semble être un bug. Le projet en question est une dépendance et doit être construit.
KingOfHypocrites
C'est un paramètre horrible à ne pas cocher si vous avez plus d'un projet de démarrage ou des projets de test.
cbp
Je vous remercie!! Microsoft devrait reformuler et modifier cela pour qu'il soit significatif. Je ne sais pas ce que cela signifie de faire quand il est vérifié.
Cameron
10

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 PC avait été avancée d'environ 12 heures et que j'économisais sur un lecteur réseau. Les horodatages des fichiers étaient désordonnés, et VS ne pensait pas qu'il fallait construire mon projet car les fichiers étaient super à jour.

Vinnie
la source
3

Depuis un moment, je ne comprends toujours pas pourquoi mon ordinateur portable (double cœur 2 GHz, 2 Go de RAM) a compilé mon site Web plus rapidement que mon ordinateur de bureau (quadricœur 3 GHz avec 16 Go de RAM). Les deux ont des disques SSD. Les options de construction sont toutes définies correctement (le même, nombre de cœurs = constructions parallèles), mais l'ordinateur portable exécute le site en quelques secondes et le dekstop exécute le site en environ 30 secondes.

Une option supplémentaire a été trouvée sous les "Pages de propriétés" du site, sous le paramètre de construction, l'ordinateur portable a été défini sur "Aucune construction" et le bureau sur "Construire et exécuter". Je ne l'ai trouvé qu'après l'exécution du site sur l'ordinateur portable sans rechercher une erreur du compilateur.

Pourrait aider quelqu'un à l'avenir, alors j'ai pensé l'ajouter à ce post

Jeggs
la source
2

Un autre point à vérifier se trouve sous la page de propriétés de la solution -> Propriétés de configuration -> configuration: assurez-vous que toutes les cases à cocher sous Construire la colonne sont cochées pour le projet dont vous avez besoin d'être à nouveau respecté.

Daniel Nguyen
la source
1

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 ça devient ennuyeux de devoir faire ça à chaque fois.

user2813625
la source
1

Pour moi, cela se produisait à cause des paramètres de configuration de construction. Ma solution de studio visuel a un certain nombre de projets qui sont un mélange de projets C # et C ++. Maintenant, j'ai réalisé que pour une raison étrange, Visual Studio préfère ne pas créer de projets C ++ par défaut, ce qui est évident par les paramètres de configuration de 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 # dans la solution.

Cliquez avec le bouton droit sur le fichier de solution dans l'explorateur de solutions -> Cliquez sur les propriétés dans le menu contextuel -> Sélectionnez le nœud Propriétés de configuration dans le volet 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 de la première ligne. Il n'est pas coché. C'était la raison pour laquelle Visual Studio 2010 ne construisait pas mon projet C ++ (en appuyant sur F5), qui contenait des modifications depuis sa dernière génération.

entrez la description de l'image ici

Au moment où j'ai coché la case correspondante et enregistré les paramètres de configuration de construction pour la solution, cela a fonctionné. Maintenant, je vois l'invite ci-dessous chaque fois que j'appuie sur F5 car VS est capable de détecter qu'il y a eu de nouveaux changements depuis sa dernière construction. Cette invite est due au fait que mes paramètres dans le menu Outils -> Sous - menu Options -> Nœud Projets et solutions -> Nœud Construire et exécuter -> "En cours d'exécution, lorsque les projets sont obsolètes" sont définis sur Prompt to build. Si vous n'aimez pas cette invite, définissez-la sur Always build.

entrez la description de l'image ici

RBT
la source
1

Outil -> Options -> Projet et solutions.

  1. Définir comme Toujours construire / Inviter à générer pour "Lors de l'exécution, le projet est obsolète"
  2. Décochez la case "Créer uniquement les projets de démarrage et les dépendances lors de l'exécution"
Poovizhi
la source