Tenemos un proyecto ASP.NET MVC del que queremos crear un paquete de publicación durante una compilación automatizada. La compilación usa la plantilla predeterminada no modificada con Argumentos /p:DeployOnBuild=True /p:CreatePackageOnPublish=True
.TFS 2010 - Se produjo un error durante la copia: Ruta demasiado larga
Si realizo una WebDeploy directamente a un servidor, funciona bien (si cambio/p: CreatePackageOnPublish a falso), pero preferiría simplemente crear un paquete que pueda implementar durante una compilación de Lab.
El mensaje de error es similar a esto:
TF270002: Error al copiar archivos desde 'C: \ Builds \ 19 \ Binarios' a '\ nas \ Build \ Drop \ MyProject \ MyProject_Development.Test \ 20120209.1 '. Detalles: la ruta especificada, el nombre del archivo o ambos son demasiado largos. El nombre completo del archivo debe tener menos de 260 caracteres, y el nombre del directorio debe tener menos de 248 caracteres.
La primera parte del problema fue la ruta de la carpeta de construcción era demasiado largo (274 caracteres), pero después de cambiar el directorio de trabajo $(SystemDrive)\Builds\$(BuildAgentId)\$(BuildDefinitionPath)
-$(SystemDrive)\Builds\$(BuildDefinitionId)
es hasta 230 caracteres como el camino más largo por lo que debe estar bien.
El problema ahora parece ser la ruta en la carpeta de soltar, aunque su ruta raíz no es tan larga \\nas\Build\Drop\MyProject
, el nombre de la compilación y el Formato del número de compilación aumentan rápidamente la longitud MyProject_Development.Test\MyProject_Development.Test_20120208.1
. Después de eso, todas las rutas anidadas crean estructuras de carpetas realmente profundas _PublishedWebsites\MyProject.Web_Package\Archive\Content\C_C\Builds\19\Sources\MyProject\Source\MyProject.Web\obj\Debug\Package\PackageTmp\Content\ui-lightness\Images\ui-bg_diagonals-thick_18_b81900_40x40.png
.
¿Hay alguna forma de evitar este problema? Acorté el formato de número de compilación de $(BuildDefinitionName)_$(Date:yyyyMMdd)$(Rev:.r)
a $(Date:yyyyMMdd)$(Rev:.r)
para guardar unos pocos caracteres, pero no es suficiente. Creo que podríamos acortar un poco el nombre de la compilación, pero rompería la convención de nomenclatura utilizada (¡vale, eso no sería un gran problema, pero sería molesto!) Y aún así se sentiría como una solución a corto plazo.
¿Qué más hay que hacer?
tenía miedo de que no había mejor solución a este ... He recortado tanto como sea posible de la exceso (mi creación se llama ahora M_D.T, realmente informativo) y ahora se construye, aunque mi camino más largo es de 250 caracteres, por lo que es un poco cerca del límite para la comodidad. ¡Gracias por su respuesta y el enlace a UserVoice! –
Actualización: la sugerencia de función para solucionar el problema fue rechazada por Microsoft. –
nuevo enlace de voz del usuario, mantenga la presión;) http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/4954037-fix-260-character-file-name-length-limitation – rob