我在运行
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文件夹中,因此无法在任何一台用户计算机上真正控制此路径将指向的位置.
我认为这必然意味着ACTUAL路径实际上是从显示的路径以某种方式映射的?所以,我的问题是,如何从命令行找到完整的实际路径(必须是260个字符的路径),以便我可以确定如何真正解决此问题.
最佳答案 Windows路径是无限的,但需要使用不同的语法.
从http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx:
The Windows API has many functions that also have Unicode versions to
permit an extended-length path for a maximum total path length of
32,767 characters. This type of path is composed of components
separated by backslashes, each up to the value returned in the
lpMaximumComponentLength parameter of the GetVolumeInformation
function (this value is commonly 255 characters). To specify an
extended-length path, use the “\?\” prefix. For example, “\?\D:\very
long path”.