Visual Studio - PathTooLongException,即使路径长度小于260个字符

And*_*ndy 3 visual-studio pathtoolongexception

我知道创建项目时允许的最大路径长度为260个字符,目录为248个字符.但即使我的路径长度小于200个字符,我也会收到此错误.

我的解决方案文件位于此文件夹C:\ Users\username\Documents\Visual Studio 2010\Projects\Health12.Domain12.WardManagement => 88个字符 当我尝试添加名为"Health12.Domain12.WardManagement.Service"的新类库时.收到"这个解决方案,它给我路径太长的例外.

C:\ Users\username\Documents\Visual Studio 2010\Projects\Health12.Domain12.WardManagement\Health12.Domain12.WardManagement.Service.Contract => 138个字符

C:\ Users\username\Documents\Visual Studio 2010\Projects\Health12.Domain12.WardManagement\Health12.Domain12.WardManagement.Service.Contract\Health12.Domain12.WardManagement.Service.Contract.csproj => 195个字符

没有可能的文件或文件夹超过260个字符的限制.

如果我从"Health12.Domain12.WardManagement.Service.更改项目名称合同 ",以"Health12.Domain12.WardManagement.Service.精读 ",它工作正常.任何想法为什么visual studio不允许创建项目,即使它没有超过允许的最大长度限制.

小智 6

此限制是Windows内核的一部分,几乎无法解决。我发现了一种允许使用超过260个字符的路径的解决方法。

免责声明:我仅在Windows 8 x64和Visual Studio 2013上尝试过此技巧

因此,要使其工作,我只需使用mklink命令创建与文件夹的连接:

假设这是原始路径:d:\ very \ very \ long \ path \ to \ solution \ folder,您只需以管理员身份从dos shell中取消该命令,即可获得一个短链接,如d:\ short_path_to_solution_folder

mklink /J d:\short_path_to_solution_folder d:\very\very\long\path\to\solution\folder
Run Code Online (Sandbox Code Playgroud)

更改源和目​​标路径以满足您的需求。

最好的祝福!斯泰尔维奥


Céd*_*non 5

Visual Studio中路径的长度计算如下:

  1. 解决方案的途径:C:\Users\username\Documents\Visual Studio 2010\Projects\Health12.Domain12.WardManagement\= 89个字符
  2. 2*项目名称:Health12.Domain12.WardManagement.Service.Contract\= 50个字符
  3. 保留字符:项目中文件的附加字符,编译文件,临时文件,... = 80个字符

在你的情况下:89 + 2*50 + 80 = 269

限制为259((Drive char):\(256-character path))(请参阅命名文件,路径和命名空间)

你必须删除10个字符.您可以通过10个字符减少项目路径的长度,或者删除项目名称中的5个字符("tract"例如,可以工作).


小智 5

您可以尝试将 regedit 中的设置路径值更改为值 1 并查看是否有帮助。它应该位于 Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem>LongPathsEnabled 下,祝你好运!