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