2010-04-16 10 views
15

Tengo un proyecto que estoy buscando para administrarlo manualmente mediante el control forzado de la versión ya que solo tengo la edición Express. Lo que estoy buscando es qué archivos se deben excluir en el control de la versión, ya que bloquear muchos de los archivos puede resultar en un problema para la compilación y depuración de Visual Studio.¿Qué archivos de proyecto C# debo controlar?

Lo que tengo, hasta ahora, incluido. archivos
cs (excepto carpeta de propiedades)
archivos .resx
archivos Csproj

Excluidos
carpeta bin
obj carpeta
propiedades de la carpeta de archivos
.user

Let Sé si hay algo más que debería incluirse que he excluido o si hay una mejor manera de hacer t su.

+1

Si eres un estudiante, puedes obtener VS Professional a través de DreamSpark. – SLaks

+0

Muy buen sitio web, desafortunadamente, esto es por trabajo. – DTown

+0

Siempre acabo de incluir todos los archivos y nunca noté ningún problema. – Brandi

Respuesta

11

Debe incluir la carpeta Propiedades; contiene AssemblyInfo.cs (con todos los atributos de ensamblaje) y los archivos de configuración y recursos predeterminados del proyecto, si los hay.

También debe incluir el archivo .sln, si corresponde.

12

también excluyen:

.suo 
app.config (you should commit something like app-dev.config instead) 

Re: app.config:

app.config por lo general contiene información específica de la máquina (como las cadenas de conexión de base de datos, los valores predeterminados o rutas de acceso a los recursos) y usted don' Quiero que esto sea golpeado cada vez que mires desde el control de la fuente. Estos archivos deben crearse/copiarse con scripts de implementación.

Cuando hay varios desarrolladores en un proyecto, cada uno con su propio servidor de base de datos, esto es especialmente molesto. Lo contrario puede ser incluso más peligroso: si implementa el código en la producción mediante el control de revisión, puede configurar la producción inadvertidamente para usar una base de datos de desarrollo, lo que podría ser desastroso.

+0

¿Por qué debería excluir app.config? – SLaks

+0

@SLaks: ver mi actualización – RedFilter

+1

En mi trabajo, registramos una "app.config-template". La primera vez que sale, copia esto a "app.config" (excluido de VC) y completa los valores relevantes para usted. Esto ahorra a los desarrolladores tener que escribir toda una aplicación.config desde cero, pero también significa que nunca verán accidentalmente en un app.config que contenga configuraciones personales. – Ken

6

No olvide agregar las imágenes, iconos, etc. que pueda estar utilizando en su aplicación. Es fácil olvidar esto.

También si tiene alguna documentación asociada con el proyecto: especificaciones, diseños, archivos de ayuda, etc. Póngalos en carpetas separadas en el proyecto y luego inclúyalos también.

1

Si utilizo archivos DLL de terceros, la versión los controlo con el proyecto y uso la implementación paralela de modo que la DLL se copie en la carpeta bin durante la compilación (en lugar de simplemente registrar la DLL en el GAC) El efecto de esto es que otro desarrollador puede sacar el proyecto del control de origen y tener las dependencias que necesita para compilar y ejecutar el proyecto correctamente. No hay descarga inútil y la instalación de componentes de terceros, y está seguro de que todos están desarrollando/probando contra la misma versión de dll de terceros.

Cuestiones relacionadas