Is it a best practice to commit a .sln file to source control? When is it appropriate or inappropriate to do so?
Update There were several good poin
Yes you should do this. A solution file contains only information about the overall structure of your solution. The information is global to the solution and is likely common to all developers in your project.
It doesn't contain any user specific settings.