繁体   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