At the moment I check in all my files (including dll's, VS solution files, images, etc). I often need to checkout these files to a staging server or to a another developer and so having these files there means the project is setup there all ready to go.
Whats the best practice here?
EDIT: If I don't add the generated files like the dll files how do I ensure they are present when updating the staging server?