web-dev-qa-db-fra.com

Erreur de construction inconnue dans Visual Studio. Le nom complet doit comporter moins de 260 caractères.

Je ne parviens pas à créer ma solution WPF. Chaque fois que j'essaie de le construire, je reçois ce message d'erreur: 

Erreur de construction inconnue, 'Le chemin d'accès spécifié, le nom du fichier ou les deux sont trop longs. Le nom de fichier complet doit comporter moins de 260 caractères, Et le nom du répertoire, moins de 248 caractères. '

Quelqu'un peut m'aider? J'ai déjà vérifié tous les champs et leurs chemins d'extension sont corrects. Cela peut-il être un problème avec le TortoiseSVN ou quelque chose comme ça? J'ai récemment ajouté un dossier à ma solution, ça peut être quelque chose avec ça?

21
user1517951

Il s'agit d'une restriction bien connue dans l'API Windows Win32. Le répertoire dans lequel vous avez stocké votre projet est trop profondément imbriqué. Le chemin d'accès complet d'un fichier ne peut pas contenir plus de 259 caractères. De plus, beaucoup de code C utilisant MAX_PATH échoue à cause de débordements de mémoire tampon.

Déplacez votre solution dans un autre répertoire, plus proche de la racine.

26
Hans Passant

Pas d'inquiétude .... Cette erreur survient à cause d'un nom de chemin long. Supposons que le nom de votre dossier de projet soit "myproject".

Vous venez de changer l'emplacement du dossier du projet ... Mettez votre projet "monprojet" dans D:\monprojet ou ou F:\mon lecteur de projet. Ensuite, vous publiez à nouveau..Son travail ...

Bonne codage ...

2
Aby C Paul

C'est un problème avec l'espace de travail de définition de construction "Emplacement du dossier de l'agent de compilation" . VS ajoute des chemins, par exemple: $ (SourceDir) E:\Somedirectory\ProjectName\ Conservez simplement $ (SourceDir). en classé

0
Manoj Patil

J'ai eu un problème similaire où le compilateur a signalé qu'il y avait un problème avec le fichier ASPNETCOMPILER. Le problème réel était que la solution contenait un dossier node_modules, et ce dossier pouvait contenir des chemins très longs, et il semble que le compilateur ne puisse pas gérer cela.

Windows 8.1 et 10 ont une option pour augmenter la limite de chemin Win32:

  • Ouvrez l'éditeur de stratégie de groupe (appuyez sur Windows + R, tapez gpedit.msc et appuyez sur Entrée)
  • Dans la fenêtre Éditeur de stratégie de groupe, accédez au nœud suivant: Stratégie de l'ordinateur local\Configuration ordinateur\Modèles d'administration\Système\Système de fichiers
  • Double-cliquez sur l'option Activer les chemins longs Win32 et activez-la.

Cela peut vous permettre de déplacer temporairement le dossier posant problème en dehors de la construction, ce qui vous permettra peut-être de créer avec succès. Vous pourrez ensuite l'ajouter à la solution sans rien affecter.

0
Chris Halcrow

J'ai eu le même problème. Mon chemin de sortie était plus court que le chemin utilisé sur mon serveur CI. Il a bien fonctionné sur le serveur CI et sur tous les ordinateurs de mes collègues. Nos chemins ont la même longueur car notre société a des noms d’utilisateurs de longueur fixe. J'étais la seule machine à ne pas pouvoir construire la solution à cause de longs chemins.

Si vous allez dans ces dossiers:

C:\Windows\Microsoft.NET\Framework

C:\Windows\Microsoft.NET\Framework64

C:\Users\[Nom d'utilisateur]\AppData\Local\Temp

Recherchez la version de .NET que vous utilisez avec votre solution, puis supprimez les dossiers "Fichiers temporaires ASP.NET", quelle que soit la version que vous pensez effectuer votre génération.

Vous pouvez tous les supprimer, votre prochaine construction de projet Web pourrait prendre un peu plus de temps car il n'y aura pas d'assemblages pré-compilés ...

Cette solution fonctionnait pour moi sur une solution contenant des projets ASP.NET. Elle ne fonctionnerait pas sur les projets WPF mentionnés par d'autres personnes dans leurs réponses, à moins que leur solution ne contienne également des projets ASP.NET.

La recherche de la chaîne d'erreur que VS m'a apportée m'a amené ici. J'ai donc pensé que cela pourrait aider quelqu'un d'autre, si ce n'est le Op avec un problème de génération WPF.

Si cela échoue, vous pouvez essayer de rechercher de manière récursive dans la racine de votre solution les fichiers/dossiers dont le chemin est supérieur à 260, en procédant comme suit:

  • Powershell ouvert

  • cd <path to solution root>

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

Cela dirigera une liste de fichiers avec des chemins d'accès> 260 vers le fichier output.txt qui sera créé à la racine de votre solution.

Cela vous aidera à trouver des fichiers trop longs dans votre solution.

0
Ian Robertson