Il est important de comprendre qu'il existe deux compilations entièrement séparées pour votre projet. Le premier est celui que vous faites dans Visual Studio. La seconde est celle que fait ASP.NET juste avant que la page ne soit servie. Le si DEBUG à l'intérieur de votre vue est fait dans la deuxième étape. La version que vous décrivez est la première étape. Par conséquent, le paramètre de débogage/édition de votre projet n'a rien à voir avec le paramètre de débogage dans Web.config/le compilateur ASP.NET.
En outre, il serait totalement inapproprié pour votre version de Visual Studio de modifier le paramètre de débogage dans Web.config. Ce sont deux compilations séparées, et l'une ne devrait pas affecter l'autre. D'autre part, vous avez probablement un besoin parfaitement raisonnable de faire en sorte que votre vue se comporte différemment lorsque vous déboguez dans Visual Studio, et vous pouvez le faire. Vous avez juste besoin de déplacer l'instruction "if" en dehors de la vue et dans quelque chose qui est compilé par Visual Studio, au lieu de ASP.NET. Nous faisons cela avec un assistant HTML. Par exemple:
/// <summary>
/// Returns the HTML to include the appropriate JavaScript files for
/// the Site.Master.aspx page, depending upon whether the assembly
/// was compiled in debug or release mode.
/// </summary>
/// <returns>HTML script tags as a multi-line string.</returns>
public static string SiteMasterScripts(this UrlHelper helper)
{
var result = new StringBuilder();
#if DEBUG
result.AppendFormat("<script src=\"{0}\" type=\"text/javascript\"></script>", helper.Content("~/Content/js/MicrosoftAjax.debug.js"));
#else
result.AppendFormat("<script src=\"{0}\" type=\"text/javascript\"></script>", helper.Content("~/Content/js/MicrosoftAjax.js"));
#endif
// etc. ...
Cela inclut les fichiers de débogage JS lors de l'exécution dans la configuration de débogage dans Visual Studio, mais réduite au minimum JS autrement.
Commutation entre le minifié et le full javascript/css était exactement la raison pour laquelle je l'utilisais IF DEBUG. Merci pour votre réponse. –
Il est rendu confus car Visual Studio grise le mauvais bloc de texte. – ajbeaven
+1 très bonne explication sur deux compilateurs. Cela a du sens maintenant. – ashes999