Неизвестная ошибка сборки Visual Studio. Полноценное имя должно быть менее 260 символов
У меня возникают проблемы при создании моего WPF-решения. Каждый раз, когда я пытаюсь его построить, я получаю это сообщение об ошибке:
Неизвестная ошибка сборки: 'Указанный путь, имя файла или оба они тоже длинный. Полноценное имя файла должно быть менее 260 символов, и имя каталога должно быть меньше 248 символов. '
Кто-нибудь может мне помочь? Я уже проверил все поля, и их пути расширения в порядке. Это может быть проблема с TortoiseSVN или что-то вроде этого? Я недавно добавил папку в мое решение, может быть что-то с этим?
Ответы
Ответ 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, выполнив следующее:
Это будет передавать список файлов с путями > 260 в файл output.txt, который будет вновь создан в корне вашего решения.
Это поможет вам найти файлы в вашем решении, которые слишком длинны.
Ответ 5
У меня была аналогичная проблема, когда компилятор сообщил, что возникла проблема с файлом ASPNETCOMPILER. Фактическая проблема заключалась в том, что решение содержало папку node_modules, и эта папка может содержать очень длинные пути, и похоже, что компилятор не справляется с этим.
В Windows 8.1 и 10 есть возможность увеличить предел пути Win32:
- Откройте редактор групповой политики (нажмите Windows + R и введите gpedit.msc и нажмите Enter)
- Перейдите к следующему каталогу: Политика локального компьютера\Конфигурация компьютера\Административные шаблоны\Система\Файловая система
- Включить DoubleClick on Включить длинные пути Win32 и включить его.
Это может позволить вам временно переместить папку проблем из сборки, что может позволить вам успешно выполнить сборку, тогда вы сможете добавить папку обратно в решение, не затрагивая ничего.