Direkter Link zu einem IsDebug Tool, zusammen mit den Nutzungshinweisen.
Der einzige beste Weg ist, die kompilierten Assemblies selbst zu überprüfen. Es gibt dieses sehr nützliche Tool namens ".NET Assembly Information", das hier von Rotem Bloom gefunden wurde. Nachdem Sie dies installiert haben, werden die zugehörigen .dll-Dateien mit geöffnet. Nach der Installation können Sie einfach auf das Assembly doppelklicken, um es zu öffnen, und es werden Ihnen die Assemblierungsdetails angezeigt, wie sie im ScreenShop unten angezeigt werden. Dort können Sie erkennen, ob es debuggen ist kompiliert oder nicht.
Alttext http://ruchitsuatrati.net/myfiles/asm_info.jpg
alt text http://ruchitsu rati.net/myfiles/release_assembly.PNG
LinkText: Ссылка
Die oben erwähnte "IsDebug" -App hat tatsächlich einen Fehler darin, wo sie nicht über die korrekten DubuggableAttributes reflektiert. Es nimmt fälschlicherweise an, dass die Assembly, wenn das DebuggableAttribute vorhanden ist, nicht JIT Optimized ist. Ich habe eine korrekte Implementierung in meinem Blog zur Verfügung gestellt:
Wie kann ich sagen, ob? Eine Assembly ist Debug oder Release
Es gibt wahrscheinlich keinen generischen Weg. Sie können jedoch nach Referenzen auf %code% und %code% aus dem Namespace %code% suchen. Die Anwesenheit von diesen zeigt an, dass das DEBUG-Flag gesetzt wurde.
Dasselbe gilt für %code% und das TRACE-Flag.
Offensichtlich funktioniert das nicht, wenn der Quellcode keine Typen aus diesen Namespaces verwendet.
Gibt es eine Möglichkeit, herauszufinden, ob eine Assembly mit dem Flag TRACE oder DEBUG kompiliert wurde, ohne die Assembly zu ändern?
Programmgesteuertes Erkennen, ob eine Assembly im Debug- oder Release-Modus kompiliert wurde von Scott Hanselman.
>