Структура каталогов MSBuild ограничивает обходные решения

Если вам нужны объекты с полями, добавленными во время выполнения, рассмотрите возможность использования Map, где ключи - это константы enum, а значения - объекты.

14
задан workmad3 26 September 2008 в 15:09
поделиться

4 ответа

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

8
ответ дан 1 December 2019 в 12:02
поделиться

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

9
ответ дан 1 December 2019 в 12:02
поделиться

Вы попробовали пути DOS? Или \\? \префикс? .NET блог команды BCL имеет больше информации

0
ответ дан 1 December 2019 в 12:02
поделиться

Существует два типа проблем с длинным путем, которые необходимо построить. Один из них - это пути, которые на самом деле не слишком длинные, но в них много ".. \". Обычно это значения HintPath ссылок. MSBuild должен нормализовать эти пути до уровня ниже максимального, чтобы они работали.

Другой вид пути просто слишком длинный. Извините, но это не сработает. Если внимательно посмотреть на это, проблема в том, что для длинных путей просто не хватает поддержки API. У команды BCL (см. Их блог) были похожие проблемы. Только некоторые из API Win32 поддерживают формат \? \. Произвольные инструменты сборки и, вероятно, 98% приложений не работают; и хуже, вероятно, ведет себя плохо (подумайте обо всех буферах размером MAX_PATH).

Мы пришли к выводу, что до тех пор, пока нет Это большая попытка экосистемы заставить работать длинные пути, или Windows предлагает какой-то гениальный способ заставить их работать в любом случае (например, искажение коротких путей?). Длинные пути просто не могут быть поддержаны MSBuild. Как вы обнаружили, обходные пути включают подстановку; но если ваше дерево просто слишком глубокое, единственные варианты - построить его фрагментами или сократить имена папок. Извините.

Dan / MSBuild

2
ответ дан 1 December 2019 в 12:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: