4

我在运行 Windows 7 的 Fujitsu 平板电脑上运行 C# .NET WPF 应用程序,访问安装在用户 AppData 文件夹中的 SQL Server CE 3.5 数据库。此应用程序可以在同类型的其他平板电脑上正常运行,也可以在普通笔记本电脑或台式电脑上正常运行。

当应用程序在一个特定的平板电脑上运行时,我收到错误:

The file resolves to a path that is too long. The maximum length is 260 characters 
[File name = c:\Users\tester\AppData\Roaming\Fourmative\AppDatabase\MyDatabase#1.sdf]

现在,我已经阅读了有关 Windows 路径名称的限制以及最大长度为 260 个字符的信息。但是,如您所见,这条路径的长度只有 72 个字符。

此外,由于应用程序作为安装程序的一部分安装在用户的 AppData 文件夹中,因此我无法在任何一台用户计算机上真正控制此路径将准确指向的位置。

我认为这一定意味着实际路径实际上是以某种方式从显示的路径映射的?所以,我的问题是,如何从命令行中找到完整的实际路径(必须是 260 个字符的路径),以便确定如何真正解决这个问题。

4

2 回答 2

3

Windows 路径是无限的,但需要使用不同的语法。

来自http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx

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

于 2012-09-15T08:40:42.417 回答
-1

我不确定“MyDatabase#1.sdf”是一个有效的文件名。我怀疑 # 是一个有效的字符,它可能是问题的原因,不知何故......

于 2012-09-15T10:04:31.400 回答