问题标签 [pathtoolongexception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
848 浏览

c# - 来自 Web 应用程序的 .NET System.IO.PathTooLongException

Windows 10 和 Windows Server 2016 为传统的长路径问题引入了解决方案。该解决方案易于实施,并且在以下博客文章中非常详细。按照这些步骤成功地为 .NET 控制台/桌面应用程序工作。但是,出于某种原因,当从 ASP.NET Web 应用程序运行相同的代码时,我仍然会遇到相同的经典System.IO.PathTooLongException异常。

抛出异常的代码:

正如我提到的,代码在控制台应用程序上成功运行,但在 ASP.NET 网站应用程序中失败。网站 web.config 包括以下内容:

和应用程序清单文件,如上面的博客链接中所述。

任何想法表示赞赏。

0 投票
1 回答
1982 浏览

c# - 如何缩短c#中的路径并保持有效

我在一个目录有这么长的名字并且在这么长的树上的地方工作。

而且我在外部应用程序中的文件夹路径名太长时遇到问题(我无法更改此外部应用程序,但我可以给它缩短路径名)。

我知道 Microsoft 操作系统可以缩短路径名称,例如转换C:\TooLongName\TooLongSubDirectoryC:\TooLon~1\TooLon~1.

但是我怎样才能在 C# 中做到这一点并且仍然保持中殿有效和可用?

PS:我没有使用标准FileInfoDirectoryInfo类,我只使用将发送到我无法以任何方式更改的外部应用程序的字符串。

0 投票
1 回答
481 浏览

c# - Alphaleonis File.OpenRead() 抛出“系统找不到指定的路径。” 当路径长度>256

我在打开路径长度 > 256 的图像时遇到问题。我使用的是 Alphaleonis,它适用于我复制和查找文件,但在

当路径超过 256 个字符时,会抛出异常(“系统找不到指定的路径。”)。完整方法:

它适用于 pathLen < 257 但如果路径较长则进入内部捕获的图像。有什么建议么?先感谢您!

编辑:附加信息:图像位于网络驱动器上

Edit2:需要更新 Alphaleonis 并按照接受的答案调用该方法。

0 投票
4 回答
3090 浏览

xamarin.forms - 在不重新定位的情况下解决 xamarin android“路径太长”

我最近开始ResolveLibraryProjectImports: PathTooLongException在我的 xamarin android 项目中收到错误xamarin.forms。当我在网上查找所有解决方案时,都说要重新定位项目。有什么方法可以更改项目属性或重新映射可以帮助我避免重新定位整个项目的方法吗?

更新:

由于赏金和问题已经出现在下面,这就是为什么我正在寻找替代解决方案来重新定位:

目录层次结构的存在是有原因的。如果不是每个人都会拥有一大堆文件夹作为根目录。它们旨在让我们组织一切。我的情况也是如此。我已经组织了所有基于文件夹的云、代码、框架等。在我使用过的所有框架中,我从来没有因为项目的内部需求而重新定位项目。所以,我看不出有什么理由需要将项目从所有这些文件夹中移出(这也意味着从云中移出)并将它们放在与其他项目分开的某个位置,只是因为项目需要它。

0 投票
0 回答
221 浏览

c# - 调用 MSBuildWorkspace.OpenProjectAsync 时出现 System.IO.PathTooLongException

操作系统:Windows 7 专业版。

我们正在使用 Roslyn 打开 .csproj 文件以使用以下代码获取其编译详细信息:

该代码适用于文件路径少于 260 个字符的 .csproj 文件。但是代码在打开文件路径大于 260 个字符的 .csproj 文件时会引发以下异常。

但是这个限制必须有一些解决方法。我们正在寻找解决此问题的某些选项。

笔记:

  1. 我们无法将文件路径更改为更短的文件路径。
  2. 我们已经尝试了subst选项,但它仍然不是一个完整的证明选项。
0 投票
2 回答
481 浏览

c# - 获取超过 260 个字符的过长文件路径的安全信息:C#

我正在尝试获取网络文件夹中某些文件和目录的安全信息。不幸的是,某些文件和目录路径分别超过了它们的字符限制 260/248。我发现了很多使用 Win32 P/Invoke、使用 .NET Framework 4.6.2 等的信息。我能够使用Kim Hamilton 的代码来遍历路径超过长度限制但我无法使用的每个文件和目录它以获取安全信息。

下面是我的简单 C# 代码,其中包含超过 260 个字符的路径。它将抛出路径太长异常。你能帮我在这种情况下解决它吗?

0 投票
1 回答
185 浏览

powershell - Powershell 文件长度异常问题

我一直在尝试运行此脚本,该脚本捕获共享目录中的所有文件/文件夹并将其传递回 splunk。然而,即使我能找到的最长路径有 197 个字符,脚本也会给出 PathTooLongException 。

我尝试将共享映射为 C 驱动器根目录上名为 z 的文件夹,但这根本没有帮助。有人可以阐明如何解决这个问题或导致错误的原因吗?

0 投票
1 回答
1979 浏览

c# - C#:UseLegacyPathHandling 和 BlockLongPaths 的长路径不起作用

我将 C# 与.Net v4.7.2Win10一起使用,并且我有一些具有长路径 ( >260 ) 的文件要复制。

我知道,有一个解决方案可以在路径前加上 \\?\

此前缀有效,但我不想每次都为任何文件操作添加前缀。自 .Net v4.6.2 以来,AppContext-Switches UseLegacyPathHandlingBlockLongPaths有更好的解决方案。

但是,这是行不通的。

我的app.config看起来像这样:

我的C# 代码如下所示:

我的问题

  • 使用 .Net v4.5 File.Copy() 抛出System.IO.PathTooLongException

  • 使用 .Net v4.7.2 File.Copy() 抛出System.IO.DirectoryNotFoundException

如果设置了开关,我通过 AppContext.TryGetSwitch() 检查了它们。所以我不知道如何让我工作。

谁能解释一下,我做错了什么?感谢您的任何反馈!

——爵士

0 投票
1 回答
406 浏览

c# - 为什么 .NET 不能检测具有长文件路径的目录?

如果这些文件的完整路径超过 260 个字符,我无法枚举目录中包含的文件。以下代码显示了问题:

我的 app.manifest 文件包含:

但所做的只是将错误从 PathTooLongException 更改为 DirectoryNotFoundException。

这是我的 App.config:

我在 Windows 10 Pro 上,使用 Visual Studio 2019 16.1.1。我的目标是 .NET 4.7.2。

如何枚举这些超长目录中的文件?它们位于我无法控制的共享网络驱动器上,因此重命名目录不是我的选择。

0 投票
3 回答
803 浏览

visual-studio - VisualStudio PathTooLongException

我遇到了 VisualStudio 的问题 - 2017 Pro 和 2019 Pro。如果我尝试打开我的解决方案,我会收到以下错误:

在此处输入图像描述

VS2019 中的报错信息有点不同,但含义相同。当我调查 ActivityLog 文件时,只有这个节点对此问题感兴趣:

有什么方法可以准确地找出错误的路径吗?我怀疑 SpecFlow addid 引起了这个问题。但是如果我禁用这个插件,什么都不会改变。

另一个队友使用相同的解决方案没有这个问题。