2009-03-12 5 views
5

Comment savoir si mon serveur de production utilise les DLL de génération de version? Y at-il un moyen de trouver cette information à l'intérieur dll?Comment puis-je savoir qu'une DLL n'est pas une version de débogage?


en double de:

+0

Le "Dupliquer" est correct mais les réponses ne répondaient pas à mes besoins. C'est un serveur de production et je n'ai pas accès à l'installation de ses propres applications ou d'une tierce partie. –

Répondre

11

Si elle est DLL aC# Vous pouvez ensuite utiliser ildasm (Program Files \ Microsoft SDKs \ Windows \ v6.0A \ bin \ ildasm.exe) pour trouver cette information.

1) Faites glisser DLL dans ILDASM

2) DBL-Cliquez sur le MANIFESTE

3) Rechercher:

// exemple .custom void [mscorlib] de System.Diagnostics.DebuggableAttribute: : .ctor (valuetype [mscorlib] System.Diagnostics.DebuggableAttribute/DebuggingModes) = (01 nn nn nn nn nn nn)

4) Pour les DLL DEBUG ce sera (01 00 07 01 00 00 00 00) et pour la publication (01 00 02 00 00 00 00 00) ou (01 00 03 00 00 00 00)

Faites-moi savoir si vous avez besoin d'informations supplémentaires! BTW C'est évidemment la solution non programmatique.

+0

C'est la solution non-programme que je cherchais :) Seul le problème est que ildasm.exe n'est pas une installation "standard" pour un serveur de production. –

+0

Oui, il n'y a rien qui rendra votre gars plus heureux que de coller quelques utilitaires sur le serveur de production! :-) Bonne chance –

2

Dans votre AssemlyInfo.cs vous pouvez inclure les éléments suivants:

#if DEBUG 
[assembly: AssemblyDescription("Your description - Debug")] 
#else 
[assembly: AssemblyDescription("Your description")] 
#endif 

Il sera facile de voir, lors de l'utilisation de la construction dans les propriétés de dialogue sur l'Explorateur de fichiers.

+0

Malheureusement, je n'ai pas de projet disponible pour compiler à nouveau :( –

Questions connexes