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

时间:2013-07-23 10:12:47

标签: visual-studio pathtoolongexception

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

我的解决方案文件位于此文件夹C:\ Users \ username \ Documents \ Visual Studio 2010 \ Projects \ Health12.Domain12.WardManagement => 88个字符 当我尝试向此解决方案添加名为“Health12.Domain12.WardManagement.Service.Contract”的新类库时,它会给我路径太长的异常。

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。 Con ”,则可以精细。 任何想法为什么visual studio不允许创建项目,即使它没有超过允许的最大长度限制。

3 个答案:

答案 0 :(得分:6)

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

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

所以,为了使它工作,我只是使用mklink命令创建一个到文件夹的联结:

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

mklink /J d:\short_path_to_solution_folder d:\very\very\long\path\to\solution\folder

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

最诚挚的问候! 斯泰尔维奥

答案 1 :(得分: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个字符
  4. 在你的情况下:89 + 2 * 50 + 80 = 269

    限制为259((Drive char):\(256-character path))(参见Naming Files, Paths, and Namespaces

    你必须删除10个字符。您可以将项目路径的长度减少10个字符,或者删除项目名称中的5个字符("tract",例如有效)。

答案 2 :(得分:0)

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