Creo que está claro por las otras respuestas que los archivos de la solución son útiles y deben ser confirmados, incluso si no se usan para compilaciones oficiales. Son útiles para cualquiera que use las características de Visual Studio como Ir a Definición/Declaración.
De forma predeterminada, no contienen rutas absolutas ni ningún otro artefacto específico de la máquina. (Desafortunadamente, algunas herramientas complementarias no mantienen adecuadamente esta propiedad, por ejemplo, AMD CodeAnalyst.) Si tiene cuidado de usar rutas relativas en sus archivos de proyecto (tanto C++ como C#), serán independientes de la máquina también.
Probablemente la pregunta más útil es: ¿qué archivos debe excluir? Aquí está el contenido de mi archivo .gitignore para mis proyectos VS 2008:
*.suo
*.user
*.ncb
Debug/
Release/
CodeAnalyst/
(. La última entrada es sólo para el generador de perfiles AMD CodeAnalyst)
Para VS 2010, también se debe excluir la siguiente:
ipch/
*.sdf
*.opensdf
Creo que es el archivo .SUO que NO desea confirmar. – apandit
Solo para el registro, creo que las listas de tareas (si las usa) se almacenan en el archivo .SUO ... Así que, aunque no desee comprometerlas con el control de código fuente, es posible que no desee "simplemente eliminarlas" como crumble extraño. – Benjol