3

我从测试应用程序中复制了一些代码:

const string sdfPath = @"C:\WebAPIClient\WebAPIClient\bin\Debug\DBPlatypusCompactDB.sdf";
string dataSource = string.Format("Data Source={0}", sdfPath);
int countAdded = 0;

    if (!File.Exists(sdfPath))
. . .

...在那里工作得很好;但在尝试将其转换为在 Windows CE 设备上运行的项目中使用:

const string sdfPath = @"Computer\WindowsCE\\\Program Files\hhs\DBPlatypusCompactDB.sdf";            
. . .

...(这是我从 Windows 资源管理器复制的路径(部署 exe 的文件夹,没有子文件夹)),我得到“找不到路径”或“路径无效”或类似的东西。

我如何指定路径?

4

2 回答 2

7

目前还不清楚您要做什么,所以这里有一些一般性的指示:

  1. Windows CE 不理解相对路径。时期。因此,所有路径都必须以反斜杠 ( \) 字符开头。
  2. “计算机”极不可能成为您设备路径的一部分。在设备上使用资源管理器并查看那里的路径。你所追求的可能是这样的\Program Files\hhs\mydatabase.sdf
  3. 设备的桌面路径不是实际路径。它们是外壳插件的诡计。PC 上的路径就像My Device\Program Files\foo.bar桌面上的任何文件 API 都无法解析的路径。如果您想从 PC 应用程序访问设备文件,则必须使用 RAPI 之类的东西在本地拉取文件,然后使用本地副本
于 2013-11-26T22:42:52.133 回答
1

如果您想在设备上运行,请使用以下代码:

常量字符串 sdfPath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase + @"\FolderName\Filename.*"

但是,您需要将FolderName复制到程序文件路径上的设备,请参见图像文件夹示例:

连接到您的设备

显示图像文件夹示例

于 2017-02-02T03:11:43.223 回答