簡體   English   中英

我應該在WPF中將應用程序特定的配置文件存儲在哪里

[英]Where should I store my App specific config files in WPF

背景:我有一些應用程序數據。 即數據庫,重要的配置文件。 該數據對於應用程序啟動至關重要,否則將被退出。

問題:我應該在哪里存儲這些數據。 即在哪個文件夾和哪里。 現在(這是錯誤的),它存儲在Debug / App_Data中的文件夾中。 但是在git中引起問題,並且當我們發布該應用程序時,找不到數據。 那么我們可以在哪里存儲此文件夾?

當前結構為“ WpfApplication2 \\ WpfApplication2 \\ bin \\ Debug”

啟動應用程序時,這些文件需要存在。 因此,它們需要成為應用程序本身的一部分。

建議使用:

var pathToConfig = Path.Combine( System.Environment.GetFolderPath(
           Environment.SpecialFolder.CommonApplicationData), YOUR_APP_NAME);

在Windows Vista和+機器上,它將以“ C:\\ ProgramData \\ AllUser \\ YOUR_APP_NAME”結尾

在Windows XP上,“ C:\\ Document and Settings \\ Application Data \\ YOUR_APP_NAME”

在這兩種情況下,您都將由OS自己保證在這些位置具有寫許可權,並且它們在用戶眼中“隱藏”(默認情況下,這兩個文件夾都是隱藏的)

正如@Athari正確建議的那樣:YOUR_APP_NAME應該是YOUR_COMPAMY_NAME \\ YOUR_APP_NAME

您可以將應用程序特定的文件保存在

Path.Combine(Environment.GetFolderPath(
    Environment.SpecialFolder.LocalApplicationData),
    Path.GetFileNameWithoutExtension(AppDomain.CurrentDomain.FriendlyName));

但您也可以使用其他文件夾,例如“ My Documents

編輯:我記得我曾經在.NET 3.0中的WPF應用程序中使用過隔離存儲(我認為):

隔離存儲簡介

執行隔離存儲任務

將那些文件包括到您的項目中,並將屬性“ Copy to Output directoryCopy always

您的App.config應該位於.NET桌面應用程序的常規位置:它應該是 .exe.config與.exe在同一文件夾中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM