Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

what does a DLL contain? What is the difference between a Debug DLL and Release DLL?

Tags:

dll

I have a Windows Service (a Release Build), I replaced a DLL built in Debug mode and tried to start the service. It has thrown an error Could not load file or assembly 'Name' or one of its dependencies. An attempt was made to load a program with an incorrect format but when I replace the DLL built in Release mode the service started successfully. My Question is why is there a difference between a DLL built in Debug mode & in Release mode. What is the difference.

like image 533
sri Avatar asked Dec 21 '22 11:12

sri


1 Answers

The biggest difference between these is that: In a debug build the complete symbolic debug information is emitted to help while debugging applications and also the code optimization is not taken into account. While in release build the symbolic debug info is not emitted and the code execution is optimized. Also, because the symbolic info is not emitted in a release build, the size of the final executable is lesser than a debug executable.

and The DLL file normally located in the bin dirctory is the compiled source code and unless u dissasemble it , you will not be able to modifiy it.

You need the source code then you make changes to the source code and then complile it to a new DLL.

like image 151
judy smith Avatar answered Jun 25 '23 22:06

judy smith