Visual Studio 2008 Ссылки слишком длинные? - PullRequest
3 голосов
/ 13 января 2010

Я недавно реорганизовал наш контроль версий и обнаружил, что одно из наших решений больше не собирается. Единственная ошибка, которую мы получаем:

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

Я просмотрел каждую ссылку в visual studio, и самый длинный полный путь (путь и имя файла) каждой ссылки составлял 161 символ.

Моя структура папок решения выглядит так:

C: \ projects_svn \ ABC \ ветви \ 01.02.03 \ ABC \ ABC SUITE \ ABC.DEF.GHIJKLM.NOP \

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

Вот некоторые технические детали, которые могут помочь (если вам нужно больше, дайте мне знать): Visual Studio 2008 SP 2 работает на Windows XP или Windows 7. Использование Subversion в качестве SCM. Кодирование в C # / WPF.

Спасибо

Ответы [ 2 ]

5 голосов
/ 13 января 2010

Я думаю, что, вероятно, здесь происходит то, что один из ваших проектов использует относительный путь подсказки, который идет очень далеко назад вверх по дереву, а затем обратно вниз по структуре каталогов. Например

c:\foo\bar\baz\..\..\..\some\other\dir\foo.dll

Несмотря на то, что путь к реальному файлу меньше 256, относительный цикл делает его намного длиннее.

Лучший способ найти их - найти все ваши файлы .csproj / .vbproj на наличие строки ..\..\. Посмотрите, если это приводит к каким-либо результатам.

0 голосов
/ 10 августа 2010

Вам также нужно учитывать фоновые файлы для SVN.

Хотя у меня может быть короткое имя файла, подобное этому: C: \ myfolder1 \ myfolder2 \ MyFile.txt

Вероятно, где-то скрывается более длинная версия имени файла, подобная этой: C: \ myfolder1 \ myfolder2.svn \ текст базы \ MyFile.txt.svn база

И этот фоновый файл содержит ошибку "слишком длинный".

Вот то, что я получаю через CCNET (вызывая файл MSBUILD), используя контроль исходного кода SVN. Определенные имена удалены, чтобы защитить невинных. (И моя работа!)

Пожалуйста, обратите внимание, что это "именование" приводит к более коротким путям, которые, вероятно, не приведут к ошибкам. Ака, не считайте количество символов в моих примерах для массажа. Но сообщения об ошибках - вот что я получаю.

    Removing directory "C:\CCNETEnvironment\MyFolder2\MyProject\working\checkout".
    C:\src\MyFolder1\MyProject\My_MSBuild.xml(173,5): error MSB3231: Unable to remove directory "prop-base". The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
    C:\src\MyFolder1\MyProject\My_MSBuild.xml(173,5): error MSB3231: Unable to remove directory "text-base". The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
    C:\src\MyFolder1\MyProject\My_MSBuild.xml(173,5): error MSB3231: Unable to remove directory "prop-base". The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
    C:\src\MyFolder1\MyProject\My_MSBuild.xml(173,5): error MSB3231: Unable to remove directory "text-base". The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
    C:\src\MyFolder1\MyProject\My_MSBuild.xml(173,5): error MSB3231: Unable to remove directory "C:\CCNETEnvironment\MyFolder2\MyProject\working\checkout". Could not find a part of the path 'MyFile.txt.svn-base'.
Done building target "Clean" in project "My_MSBuild.xml" -- FAILED.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...