我怎么知道一个DLL不是一个调试版本

时间:2009-03-12 10:54:30

标签: .net

我如何确定我的生产服务器使用发布版本dll。有没有办法在DLL中找到这些信息?


重复:

2 个答案:

答案 0 :(得分:11)

如果它是c#DLL,那么您可以使用ildasm(Program Files \ Microsoft SDKs \ Windows \ v6.0A \ bin \ ildasm.exe)来查找此信息。

1)将DLL拖入ILDASM

2)Dbl-点击MANIFEST

3)寻找:

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

4)对于DEBUG DLL,它将是(01 00 07 01 00 00 00 00)并发布  (01 00 02 00 00 00 00 00)或(01 00 03 00 00 00 00)

如果您需要任何进一步的信息,请告诉我们! BTW这显然是非程序化的解决方案。

答案 1 :(得分:2)

在AssemlyInfo.cs中,您可以包含以下内容:

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

在文件资源管理器中使用内置属性对话框时,可以很容易地看到它。