Release Build contains extra files, do I need these?

You do (probably) need

  • myApp.exe.config

That contains configuration settings for your executable.

You don't need the others.

  • myApp.pdb

Contains debug symbols

  • myApp.vshost.*

Used by Visual Studio when debugging (vshost means Visual Studio Host).


myApp.exe > yes

myApp.exe.config > yes

others > no


It depends. The other answers are correct in saying that myApp.exe and myApp.exe.config are the essential choices.

You may also want to ship the PDB file. If you do, you have more options for debug purposes (for example - it's possible to log the line number in code where an exception was thrown).

There's probably not any use cases where you want to ship the vshost files.

HOWEVER: Shipping anything apart from just the exe and the config can make your software easier to reverse engineer; and increases your package size.

I think in most cases the answer will be, only ship myApp.exe and myApp.exe.config for those reasons.

Have a look at these previous questions for further information:

Advantages and Disadvantages of Including PDB Files

Release Version Has Still PDB File

How To Turn Off PDB Generation

What Is The Purpose Of vshost exe


To get the best performance of your application when deploying your code to your client, you can get rid of the:

myApp.pdb

This is a good article on what developers need to know about pdb files: https://www.wintellect.com/pdb-files-what-every-developer-must-know/

pdb files are for debugging purposes

Tags:

Windows

C#

.Net