【问题标题】:Cannot Write To The Output File The Spcified Path/FileName Are Too Long?无法写入输出文件 指定的路径/文件名太长?
【发布时间】:2011-01-05 15:47:01
【问题描述】:

我的一个项目中出现了这个错误,似乎不知从何而来:

Cannot write to the output file "obj\Debug 
\WindowsFormsApplication1.Properties.Resources.resources".

The specified path, file name, or both are too long.  
The fully qualified file name must be less than 260 characters, 
and the directory name must be less than 248 characters.

我该如何解决这个问题?

【问题讨论】:

  • 那个目录的绝对路径是什么?
  • 几乎可以肯定,这取决于文件路径的深度,请将项目文件夹移近驱动器的根目录。

标签: c# filenames


【解决方案1】:

使用较短的路径,Win32 不支持比这更长的路径。较短的目录名称或较浅的嵌套层次结构可能会有所帮助。您的项目文件所在的路径已经很长,因此当它尝试在调试子目录中生成文件时,超出了路径的最大长度。

NTFS 本身、本机 NT API 和使用 \\?\ 的 Win32 API 支持更长的路径。但是对于“正常”路径,Win32 由于历史原因限制为 260 个字符。特别是 C 程序依赖于 260 字符缓冲区可以包含任何路径这一事实。 Microsoft 负责 Win32 API 的部分非常小心,不会破坏与旧程序的兼容性。

【讨论】:

    【解决方案2】:

    我假设“\obj..”目录位于某个较深的路径中,因此解决方法是移动它,使其不超过 260/248 长度限制。

    【讨论】:

      猜你喜欢
      • 2016-02-29
      • 2012-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-25
      • 2016-03-24
      • 2019-05-03
      相关资源
      最近更新 更多