我应该将应用程序特定的配置文件存储在WPF中的何处
本文关键字:WPF 何处 存储 配置文件 应用程序 我应该 | 更新日期: 2023-09-27 18:20:19
背景:我有一些应用程序数据。即数据库,来了重要的配置文件。这些数据对于应用程序的启动至关重要,否则它将退出。
问题:我应该将这些数据存储在哪里。即在哪个文件夹和哪里。现在(这是错误的)它存储在Debug/App_Data中的一个文件夹中。但是在git中引起了问题,当我们发布应用程序时,找不到数据。那么我们可以把这个文件夹存放在哪里呢?
当前结构为"WpfApplication2''WpfApplication2''bin''Debug"
这些文件需要在应用程序启动时出现。因此,它们需要成为应用程序本身的一部分
将这些文件包括到项目中,并将属性Copy to Output directory
设置为Copy always
建议使用:
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"
在这两种情况下,操作系统本身都保证在这些位置拥有写入权限,并且它对用户来说是"隐藏的"(默认情况下,两个文件夹都是隐藏的)
正如@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应用程序中使用过独立存储(我想):
隔离存储简介
执行独立存储任务
您的App.config应该位于.NET桌面应用程序的正常位置:它应该是yourApplication.exe.config,位于与.exe.