views:

165

answers:

2

We altready have a similar question here but the discussion do not cover all the aspect, so I'm asking again:

What is the best way to distribute a .Net application considering build mode (release vs. debug) and distribution of PDB files? Having a good reference to an article covering these aspects would be great.

Consider also the distribution of web application vs. the distribution of windows form applications.

Thanks in advance

Massimo

A: 

Debug builds should not be distributed - you likely do not have the rights to do so. PDBs are most easily distribute using a Symbol Server.

MSalters
+2  A: 

Debug builds should not be distributed, they're really for your own private viewing. However, once you build a release build with symbols and generate .pdbs from them, you can keep the pdbs and happily ship the dlls.

If you store the .pdbs in a symbol server (see this excellent bugslayer article) then you do not need to worry about which symbols match which version of the dll as the debugger handles that for you.

If your app crashes, get DrWatson to generate a minidump (run DrWtsn32.exe check the minidump checkbox), get that dump sent to you, and then load it up in windbg. It'll show you the exception, stack trace, variables, registers, threads, the lot (well, not the lot, for that you need a full crashdump but they are reasonably large, minidumps have all useful information at a fraction of the size).

gbjbaanb