0

背景:我有一些应用程序数据。即数据库,来重要的配置文件。此数据对于应用程序启动至关重要,否则将退出。

问题:我应该在哪里存储这些数据。即在哪个文件夹和在哪里。现在(这是错误的)它存储在 Debug/App_Data 的文件夹中。但是在 git 中引起问题,当我们发布应用程序时找不到数据。那么我们可以在哪里存储这个文件夹呢?

当前结构是“WpfApplication2\WpfApplication2\bin\Debug”

这些文件需要在应用程序启动时存在。所以他们需要成为应用程序本身的一部分。

4

4 回答 4

1

您可以将您的应用程序特定文件保存在

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

但您也可以使用其他文件夹My Documents

编辑:我记得我在 .NET 3.0 中的 WPF 应用程序中使用了隔离存储(我认为):

隔离存储简介

执行隔离存储任务

于 2013-06-28T10:14:53.187 回答
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

于 2013-06-28T10:14:00.803 回答
1

将这些文件包含到您的项目中并将属性设置Copy to Output directoryCopy always

于 2013-07-29T06:24:20.497 回答
0

您的 App.config 应该位于 .NET 桌面应用程序的正常位置:它应该是yourApplication .exe.config,位于与 .exe 相同的文件夹中。

于 2013-07-12T20:13:49.393 回答