Подтвердить что ты не робот

Неизвестная ошибка сборки Visual Studio. Полноценное имя должно быть менее 260 символов

У меня возникают проблемы при создании моего WPF-решения. Каждый раз, когда я пытаюсь его построить, я получаю это сообщение об ошибке:

Неизвестная ошибка сборки: 'Указанный путь, имя файла или оба они тоже длинный. Полноценное имя файла должно быть менее 260 символов, и имя каталога должно быть меньше 248 символов. '

Кто-нибудь может мне помочь? Я уже проверил все поля, и их пути расширения в порядке. Это может быть проблема с TortoiseSVN или что-то вроде этого? Я недавно добавил папку в мое решение, может быть что-то с этим?

4b9b3361

Ответ 1

Это хорошо известное ограничение в Windows win32 api. Каталог, в котором вы сохранили свой проект, находится слишком глубоко. Полное имя пути к файлу не может содержать более 259 символов. Помимо этого, много C-кода, использующего MAX_PATH, начинает сбой из-за переполнения буфера.

Переместите решение в другой каталог, который ближе к корню.

Ответ 2

Не беспокойтесь.... Эта ошибка возникает из-за длинного имени пути. Предположим, что ваше имя папки проекта "myproject".

Вы просто измените местоположение папки проекта... Поместите свой проект "myproject" в D:\myproject или или в файл F:\myproject. Затем вы опубликуете еще раз. Он работает...

Счастливое кодирование...

Ответ 3

Это проблема с созданием защитной рабочей области "Создание расположения папки агента" VS добавляет пример путей: $ (SourceDir) E:\Somedirectory\ProjectName \ Просто сохраните $(SourceDir) в файле

Ответ 4

У меня была та же проблема. Мой путь проверки был короче пути, используемого на моем CI-сервере. Он построил ОК на сервере CI и всех моих коллегах. Наши пути имеют одинаковую длину, поскольку наша компания имеет фиксированные имена пользователей. Я был единственной машиной, которая не могла построить решение из-за длинных путей.

Если вы перейдете в эти папки:

C:\Windows\Microsoft.NET\Framework

C:\Windows\Microsoft.NET\Framework64

C:\Users\[имя_пользователя]\AppData\Local\Temp

Найдите версию .NET, которую вы используете с вашим решением, а затем удалите папки "Временные файлы ASP.NET", из которых когда-либо использовались версии вашей сборки.

Вы можете удалить их все, ваша следующая сборка веб-проекта может занять немного больше времени, поскольку не будет предварительно скомпилированных сборок...

Это решение работало для меня на решении, содержащем проекты ASP.NET - он не будет работать над проектами WPF, о которых другие упоминали в своих ответах, если их решение также не содержит проектов ASP.NET.

Поиск строки ошибки VS дает вам привести меня сюда, поэтому я решил, что это может помочь кому-то другому, если не Op с проблемой сборки WPF.

Если это не удастся - вы можете попробовать рекурсивно выполнить поиск корня решения для файлов/папок с путями, которые больше 260, выполнив следующее:

  • Open Powershell

  • cd <path to solution root>

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

Это будет передавать список файлов с путями > 260 в файл output.txt, который будет вновь создан в корне вашего решения.

Это поможет вам найти файлы в вашем решении, которые слишком длинны.

Ответ 5

У меня была аналогичная проблема, когда компилятор сообщил, что возникла проблема с файлом ASPNETCOMPILER. Фактическая проблема заключалась в том, что решение содержало папку node_modules, и эта папка может содержать очень длинные пути, и похоже, что компилятор не справляется с этим.

В Windows 8.1 и 10 есть возможность увеличить предел пути Win32:

  • Откройте редактор групповой политики (нажмите Windows + R и введите gpedit.msc и нажмите Enter)
  • Перейдите к следующему каталогу: Политика локального компьютера\Конфигурация компьютера\Административные шаблоны\Система\Файловая система
  • Включить DoubleClick on Включить длинные пути Win32 и включить его.

Это может позволить вам временно переместить папку проблем из сборки, что может позволить вам успешно выполнить сборку, тогда вы сможете добавить папку обратно в решение, не затрагивая ничего.