29 votes

Création de projet inutile pour Visual Studio 2008

J'ai un projet C # qui comprend un exe et 11 fichiers de bibliothèque. L'exe fait référence à toutes les bibliothèques, et lib1 peut référencer lib2, lib3, lib4, etc.

Si je modifie une classe dans lib1 et que je crée la solution, je suppose que seuls lib1 et l'exe devront être modifiés. Cependant, toutes les DLL et l'exe sont en cours de construction si je veux exécuter la solution.

Existe-t-il un moyen d'empêcher la construction des dépendances si elles n'ont pas été modifiées?

47voto

Sebastian Good Points 3146

Est la clé de cette phrase? "Cependant, toutes les dll et le fichier exe sont en cours de construction , si je veux courir la solution"

Visual Studio va toujours essayer de construire tout lorsque vous exécutez un seul projet, même si ce projet ne dépend pas de tout. Ce choix peut être changé, cependant. Allez dans Outils|Options|Projets et Solutions|Construire et d'Exécuter et de cocher la case "Seulement de construire des projets de démarrage et dépendances sur Exécuter". Ensuite, lorsque vous appuyez sur la touche F5, VS ne fera que renforcer votre démarrage du projet et la Dll elle dépend.

4voto

CMS Points 315406

Vous pouvez décocher l'option de compilation pour des projets dans votre configuration de la Solution:

SolutionProperties

Vous pouvez créer vos propres configurations de solution pour construire spécifique configurations de projet...

build config

4voto

Gulzar Nazim Points 35342

Je ne sais pas s'il existe un moyen d'éviter la construction de dépendances. Vous pouvez trouver des informations ici, comme définir copylocal sur false et placer les DLL dans un répertoire commun.

Optimisation de la construction de la solution Visual Studio - où placer les fichiers DLL?

4voto

RobS Points 6280

Nous avons effectivement eu ce problème sur mon projet actuel, dans notre scénario, même en cours d'exécution de tests unitaires (sans aucune modification de code) était à l'origine une recompilation. Vérifiez votre configuration de build de la "Plate-forme".

Si vous utilisez "any CPU", puis pour une raison quelconque, il reconstruit tous les projets, peu importe les changements. Essayez d'utiliser un processeur spécifique s'appuie, par exemple, x86 ou x64 (utiliser la plate-forme qui est spécifique à l'architecture de la machine de votre machine). Travaillé pour nous et pour les architectures x86 construit.

alt text

4voto

Arnshea Points 6270

Nous avons eu un problème similaire au travail. Dans les événements post-build, nous incorporions manuellement des manifestes dans les sorties du répertoire bin. Visual Studio copiait les références de projet à partir du répertoire obj (qui n'étaient pas modifiées). La différence d'horodatage a déclenché des reconstructions inutiles.

Si vos événements post-construction modifient les sorties du projet, modifiez les sorties dans le répertoire bin et obj OU copiez les sorties modifiées dans le répertoire bin en plus de celles du répertoire obj.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X