Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17


Diffrence between debug & release versions

Posted on 2009-07-04
Medium Priority
Last Modified: 2013-12-17

I am new to C#.
I wrote a C# application, compiled it as Debug version (I have a dll inside inside bin folder) and gave it to my customer.
Should I compile it as Release version?
What is a diffrence between Debug & Release version? When should I use each of these compilations?


Question by:margarit
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
LVL 44

Accepted Solution

AndyAinscow earned 1000 total points
ID: 24777644
You should always distribute the release versions.
Typically a debug build contains extra information/code to assist in debugging - usually means bigger and slower.

Assisted Solution

Erbureth earned 1000 total points
ID: 24777649
When you compile a program in Debug mode, usually no optimizations are made, and, what is more important, symbolic names of functions and variables are exported too, so you can debug your program easily. On the other hand, Release mode compilation makes some speed optimizations and no debug symbols are included, so the resulting binary is smaller and faster. So always remember to switch to Release mode before compiling your program for distribution :)

Author Comment

ID: 24778829
Thanks for the useful comments. One more question:
When I give the debug version to customer I give him EXE + dll.
Does executable from release version contains dll inside of it, or I should use EXE+dll too?
LVL 44

Expert Comment

ID: 24778975
You still need both.
You build a release version of the exe AND a release version of the dll

Author Closing Comment

ID: 31599803

Featured Post

Get your Disaster Recovery as a Service basics

Disaster Recovery as a Service is one go-to solution that revolutionizes DR planning. Implementing DRaaS could be an efficient process, easily accessible to non-DR experts. Learn about monitoring, testing, executing failovers and failbacks to ensure a "healthy" DR environment.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Many of us here at EE write code. Many of us write exceptional code; just as many of us write exception-prone code. As we all should know, exceptions are a mechanism for handling errors which are typically out of our control. From database errors, t…
Today I had a very interesting conundrum that had to get solved quickly. Needless to say, it wasn't resolved quickly because when we needed it we were very rushed, but as soon as the conference call was over and I took a step back I saw the correct …
THe viewer will learn how to use NetBeans IDE 8.0 for Windows to perform CRUD operations on a MySql database.
The viewer will learn how to synchronize PHP projects with a remote server in NetBeans IDE 8.0 for Windows.

715 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question