2010-11-28 30 views
5

J'ai beaucoup de projets C# (Visual Studio 2008) et quelques-uns d'entre eux mettent à jour l'assemblage même s'il n'y a pas eu de changements (même quand je choisis Build et non Rebuild). La plupart de mes projets ne le font pas, c'est juste le nombre impair.Pourquoi mes projets se construisent-ils quand il n'y a pas de changements?

Je dois encore trouver une différence entre les projets et je me demandais si quelqu'un avait des idées ce qui pourrait être l'influencer. Pour être clair, je n'ai apporté aucune modification de code avant la construction, mais l'assemblage est toujours en cours de recréation lorsque j'exécute la commande Build dans Visual Studio.

Je suis désolé, je ne peux pas donner de détails, mais s'il vous plaît laissez-moi savoir s'il y a quelque chose que je peux vérifier que peut faire la lumière.

Quelqu'un peut-il aider? Je me suis arraché les cheveux pendant un moment.

Merci, Alan

Répondre

1

Je ne suis pas allé au fond de celui-ci et j'ai fini par reconstruire l'un des projets. Il s'est avéré que tout cela provenait de ce projet qui était toujours en train de se reconstruire.

Je pense qu'il avait quelque chose à voir avec les ressources intégrées en cours de reconstruction à chaque fois. Désolé, je n'ai pas de réponse définitive à ce problème. Merci à RobV aussi pour l'information utile.

Alan

+0

J'accepte toujours la réponse qui m'a indiqué de la bonne façon, même si ce n'est pas une réponse précise à 100%. Ensuite, je modifie ma question pour inclure des informations que je me suis découvert (avec l'aide de la réponse) – jgauffin

+0

OK, je vais considérer cela à l'avenir. Je viens de remarquer que j'avais laissé celui-ci suspendu et que je voulais fermer la boucle avant de l'oublier à nouveau ... –

+0

Merci! Cela m'a aidé ... cinq ans plus tard :) – Frode

4

Il y a quelque chose appelé les dépendances du projet.

Lorsque l'un de votre projet dépend d'un ou plusieurs autres projets et vous le construisez les autres projets que vos projets dépend de commencera également à construire (si nécessaire). De plus, si les dépendances ont changé, les projets qui en dépendent seront toujours reconstruits.

Vous pouvez clic droit sur Solution et sélectionnez Ordre de Project pour une fenêtre qui explique l'ordre dans lequel les projets sont construits et les dépendances pour chaque projet.

+1

Même s'ils n'ont pas changé depuis leur dernière version? –

+0

oui! vous pouvez changer de les construire ou non dans le gestionnaire de configuration. –

7

En fait, Hans' maintenant supprimé réponse m'a fait la bonne direction. Cranking m'a dit en diagnostic de la verbosité de MSBuild à que VS considéré comme un projet toujours à jour parce qu'un fichier avait « Copier dans le répertoire de sortie » sur « Copier toujours ». Et les autres projets suivis de cela parce qu'ils dépendaient de ce projet ont remarqué que la DLL nouvellement construite était plus récente que l'un de leurs propres fichiers de sortie. La modification de "Copier dans le répertoire de sortie" vers "Copier si plus récent" a permis de résoudre ce problème.

+0

C'était le problème exact que je voyais dans ma solution - un projet avait un fichier de configuration qui était réglé sur "copier toujours", ce qui l'a ensuite amené à déclencher tous les projets dépendants à reconstruire à chaque fois! – benjymous