我一直在使用ApplicationDeployment.CurrentDeployment.DataDirectory
來存儲客戶端在運行時下載的內容,預計每次啓動應用程序時都會出現內容,但是現在如果應用程序更新,我發現這些更改看似隨機。我可以在哪裏安全地存儲ClickOnce部署的數據文件?
什麼是在點擊一次部署中爲應用程序存儲用戶數據的最可靠方法?
目前我一直在使用下面的方法
private const string LocalPath = "data";
public string GetStoragePath() {
string dir;
if (ApplicationDeployment.IsNetworkDeployed) {
ApplicationDeployment ad = ApplicationDeployment.CurrentDeployment;
dir = Path.Combine(ad.DataDirectory, LocalPath);
} else {
dir = LocalPath;
}
return CreateDirectory(dir);
}
我本來跟着標題下的ClickOnce Data Directory
文章Accessing Local and Remote Data in ClickOnce Applications其中指出,這是推薦路徑。
注意:CreateDirectory(string)
只是創建一個目錄,如果它不存在。
我發現我的問題的根本原因是我創建了許多文件和一個索引文件,這個索引文件包含絕對路徑,一次性移動升級內容(或副本),所以絕對路徑不復存在。我將調查獨立存儲,如Damokles所建議的,看看它是否對點擊一次部署具有相同的副作用。
如果你走了孤立的存儲路線,一定要看問題... http:// stackoverflow。com/questions/202013 – codeConcussion
謝謝whatknott,我會牢記這一點。 –