Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#:有没有办法绕过完全限定路径的260个字符限制?_C#_Filepath - Fatal编程技术网

C#:有没有办法绕过完全限定路径的260个字符限制?

C#:有没有办法绕过完全限定路径的260个字符限制?,c#,filepath,C#,Filepath,可能重复: 我正试图找到一种方法来绕过这个可怕的260个字符的完全限定路径限制,同时我想知道为什么一开始就有一个路径限制!?我知道对一些人来说,260似乎“很多”,但自从我遇到这个问题以来,事实并非如此 基本上: 为什么必须有字符限制? 如何绕过它?使用\\?\UNC前缀打破路径的“DOS模式”。UNC路径的最大长度为32k个字符 这里有更多信息:首先,这与C无关,尤其是与Windows API无关,而Windows API就是其中的一个限制 看一看及其答案,这将引导您找到MSDN: Unic

可能重复:

我正试图找到一种方法来绕过这个可怕的260个字符的完全限定路径限制,同时我想知道为什么一开始就有一个路径限制!?我知道对一些人来说,260似乎“很多”,但自从我遇到这个问题以来,事实并非如此

基本上:
为什么必须有字符限制?

如何绕过它?

使用
\\?\
UNC前缀打破路径的“DOS模式”。UNC路径的最大长度为32k个字符


这里有更多信息:

首先,这与C无关,尤其是与Windows API无关,而Windows API就是其中的一个限制

看一看及其答案,这将引导您找到MSDN:

Unicode文件路径(在问题的答案和MSDN文章中描述)可以作为解决方案,但有一些注意事项。

来自:

Windows API有许多函数,这些函数也有Unicode版本,允许扩展长度路径的最大总路径长度为32767个字符。这种类型的路径由反斜杠分隔的组件组成,每个组件的最大值为GetVolumeInformation函数的lpMaximumComponentLength参数中返回的值(该值通常为255个字符)。要指定扩展长度路径,请使用“
\\?\
”前缀。例如,“
\\?\D:\very long path


听说过推特吗?它有140个字符的限制。这是人们对Bitly等URL缩写器兴趣高涨的原因之一。这是一个旧的Windows操作系统限制,不再相关,但它仍然会在许多操作系统功能中产生影响。但是您现在可以在.NET framework中使用长文件名。“\\?\”不使其成为UNC,\\?\支持UNC。每个组件(\…)都有一个
lpMaximumComponentLength
值限制(从
GetVolumeInformation
函数)。是否有办法绕过此组件限制,使每个组件都比指定的限制长,例如默认的255个字符?