2009-03-12 8 views
5

Woher weiß ich sicher, dass mein Produktionsserver Release-Build-DLLs verwendet. Gibt es eine Möglichkeit, diese Informationen in der DLL zu finden?Wie kann ich wissen, eine DLL ist kein Debug-Build


Duplizieren von:

+0

Die "Duplicate" ist korrekt, aber die Antworten dort waren nicht meine Bedürfnisse. Es ist ein Produktionsserver und ich habe keinen Zugriff auf die Installation weder eigener Apps noch Dritter. –

Antwort

11

Wenn es aC# DLL ist, dann können Sie ildasm verwenden (Program Files \ Microsoft SDKs \ Windows \ v6.0A \ bin \ ildasm.exe), um diese Informationen zu finden.

1) Drag-DLL in ILDASM

2) DBL-Klicken Sie auf den manifesten

3) Suchen Sie nach:

// .custom Instanz void [mscorlib] System.Diagnostics.DebuggableAttribute: : .ctor (Valuetype [mscorlib] System.Diagnostics.DebuggableAttribute/DebuggingModes) = (01 nn nn nn nn nn nn nn)

4) für Debug-DLLs wird (01 00 07 01 00 00 00 00) und zur Freigabe (01 00 02 00 00 00 00 00) oder (01 00 03 00 00 00 00)

Lassen Sie mich wissen, wenn Sie weitere Informationen benötigen! BTW Dies ist offensichtlich die nicht programmatische Lösung.

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

Das macht es einfach, zu sehen, wenn die Build-in-Eigenschaften auf Datei-Explorer-Dialog:

+0

Es ist die nicht-programmatische Lösung, die ich gesucht habe :) Das einzige Problem ist, dass ildasm.exe keine "Standard" -Installation für einen Produktionsserver ist. –

+0

Ja, es gibt nichts, was Ihren System-Typ glücklicher machen würde, als ein paar Utilities auf dem Production Server zu kleben! :-) Viel Glück –

2

In Ihrem AssemlyInfo.cs können Sie die folgenden Angaben enthalten.

+0

Leider habe ich kein Projekt zum Kompilieren zur Verfügung :( –

Verwandte Themen