【问题标题】:Windows 7 Path too long to create file above 260 Characters with .Net Framework 4.6.2Windows 7 路径太长,无法使用 .Net Framework 4.6.2 创建超过 260 个字符的文件
【发布时间】:2018-06-21 18:46:27
【问题描述】:

我尝试使用 .Net Framework 4.6.2 创建文件路径超过 260 个字符的文件

这在 Windows 10 中运行良好,但无法在 Windows 7 环境中创建。

我正在尝试使用 C# 务实地创建文件。

您能否帮我找到适用于任何 Windows 环境的解决方案。

【问题讨论】:

标签: c# windows-7-x64 system.io.file .net-4.6.2


【解决方案1】:

Windows 7 不支持长度超过 260 个字符的路径。如果可以的话,坚持这个限制。不受支持的功能可能会在 Windows 更新中中断。

您可以在此处阅读更多信息:https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx#maxpath 此链接还解释了 '\\?\' 前缀,该前缀允许最多大约 32'767 个字符的路径(例如:“\\?\D:\very long path”)。但我还没有使用 C# API 测试过 '\\?\'。

以下链接可能也很有趣

【讨论】:

  • 是的,但是在升级 .Net Framework 4.6.2 后,它会在 Win 10 中运行。在 Win 7 中,我也升级了 .Net Framework 4.6.2,但它在其他方面表现不佳。那么,在 .Net Framework 升级到 4.6.2 后,我们可以实现它的最佳方法是什么
  • @Herin 是的 4.6.2 支持长路径,如您关于 PathTooLongException 的链接中所述。但是Win7没有。如同一页所述,当操作系统返回 PathTooLong 错误时,会引发 PathTooLongException。不要指望它适用于Win7。这不是与 Win7 一起使用的功能。如果你能找到一种让它发挥作用的方法,那就高兴了。
  • 嘿 Renklus,这也不适用于 Windows server 2012 R2 操作系统。你能提出更好的方法来解决这个问题吗?谢谢。
【解决方案2】:

您可以将ZetaLongPaths 库用于旧系统和/或框架。有几个类似的库存在,但这个可能是最好的。

【讨论】:

  • 感谢您提及我的图书馆。让我骄傲! ?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-03-18
  • 2019-04-11
  • 1970-01-01
  • 1970-01-01
  • 2015-10-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多