2017-06-20 91 views
2

我正在使用本地SDK在本地运行我的作业。不过,我得到了以下错误消息:由于超出路径长度限制导致USQL失败

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. 

我的一个同事是能够将误差追查到里面DataRoot的目录文件夹中的文件.SS通过在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个字符的限制。我无法减少项目路径的长度,因为我的组织遵循特定的工作目录格式。

有没有解决这个问题的方法?

回答

1

尝试在CMD中使用subst来通过将驱动器号映射到要使用的数据根来解决此问题。

subst X: C:\PathToYourDataRoot

然后在Visual Studio中ADL工具设置DataRoot到X:

enter image description here

+1

这可能对当地,但没有运行它自动化测试工作。例如。我们有自动化测试,这些测试是通过从输出目录引用的DataRoot运行的。这有时会导致更长的路径,我们仅限于使用输出目录进行测试项目 –