Comprehensive .gitignore for .NET Projects

If you are a .NET developer that uses source control then you know what a pain it can be sometimes to remember all the files you have to ignore. In SVN I would have to ignore my bin and obj folders every time I mapped a repository. One awesome feature with Git is that it stores a .gitignore file in the repository along with the rest of your files. So if you clone a fresh copy of a repository then the ignore file comes along with it which is pretty nifty. I have put together what I think is a pretty comprehensive .gitignore file for .NET projects that will ignore all of the generated files put out by the compiler, Visual Studio, as well as certain Visual Studio extensions. Just paste the text below into your .gitignore file and you should be good to go!

[Oo]bj
[Bb]in
*.user
*.suo
*.[Cc]ache
*.bak
*.ncb
*.log
*.DS_Store
[Tt]humbs.db
_ReSharper.*
*.resharper
Ankh.NoLoad
setup.exe
_UpgradeReport_Files/
UpgradeLog.XML
*.vspscc
*.vssscc
*.scc
*.sqlsuo