2008-09-19 8 views
7

Estoy recibiendo el siguiente error al intentar construir mi aplicación con la Fundación Crear equipo:¿Cómo cambio el directorio de compilación que usa MSBuild en Team Foundation Build?

C: \ WINDOWS \ Microsoft.NET \ Framework \ v3.5 \ Microsoft.Common.targets (1682,9): error MSB3554: No se puede escribir en el archivo de salida "obj \ Release \ Company.Redacted.BlahBlah.Localization.Subsystems. Startup_Shutdown_Processing.StartupShutdownProcessingMessages.de.resources". La ruta especificada, el nombre del archivo o ambos son demasiado largos. El nombre de archivo completo debe tener menos de 260 caracteres y el nombre del directorio debe tener menos de 248 caracteres.

Mi proyecto se construye bien en mi máquina de desarrollo ya que la fuente tiene solo dos carpetas de profundidad, pero TF Build parece usar un directorio muy profundo que está causando que se rompa. ¿Cómo cambio las carpetas que se usan?

Editar: Revisé el archivo .proj para mi construcción que se almacena en el control de código fuente y se encontró lo siguiente:

<!-- BUILD DIRECTORY 
This property is included only for backwards compatibility. The build directory used for a build 
definition is now stored in the database, as the BuildDirectory property of the definition's 
DefaultBuildAgent. For compatibility with V1 clients, keep this property in sync with the value 
in the database. 
--> 
<BuildDirectoryPath>UNKNOWN</BuildDirectoryPath> 

Si esto se almacena en la base de datos, ¿cómo lo cambio?

Editar: Encontré la siguiente publicación de blog que puede estar indicándome la solución. Ahora solo necesito descubrir cómo cambiar la configuración en Build Agent. http://blogs.msdn.com/jpricket/archive/2007/04/30/build-type-builddirectorypath-build-agent-working-directory.aspx

Actualmente mi directorio de trabajo es "$ (Temp) \ $ (BuildDefinitionPath)" pero ahora no sé qué comodines hay disponibles para especificar una carpeta diferente.

Respuesta

16

Necesita editar el directorio de trabajo de compilación de su agente de compilación para que la ruta de petición sea un poco más pequeña. Para editar el agente de compilación, haga clic con el botón derecho en el nodo "Compilaciones" y seleccione "Administrar agentes de compilación ..."

Personalmente uso algo como c: \ bw \ $ (BuildDefinitionId). $ (BuildDefinitionId) se traduce en el id de la definición de compilación (de ahí el nombre :-)), lo que significa que obtienes una ruta de compilación comenzando con algo como c: \ bw \ 36 en lugar de c: \ Documents and Settings \ tfsbuild \ Local Settings \ temp \ BuildDefinitionName

Buena suerte,

Martin.

+0

para referencia futura el valor original us $ (Unidad del sistema) \ Builds \ $ (BuildAgentId) \ $ (BuildDefinitionPath) – Simon

+0

y otro buen recurso http://blogs.msdn.com/b/aaronhallberg/archive/2007/06/20/team-build-and-260-character-paths.aspx – Simon

0

tiene que verificar el archivo de script de compilación, desde el explorador de control de origen, y ensuciarse los codos reemplazando la ruta.

+0

Ver aclaración sobre la pregunta. – Luke

+1

El que pregunta parece que está usando TFS 2008. Esta sugerencia es la respuesta correcta para TFS 2005. –

Cuestiones relacionadas