Comment déterminer si mon application a été compilée en tant que "version" au lieu de "déboguer"? Je suis allé à VS 2008 Propriétés du projet> Construire et définir la configuration de déboguer à libérer mais je n'ai remarqué aucun changement? C'est un projet ASP.NET.Sortie d'Asp.net build vs debug build
Répondre
Pour un dans le fichier Web.config, le débogage sera défini sur true, mais vous pouvez également le définir dans une application de version.
Dans debug définit cependant comme DEBUG sont réglés, il est donc simple:
bool is_debug;
#ifdef DEBUG
is_debug = true;
#else
is_debug = false;
#endif
Le débogage est défini dans Web.config uniquement si vous le définissez explicitement, ou vous appuyez sur F5 pour exécuter le site Web et lui permettre de modifier le fichier de configuration. Ce paramètre n'est pas un indicateur de ce que * build configuration * est sélectionné. – Gromer
Etes-vous sûr? Ahh ben nm là-dessus alors: / – Lloyd
Si vous voulez savoir si le dll a été construit en mode débogage, avec les attributs de débogage, alors votre meilleur pari est la réflexion.
à partir des « How to tell if an existing assembly is debug or release »:
Assembly assembly = Assembly.GetAssembly(GetType());
bool debug = false;
foreach (var attribute in assembly.GetCustomAttributes(false)){
if (attribute.GetType() == typeof(System.Diagnostics.DebuggableAttribute)){
if (((System.Diagnostics.DebuggableAttribute)attribute)
.IsJITTrackingEnabled){
debug = true;
break;
}
}
}
Cela aura l'assemblée qui appelle ce code (en effet lui-même), puis définissez le booléen de débogage true si l'ensemble a été compilé en mode débogage, sinon c'est faux.
Cela pourrait facilement être déposé dans une application de la console (comme dans l'exemple lié), puis vous passez dans le chemin de la DLL/EXE que vous voulez vérifier. Vous chargez l'assemblage d'un chemin comme celui-ci:
Assembly assembly =
Assembly.LoadFile(System.IO.Path.GetFullPath(m_DllPath.Text));
Vous avez besoin de chercher plus IsJITTrackingEnabled - ce qui est tout à fait indépendamment du fait que le code ou non compilé pour l'optimisation et l'optimisation JIT.
En outre, le DebuggableAttribute est présent si vous compilez en mode Release et choisissez DebugOutput à autre chose que "none".
S'il vous plaît se référer à mes messages: How to Tell if an Assembly is Debug or Release et How to identify if the DLL is Debug or Release build (in .NET)
- 1. Debug/build standard d'application Java
- 2. Visual Studio 2005 Build de Python avec Debug .lib
- 3. ASP.Net Version/Build Number
- 4. .Net Build Automation
- 5. Horodatage pendant MS Build
- 6. Chromium Build échoue sur Windows
- 7. JavaScript build options/tools
- 8. Déploiement de build Maven
- 9. Stop CruiseControl.NET auto build
- 10. Team build et Dotfuscator
- 11. Visual Studio, MS Build
- 12. netbeans - scp after build
- 13. VS 2008 C# Build ne montrant pas toutes les erreurs?
- 14. Suivi automatique du numéro de build dans VS 2005?
- 15. VSTS Unit test - build system
- 16. Désactiver gcov dans gcc build
- 17. maven build execute svn get
- 18. Maven 2 plugin, build + surefire
- 19. Dépendance inconnue dans Maven Build
- 20. Initiation "get" par Team Build
- 21. Solution gratuite Visual Studio Build Automation
- 22. Comment passer un commutateur de ligne de commande à XCode lorsque je lance 'Build and Debug'
- 23. Sortie BlackBerry Debug
- 24. Quelle est la différence entre "Build and Go (Run)" et "Build and Run" dans XCode?
- 25. Mettre le numéro de build actuel de la configuration 'release' dans la configuration 'nightly build'?
- 26. Quelle est la différence entre Build Solution et Batch Build dans Visual Studio 2008?
- 27. Comment réparer une build CMake apparemment corrompue?
- 28. Hibernate Core daily/weekly build Référentiel Maven
- 29. Post-build Erreur d'événement Visual Studio 2008
- 30. Changements quotidiens de build et SQL Server
questions Stackoverflow des similaires, une question, et beaucoup, beaucoup de réponses différentes: http://stackoverflow.com/questions/654450/programatically- détection-libération-debug-mode-net http://stackoverflow.com/questions/798971/how-to-idenfiy-if-the-dll-is-debug-or-release-build-in-net http://stackoverflow.com/questions/194616/how-to-tell-if-net-app-was-compiled-in-debug-or-release-mode http://stackoverflow.com/questions/50900/best-way-to-detect-a-release-build-from-a-debug-build-net http://stackoverflow.com/questions/890459/ asp-net-version-build-vs-debug-build – Kiquenet