DLL包含什么? Debug DLL和Release DLL有什么区别?

时间:2011-07-06 11:13:36

标签: dll

我有一个Windows Service一个版本构建),我替换了一个在Debug模式下构建的DLL并试图启动该服务。它抛出了错误无法加载文件或程序集“名称”或其依赖项之一。尝试加载具有不正确格式的程序,但是当我替换内置于发布模式的DLL时,服务已成功启动。我的问题是why is there a difference between a DLL built in Debug mode & in Release mode. What is the difference

2 个答案:

答案 0 :(得分:7)

这些之间的最大区别是: 在调试版本中,发出完整的符号调试信息以帮助调试应用程序,并且不考虑代码优化。 在发布版本中,不会发出符号调试信息,并且优化了代码执行。 此外,由于在发布版本中未发出符号信息,因此最终可执行文件的大小小于调试可执行文件的大小。

和通常位于bin目录中的DLL文件是已编译的源代码,除非你对它进行解析,否则你将无法对其进行修改。

您需要源代码,然后对源代码进行更改,然后将其编译为新的DLL。

答案 1 :(得分:4)

不同之处在于调试版本包含调试所需的额外数据(符号名称等)链接使用dll的调试版本(通常是运行时dll)。

后者是给你带来麻烦的那个。

如果您需要调试信息,请尝试使用发布版本的日志文件,而不是在站点上运行调试版本。