3

我從一個測試應用程序複製了一些代碼:如何在Windows CE設備上指定文件的路徑?

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文件的部署文件夾複製的路徑,沒有子文件夾)),我得到「路徑找不到」或「路徑無效」或類似的東西。

我該如何指定路徑?

回答

5

這不是真的清楚你想要做什麼,所以這裏有一些一般的指針:

  1. Windows CE不明白相對路徑。期。所以所有路徑必須以反斜槓(\)字符開頭。
  2. 「計算機」極不可能成爲您設備上路徑的一部分。在設備上使用Explorer瀏覽器查看路徑。你所追求的可能是類似\Program Files\hhs\mydatabase.sdf
  3. 設備的桌面路徑不是實際的路徑。他們是外掛插件。 PC上的路徑如My Device\Program Files\foo.bar不是桌面上的任何File API可解析的路徑。如果你想從PC應用程序訪問設備文件,你必須使用類似RAPI拉文件在本地,然後使用本地副本
+0

「計算機」 * *是什麼Windows資源管理器在桌面上說,但是從設備本身,這是「\\ Program Files文件\\ HHS \ DBPlatypus.sdf 「而且工作正常;謝謝! –

+0

Windows CE不理解相對路徑,因爲在Windows CE中沒有「當前目錄進程」的概念。 –

1

,如果你想在設備使用運行此代碼:

常量字符串sdfPath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly()的GetName()。基本代碼+ @ 「\文件夾\文件名。*」

但是,你需要複製FolderName到設備上程序文件 path see images f舊的例子:

Connect to your device

Show images folder example

+1

歡迎來到Stack Overflow! 當給出答案時,最好給出[一些解釋,爲什麼你的答案](http://stackoverflow.com/help/how-to-answer)是一個。 –

相關問題