Сбой задания USQL из-за превышения ограничения длины пути

Я выполняю свои задания локально, используя Local SDK. Однако я получаю следующее сообщение об ошибке:

Error : 'System.IO.PathTooLongException: 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.

Один из моих коллег смог найти ошибку в файле .ss в папке catalog внутри DataRoot, запустив проект в новом каталоге C:\. Путь к файлу .ss:

C:\HelloWorld\Main\Source\Data\Insights\NewProject\NewProject\USQLJobsForTesting.Tests\bin\Debug\DataRoot\_catalog_\database\d92bfaa5-dc7f-4131-abdc-22c50eb0d8c0\schema\f6cf4417-e2d8-4769-b633-4fb5dddcb066\table\aa136daf-9e86-4650-9cc3-119d607fb3b0\31a18033-099e-4c2a-aae3-75cf099b0fb1.ss

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

Есть ли возможное решение этой проблемы?


person Moiz Sajid    schedule 20.06.2017    source источник


Ответы (1)


Попробуйте использовать subst в CMD, чтобы обойти эту проблему, сопоставив букву диска с корнем данных, который вы хотите использовать.

subst X: C:\PathToYourDataRoot

А затем в инструментах ADL для Visual Studio установите для DataRoot значение X:

введите здесь описание изображения

person saveenr    schedule 20.06.2017
comment
Это может работать для локального запуска, но не для автоматических тестов. Например. У нас есть автоматизированные тесты, которые запускаются со ссылкой на DataRoot из выходного каталога. Иногда это приводит к более длинным путям, и мы ограничены только использованием выходного каталога для тестового проекта. - person Muhammad Umar Farooq; 21.06.2017