Para un proyecto .Net, ¿qué extensiones de file debo excluir del control de origen?

Cada vez que comienzo un proyecto, tengo que pensar cuidadosamente sobre qué files excluir del control de fuente. ¿Alguien ha hecho una list de los criterios para que pueda searchlos desde el principio? Yo trabajo por mi count, así que no me he acostumbrado. Aprecio que en el caso de una DLL, desee include algunos y excluir otros, por lo que no depende solo de la extensión del file. Mis proyectos son ASP.Net, aunque una discusión general de otras templates también sería útil.

Desde http://blog.goneopen.com/2009/06/git-excludes-for-dotnet/ :

.DS_Store ._* TestResults *Resharper* **.ReSharper** **\_ReSharper.** *.bak *.cache *.resharperoptions *.suo *.user *.vsprops */TestResults *\bin* *\obj* _ReSharper.* 

Si usa ReSharper , asegúrese de excluir las carpetas _Resharper*

Si está utilizando Subversion para el control de código fuente, el complemento VisualSVN Visual Studio administrará las exclusiones automáticamente.

Asegúrese de include los dlls de terceros a los que hace reference su proyecto que no estarán en el GAC de sus máquinas de compilation o deployment. Nuestra práctica es tener una carpeta lib que vivan todos esos dlls, y agregamos references a ellos desde esa carpeta. Esto asegura que la propiedad hintpath en el file csproj es correcta (almacena una ruta relativa a la dll referenceda).

No controle las carpetas bin y obj , ni los files *.suo y *.user (si está usando Visual Studio).

Si no se siente cómodo con mantener las DLL de terceros en control de fuente, intente Componento , que, concede, todavía no tiene una database de componentes considerable.

Como regla general, solo los files de control de origen que se requieren para comstackr la aplicación.

Ingores generics de una carpeta de proyecto:

 *.Cache *.user bin obj 

Y de la solución (un nivel arriba)

 *.cache _PublishedWebSites *.suo 

También tenemos lo siguiente: las configuraciones de configuration específicas de instancia a las que se hace reference en configuraciones genéricas (es decir, web.config para aplicaciones asp.net)

 AppSettings.config Provider.config connections.config 

Hay files .config.sample que están controlados por la versión.

Probablemente deberías establecer bin, obj, * .cache, * .user y * .suo como globales en tu configuration de subversión, pero como esto es (si la memory sirve) específico de la máquina, probablemente acabarás haciendo explícitos ignora de todos modos