Ошибка слишком длинного пути при создании службы Windows Azure - PullRequest
42 голосов
/ 21 апреля 2011

Я пытался опубликовать свой сервис в Windows Azure.Служба состоит из единственной webRole, однако я добавил функцию удаленного входа, опубликовал ее и собрал несколько раз, а теперь внезапно ее не соберу.Причина в том, что

Подробности ниже: "Ошибка 56 Указанный путь, имя файла или оба они слишком длинные. Полное имя файла должно содержать не более 260 символов, а имя каталога не должно превышать 248 символов. C: \ Program Files (x86)\ MSBuild \ Microsoft \ Cloud Service \ 1.0 \ Visual Studio 10.0 \ Microsoft.CloudService.targets 202 5 FileSystemCreator "

Я прошел по всем форумам, я использовал командную строку CSPack для упаковки сервисаэто нормально, но мне очень трудно настроить сертификат для подключения к удаленному рабочему столу, и я хотел бы воспользоваться этой возможностью, так как я создаю несколько веб-сайтов в событии onStart и хотел бы заглянуть в IIS.Некоторые сотрудники Microsoft согласны с тем, что это ошибка, и они пообещали устранить эту проблему, см. post .Я использую VS2010, и я не знаю, как исправить эту ошибку.

Может кто-нибудь помочь или указать мне место, где я могу получить любую помощь.

Ответы [ 7 ]

68 голосов
/ 11 сентября 2013

Я столкнулся с той же проблемой с новым решением.

Обратите внимание, что, в отличие от ответа Eugenio Pace, ошибка возникает только при развертывании в Azure (а не при запуске проекта в эмуляторе вычислений Azure).

Попробуйте добавить следующую строку в первую группу свойств файла проекта Windows Azure Visual Studio (* .ccproj):

<ServiceOutputDirectory>C:\Azure\</ServiceOutputDirectory>

Конечная косая черта (для любого выбранного пути)кажется обязательным.Эта папка будет удаляться каждый раз, когда вы создаете пакет, если он существует.

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

Кредит идет на: http://govada.blogspot.com/2011/12/windows-azure-package-build-error.html

8 голосов
/ 22 апреля 2011

Возможно, локальная папка, используемая для хранения временной структуры разработки, слишком длинная. См. Windows Azure - Решение «Путь слишком длинный после полной квалификации». Сообщение об ошибке .

4 голосов
/ 03 февраля 2014

У меня тоже была эта проблема при развертывании проекта Node.js в Azure.

Чтобы исправить это, мне пришлось изменить мои переменные среды пользователя "TEMP" и "TMP" на нечто более короткое, чем их значения по умолчанию.

В моем случае они по умолчанию указывали на%USERPROFILE% \ AppData \ Local \ Temp, изменив их на C: \ Temp, решил.

Убедитесь, что вы перезагружаете Windows после.

2 голосов
/ 30 декабря 2015

Лучшим решением может быть создание символической ссылки на папку вашего проекта.Это не требует перемещения файлов или изменения системных переменных.Откройте командную строку как администратор и запустите это:

mklink /D C:\Dev C:\Users\danzo\Source\Workspaces

Очевидно, что вы можете изменить «C: \ Dev» на то, что вы хотите, и вам придется изменить более длинный путь выше накорневой каталог вашей папки soltions / projects.

0 голосов
/ 30 августа 2017

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

По умолчанию это местоположение: C: \ Users \\ AppData \ Local \ dftmp

Кредит предоставляется Джиму Накашиме из Microsoft: https://blogs.msdn.microsoft.com/jnak/2010/01/14/windows-azure-resolving-the-path-is-too-long-after-being-fully-qualified-error-message/

В заказечтобы изменить временную папку, необходимо создать переменную user environmentmen t:

Она называется _CSRUN_STATE_DIRECTORY

Присвойте ей значение кратко названного каталога, например:

c:\AzureTemp

Не забудьте перезапустить Visual Studio для повторного считывания переменных среды

Устранена проблема многих компиляций!

0 голосов
/ 10 января 2015

Я испробовал все 2 вышеупомянутых подхода:

- изменить переменные TEMP и TMP

- <ServiceOutputDirectory> путь

и не сработал.В моем случае мне пришлось переместить весь проект по более короткому пути C: \ и сработало.Я использую W7 и VS12.

0 голосов
/ 05 июня 2012

Со мной произошла та же проблема, когда я пытался упаковать проект Umbraco для Azure (https://github.com/WindowsAzure-Accelerators/wa-accelerator-umbraco/wiki/Deployment), Я нашел решение: скопировать и переименовать путь и папку с длинным именем в "C: \ someshortname".

(решение было предложено следующим образом: ссылка )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...