后台:我有一些应用数据。即数据库,来自重要的配置文件。 这些数据对于应用程序启动其他程序至关重要。
问题:我应该在哪里存储这些数据。即在哪个文件夹和哪里。 现在(这是错误的)它存储在Debug / App_Data的文件夹中。但是在git中导致问题,当我们发布App时,找不到数据。那么我们在哪里可以存储这个文件夹?
现在的结构是“WpfApplication2 \ WpfApplication2 \ bin \ Debug”
应用启动时,这些文件需要存在。所以他们需要成为应用程序本身的一部分。
答案 0 :(得分:1)
建议使用:
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
答案 1 :(得分:1)
您可以在
保存特定于应用程序的文件Path.Combine(Environment.GetFolderPath(
Environment.SpecialFolder.LocalApplicationData),
Path.GetFileNameWithoutExtension(AppDomain.CurrentDomain.FriendlyName));
但您也可以使用其他文件夹,例如My Documents
。
编辑:我记得我在.NET 3.0中的WPF应用程序中使用了隔离存储(我认为):
答案 2 :(得分:1)
将这些文件包含到您的项目中,并将属性Copy to Output directory
设置为Copy always
答案 3 :(得分:0)
您的App.config应该在.NET桌面应用程序的正常位置:它应该是 yourApplication .exe.config与.exe相同的文件夹。