Windows mobile 如何修复此“未找到路径”错误?

Windows mobile 如何修复此“未找到路径”错误?,windows-mobile,Windows Mobile,如何解决这个移动应用程序开发问题 连接到数据库时 dataSource = \\..datafile.sdf 我得到这个错误 找不到路径 我正在使用serviceCE dll进行数据访问。我想\\和..之间缺少一些东西。我想\\和..之间缺少一些东西。。没有道理。它表示您的数据比根文件夹高一级,根文件夹不存在。此外,ctacke在评论中告诉我CE无论如何都不支持相对路径 如果您的操作系统支持相对路径,那么我的回答的其余部分仍然适用。我将把它留作将来参考,可能是因为很多人似乎在没有阅读整篇文章的

如何解决这个移动应用程序开发问题

连接到数据库时

dataSource = \\..datafile.sdf
我得到这个错误

找不到路径


我正在使用serviceCE dll进行数据访问。

我想\\和..

之间缺少一些东西。

我想\\和..

之间缺少一些东西。。没有道理。它表示您的数据比根文件夹高一级,根文件夹不存在。此外,ctacke在评论中告诉我CE无论如何都不支持相对路径

如果您的操作系统支持相对路径,那么我的回答的其余部分仍然适用。我将把它留作将来参考,可能是因为很多人似乎在没有阅读整篇文章的情况下投了反对票,首先是一些名誉的损失-

如果数据文件比应用程序所在的文件夹高一级,则正确的路径为“..\datafile.sdf”;在某些编程语言中,必须避开反斜杠,因此它将变成“..\datafile.sdf”


您的数据实际位于哪里?您的应用程序在哪里?如果应用程序位于\yourapp\folder\bin中,而您的数据位于\yourapp\folder\data中,则从应用程序到数据的路径将为“..\data\”。如果数据文件位于\yourapp\文件夹中,则路径为“..\”。同样,根据您所使用的语言,您可能必须将反斜杠加倍才能将其转义。

\。。没有道理。它表示您的数据比根文件夹高一级,根文件夹不存在。此外,ctacke在评论中告诉我CE无论如何都不支持相对路径

如果您的操作系统支持相对路径,那么我的回答的其余部分仍然适用。我将把它留作将来参考,可能是因为很多人似乎在没有阅读整篇文章的情况下投了反对票,首先是一些名誉的损失-

如果数据文件比应用程序所在的文件夹高一级,则正确的路径为“..\datafile.sdf”;在某些编程语言中,必须避开反斜杠,因此它将变成“..\datafile.sdf”


您的数据实际位于哪里?您的应用程序在哪里?如果应用程序位于\yourapp\folder\bin中,而您的数据位于\yourapp\folder\data中,则从应用程序到数据的路径将为“..\data\”。如果数据文件位于\yourapp\文件夹中,则路径为“..\”。同样,根据您使用的语言,您可能必须将反斜杠加倍才能将其转义。

Windows CE没有相对路径的概念,因此即使您修复了无效的相对路径,也无法工作。您必须使用绝对路径。

Windows CE没有相对路径的概念,因此即使您修复了无效的相对路径,它也无法工作。您必须使用绝对路径。

您键入的路径是相对路径。Windows CE/Mobile不支持相对路径

因此,由于Windows Mobile设备上没有当前目录的概念,如何定位只知道相对路径的资源?Net程序始终可以访问其组成的模块。通常,一个.Net组件由一个封装在DLL或EXE文件中的模块组成。下一行将返回当前正在执行的程序集的绝对路径

字符串modulePath=this.GetType.Assembly.GetModules[0]。FullyQualifiedName

再多花一点代码,就可以得到程序运行的目录

Path.GetDirectoryNamethis.GetType.Assembly.GetModules[0]。FullyQualifiedName

使用这些信息,您可以为资源构建适当的路径字符串

注意:如果您正在使用本机API进行开发,请使用以下内容:
GetModuleFileNameGetModuleHandleNULL、pszFullPath、MAX_PATH

您键入的路径是相对路径。Windows CE/Mobile不支持相对路径

因此,由于Windows Mobile设备上没有当前目录的概念,如何定位只知道相对路径的资源?Net程序始终可以访问其组成的模块。通常,一个.Net组件由一个封装在DLL或EXE文件中的模块组成。下一行将返回当前正在执行的程序集的绝对路径

字符串modulePath=this.GetType.Assembly.GetModules[0]。FullyQualifiedName

再多花一点代码,就可以得到程序运行的目录

Path.GetDirectoryNamethis.GetType.Assembly.GetModules[0]。FullyQualifiedName

使用这些信息,您可以为资源构建适当的路径字符串

注意:如果您正在使用本机API进行开发,请使用以下内容:
GetModuleFileNameGetModuleHandleNULL、pszFullPath、MAX_PATH

不是真的。CE没有相对路径。很高兴知道,以备将来参考。我会把这个帖子改成不包括CE。谢谢你的更正,不是真的。CE没有相对路径。很高兴知道,以备将来参考。我会把这个帖子改成不包括CE。谢谢你
更正。如果您要查找的文件不在文件夹中,而是在子设备中,该怎么办?我不知道术语是什么,但在Windows资源管理器中,该设备分为子设备或超级文件夹,它们下面有文件夹。如何表示/指定您想要访问的内容?My.exe位于一个子设备中,而我需要读取并可能替换其版本信息的.exe位于另一个子设备中…如果您要查找的文件位于子设备中,而不是文件夹中,而是子设备中,该怎么办?我不知道术语是什么,但在Windows资源管理器中,该设备分为子设备或超级文件夹,它们下面有文件夹。如何表示/指定您想要访问的内容?My.exe位于一个子设备中,而需要读取并可能替换其版本信息的.exe位于另一个子设备中。。。