Visual Studio и максимальная длина пути ссылки на проект

#.net #visual-studio

#.net #visual-studio

Вопрос:

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

Например, проект 1 будет находиться в:

C:folderAfolder1folder2 …folderNmyProject1.csproj

Он ссылается на другой проект:

C:folderBfolder1folder2 …folderNmyProject2.csproj

Путь к ссылке сохраняется как относительный путь, как в ………… FolderB folder1folder2…folderNmyProject2.csproj

Когда VS загружает решение, оно не может разрешить ссылку, потому что создаваемый им абсолютный путь включает множество ../, так что путь превышает 256 символов. И сборка завершается с ошибкой.

Мы исправляем это, редактируя csproj и вводя абсолютный путь, что просто глупо.

Каково наилучшее решение для этого?

Комментарии:

1. Почему голосование против? Это законный вопрос.

Ответ №1:

Короткий ответ — не делайте этого, и это не повредит. Рассмотрите менее глубокие иерархии и сделайте связанные проекты близкими.

MSBuild — это управляемое приложение, и среда CLR имеет ограничение на длину пути / имени файла около 256 символов…

Комментарии:

1. Да, уменьшение глубины папок поможет. Я проверю это. Мы храним все артефакты проекта в SVN, что означает, что фактическое программное обеспечение находится на 4 уровнях ниже, чем у нас даже есть файл *.sln. Но в целом это потребовало бы изменений во многих проектах.

Ответ №2:

Максимальная рекомендуемая длина имени проекта составляет 64 символа. Team Foundation server не допускает более 64 символов Смотрите следующую ссылкуhttp://www.grabthecode.com/visual-studio/length-of-visual-studio-project-name

Ответ №3:

Вы можете ознакомиться с соглашениями об именовании, изложенными корпорацией Майкрософт, по приведенной ниже ссылке Документы Microsoft

Комментарии:

1. Предоставьте контекст для ссылок. Ответы только по ссылкам не являются хорошими ответами.