2012-07-11 12 views
18

Tengo problemas para crear mi solución WPF. Cada vez que intento para construirlo, me sale este mensaje de error:Visual Studio error de compilación desconocido. El nombre completo debe tener menos de 260 caracteres

error de generación desconocida, 'La ruta especificada, el nombre de archivo o ambos son demasiado larga. El nombre de archivo completo debe tener menos de 260 caracteres, y el nombre del directorio debe tener menos de 248 caracteres. '

¿Alguien me puede ayudar? Ya he verificado todos los campos y sus rutas de extensión están bien. ¿Puede ser esto un problema con TortoiseSVN o algo como esto? Recientemente agregué una carpeta a mi solución, ¿puede ser algo con esto?

+0

No sé si ayudará - vea esta solución [http://iwillsharemypoint.blogspot.co.il/2012/10/the-specified-path-file-name-or-both.html](http:/ /iwillsharemypoint.blogspot.co.il/2012/10/the-specified-path-file-name-or-both.html) – roi

Respuesta

19

Esta es una restricción bien conocida en la api Windows win32. El directorio en el que almacenó su proyecto está anidado demasiado profundo. El nombre de ruta completo de un archivo no puede contener más de 259 caracteres. Más allá de esto, muchos códigos C que usan MAX_PATH comienzan a fallar debido a los desbordamientos del búfer.

Mueva su solución a otro directorio, uno que esté más cerca de la raíz.

+0

Me funcionó. Gracias! – user1517951

+8

¿Hay alguna manera de evitar esa MAX_PATH? – Sonhja

1

No se preocupe ... Este error se debe a un nombre de ruta larga, suponga que su nombre de carpeta de proyecto es "myproject".

que acaba de cambiar la ubicación de la carpeta del proyecto ... Ponga su proyecto "miproyecto" a D: \ miproyecto o C o F: \ miproyecto drive.Then publicada again..Its trabajan ...

feliz Codificación ...

0

es cuestión con la construcción del espacio de trabajo defination "construir Agente ubicación de la carpeta" VS agrega caminos ejemplo: $ (SourceDir) E: \ somedirectory \ ProjectName \ Hemos de tener $ (SourceDir) en interpuesta

0

Tuve el mismo problema. Mi ruta de pago fue más corta que la ruta utilizada en mi servidor de CI. Construyó OK en el servidor de CI y todas las máquinas de mis colegas. Nuestras rutas tienen la misma longitud porque nuestra empresa tiene nombres de usuario de longitud fija. Yo era la única máquina que no podía construir la solución debido a los largos caminos.

Si vas a estas carpetas:

C: \ Windows \ Microsoft.NET \ Framework

C: \ Windows \ Microsoft.NET \ Framework64

C: \ Users \ [UserName] \ AppData \ Local \ Temp

Busque la versión de .NET que está utilizando con su solución, luego elimine las carpetas "Archivos temporales ASP.NET" de las versiones que creas que afectan a tu compilación.

Puede eliminar a todos ellos, su próxima construcción de un proyecto web puede tardar un poco más tiempo, ya que no habrá asambleas pre-compilados ...

Esta solución funcionó para mí en una solución que contiene ASP. Proyectos NET: no funcionará en proyectos WPF que otros hayan mencionado en sus respuestas, a menos que su solución también contenga proyectos ASP.NET.

Buscando la cadena de error VS le da me trajo aquí, así que pensé que podría ayudar a alguien más, si no el Op con un problema de compilación WPF.

Si esto no funciona - se puede tratar de buscar la raíz de su solución recursiva archivos/carpetas con las trayectorias que son mayores al 260, realizando el siguiente:

  • abierto Powershell

  • cd <path to solution root>

  • cmd /c dir /s /b |? {$_.length -gt 260} > output.txt

Esto canalizará una lista de archivos con rutas> 260 al archivo output.txt que se creará nuevamente en la raíz de su solución.

Esto le ayudará a encontrar archivos dentro de su solución que son demasiado largos.

0

Tuve un problema similar cuando el compilador informó que había un problema con el archivo ASPNETCOMPILER. El problema real era que la solución contenía una carpeta node_modules, y esta carpeta puede contener rutas muy largas, y parece que el compilador no puede manejar esto.

de Windows 8.1 y 10 tienen una opción para aumentar el límite de ruta de Win32:

  • Abra el Editor de directivas de grupo (tecla Windows + R y escriba gpedit.msc y pulsa enter)
  • Vaya al directorio siguiente : Directiva de equipo local \ Configuración del equipo \ Plantillas administrativas \ Sistema \ Sistema de archivos
  • Doble clic en Habilitar la opción de rutas largas de Win32 y habilitarla.

Esto puede permitirle mover temporalmente la carpeta problemática fuera de la compilación, lo que le permitirá compilarla correctamente, y luego podrá volver a agregar la carpeta a la solución sin afectar nada.

Cuestiones relacionadas