在哪里存储简单.NET应用程序的配置?

时间:2010-01-31 15:35:27

标签: c# .net configuration

我正在编写一个相当简单的应用程序,我想将其剪切为一个简单的EXE文件+一些数据存储(例如XML)。

我的问题是关于配置文件。在哪里放这些文件?我看到一些只有EXE文件的应用程序(uTorrent,Media Player Classic - 我可以在没有任何安装的情况下使用它们),但是他们将配置存储在其他地方。怎么做到这一点?

你会如何处理这种情况?尝试实现上述内容,或者只是在EXE文件所在的目录中使用配置文件和数据存储会更好吗?

7 个答案:

答案 0 :(得分:7)

在同一文件夹(或App_Data)中创建或使用文件是非常标准的做法。

您使用Inno Setup(免费)等安装程序创建单个exe安装程序(http://www.jrsoftware.org/isinfo.php

如果您需要数据库而不是XML,请查看SQLite(http://www.sqlite.org/)基于文件的数据库或使用MS Access数据库。

答案 1 :(得分:6)

仅EXE程序将其数据存储在Windows注册表或用户的Application Data / AppData文件夹中。虽然这一开始可能看起来更干净,但它只是隐藏了散布所有数据的丑陋。我建议只使用一个简单的XML / INI /文本数据文件,该文件在需要时生成并易于迁移。

答案 2 :(得分:5)

我想你想看看Application Settings。这是一个API,允许您使用强类型API保存用户或应用程序设置。在引擎盖下,设置通过XML序列化存储。

此API适用于几乎所有类型的.Net应用程序,包括低权限Click Once版本。它可以在磁盘上找到适合存储数据的位置并完全隐藏它。它还有一个很好的GUI集成到Visual Studio中。

答案 3 :(得分:3)

答案 4 :(得分:2)

您可以使用app.config文件存储配置。对于数据,我会提取类似db4oSQLite的内容。

修改

This tutorial可以向您展示使用db40存储和检索数据的简单方法。

答案 5 :(得分:1)

不要忘记Isolated Storage。它为您提供了一个读取和写入文件的位置,而无需您指定位置。有时,沙盒应用程序(如Silverlight)可以在本地存储用户或计算机特定数据的唯一方法。有关示例,请参阅here

答案 6 :(得分:-1)

我会将它们存储在同一目录中。这对我来说似乎更容易,至少这是我一直这样做的方式。