2009-03-20 6 views
0

Je me bats avec le but du gestionnaire de configuration de build dans Visual Studio 2008. Plus précisément, je voudrais savoir ce qu'il fait lors de l'élaboration d'une application console et également une application web (projet d'application Web). Le fait de le mettre en mode Debug ou Release fait-il une différence lorsque vous développez et exécutez l'application dans le contexte de VS2008? Qu'est-ce que c'est quand vous voulez construire la solution?Quel est l'objectif de Build Configuration Manager dans VS2008?

Répondre

2

Configuration Manager Build vous permet de définir différentes combinaisons d'options de construction du projet pour trouver une solution. Par exemple, disons que vous avez une solution avec 4 projets, log4net, un DAL, une couche de gestion et le site Web. La plupart du temps, vous voulez exécuter le site Web et la couche de gestion dans le débogage, mais le DAL et log4net en mode de libération. Parfois, vous aurez aussi besoin de lancer la DAL dans le débogage, mais seulement sur une occurrence rare, vous voudrez tout exécuter dans le débogage. Le gestionnaire de configuration vous permet de définir des configurations de ce type.

De plus, vous pouvez définir une version 64 bits qui ont des projets et d'autres cibles x64 ciblent AnyCPU en fonction des besoins. Ou même un objectif de construction qui excluait des projets spécifiques et en incluait d'autres en fonction des besoins. Donc, en bref, le gestionnaire de configuration vous permet de contrôler les relations de construction inter-processus à un niveau supérieur au débogueur-simpliste ou à la libération-tout simpliste.

Je suppose également que 99% du temps, vous n'aurez pas besoin de jouer avec le gestionnaire de configuration de toute façon. :-)

0

J'ai trouvé cet outil incroyablement utile dans les situations suivantes:

1- Vous avez beaucoup de projets dans une solution, et que vous voulez construire que le projet que vous travaillez actuellement sur (qui prend 10s au lieu de 2mn)

2- Vous devez produire un type de base régulière différente de builds (debug vs version, x64 vs x86, etc.)

pour répondre à votre question concernant les différences entre débogage et le mode de sortie, cela fait définitivement une différence. En règle générale, VS compilera votre code "tel quel" lors de la construction en mode débogage, alors qu'il optimisera (par exemple, inlining, etc.) les choses en mode de libération.

Par exemple, si vous construisez ce code:

public bool Foo(){ 
    return true; // put a breakpoint here, and move the execution position to the next line 
    console.WriteLine("Foo"); 
    return true; 
    } 

En mode débogage, vous serez en mesure de le faire, pas en mode de libération (car le compilateur a détecté le code a été injoignable et hasn »

+0

En fait, votre point d'arrêt ne sera jamais atteint en mode débogage, soit parce que le programme n'y arrivera jamais – demoncodemonkey

+0

whooops, j'ai édité mon post pour mieux expliquer ce que je voulais dire – Brann

Questions connexes