代码之家  ›  专栏  ›  技术社区  ›  Ondrej Slinták

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

  •  10
  • Ondrej Slinták  · 技术社区  · 14 年前

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

    我的问题是关于配置文件。把那些文件放哪儿?我看到一些应用程序只有一个exe文件(autocurrent,media player classic-我可以在没有任何安装的情况下使用它们),但它们将配置存储在其他地方。如何做到这一点?

    你将如何处理这种情况?是更好地尝试实现我上面描述的事情,还是简单地使用配置文件和数据存储在与exe文件相同的目录中?

    7 回复  |  直到 14 年前
        1
  •  5
  •   JaredPar    14 年前

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

    此API几乎适用于所有类型的.NET应用程序,包括低权限单击一次版本。它的工作是在磁盘上找到适合存储数据的位置,并完全将其隐藏起来。它还有一个很好的图形用户界面集成到Visual Studio中。

        2
  •  7
  •   Mark Redman    14 年前

    在同一文件夹(或应用程序数据)中创建或使用文件是相当标准的做法。

    您可以使用类似inno-setup(free)的安装程序来创建一个exe安装程序( http://www.jrsoftware.org/isinfo.php )

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

        3
  •  6
  •   Max Shawabkeh    14 年前

    仅限exe的程序将其数据存储在Windows注册表或用户的application data/appdata文件夹中。虽然一开始看起来更清晰,但它掩盖了将所有数据分散在周围的丑陋。我建议您使用一个简单的xml/ini/text数据文件,该文件在需要时生成,并且易于迁移。

        5
  •  2
  •   Fernando    14 年前

    您可以使用app.config文件来存储您的配置。对于数据,我建议 db4o SQLite .

    编辑

    This tutorial 可以向您展示使用DB40存储和检索数据有多简单。

        6
  •  1
  •   Lars Truijens    14 年前

    别忘了 Isolated Storage . 它为您提供了一个读写文件的位置,而不需要您指定位置。有时,这是沙盒应用程序(如Silverlight)在本地存储用户或计算机特定数据的唯一方法。见 here 举个例子。

        7
  •  -1
  •   user239711    14 年前

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