This seems to keep most of the crap out and I haven’t found anything necessary that it excludes yet.
# compiled source #
###################
*.com
*.class
*.dll
*.exe
*.pdb
*.dll.config
*.cache
*.suo
# Include dlls if they’re in the NuGet packages directory
!/packages/*/lib/*.dll
# VS Upgrade stuff #
####################
UpgradeLog.XML
_UpgradeReport_Files/
# Directories #
###############
bin/
obj/
TestResults/
# Web publish log #
###################
*.Publish.xml
# Resharper #
#############
/_ReSharper.*
*.ReSharper.*
# Packages #
############
# it’s better to unpack these files and commit the raw source
# git has its own built in compression methods
*.7z
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip
# Logs and databases #
######################
*.log
*.sqlite
# OS generated files #
######################
.DS_Store?
ehthumbs.db
Icon?
Thumbs.db