Tengo un sistema de compilación automatizado usando CruiseControl. Estoy usando SvnRevisionLabeller para utilizar la cadena de versión. Con esta cadena puedo usar nant para actualizar AssemblyInfo.cs, así que cuando lo construyo tengo la cadena de compilación correcta. También puedo usar esta etiqueta CC para etiquetar el repositorio de subversión.¿Debería AssemblyInfo.cs colocarse en el control de versión?
Así que todo está alineado
- etiqueta Construir CCNet
- Ejecutable (Información de ensamblado)
- Control de versiones (etiqueta subverson)
Ahora donde tengo un problema es si quiero tratar de reconstruir una vieja imagen del repositorio. Como AssemblyInfo.cs no está bajo el control de versión, sino más bien como un archivo generado, cuando intente compilar, la información de versión no será la misma que cuando esta versión del repositorio se creó con CruiseControl. Me gustaría poder generar exactamente la misma imagen, independientemente de si fue construida durante la compilación CC o en una fecha posterior cuando se realiza la salida desde Subversion.
Sé que a menudo no se recomienda, pero ¿debo registrar el archivo assemblyInfo.cs después de cada compilación para que cuando construya posteriormente desde un check-out svn se use la información de versión correcta?
Gracias, Liam
Estoy usando Subversion y CrusieControl.NET. Construyo usando un script NAnt. Todo lo que he leído es que AssemblyInfo.cs es una salida generada durante el proceso de compilación.Por lo que la secuencia de construcción es: - CCNET (SVN gatillo por un registro de entrada @say versión del repositorio 100) de NAnt llama msbuild llamada AssemblyInfo.cs se crea afgter la acumulación hacer ahora el check-in AssemblyInfo.cs ? Si está registrado, el repositorio estaría en Rev 101. Por lo tanto, mi objetivo de hacer que AssemblyInfo.cs coincida con la revisión de compilación no se cumple. ¿Cómo hago esto? –
Creo que la razón por la que no desea verificar en AssemblyInfo.cs en su caso es porque su sistema de CI lo está generando. Con una compilación normal que incluye la forma en que los servidores de compilación TFS lo hacen, AssemblyInfo.cs se registra y no se genera para cada compilación. – majinnaibu