当前位置:  开发笔记 > 编程语言 > 正文

其中property.setting值存储在c#windows应用程序中

如何解决《其中property.setting值存储在c#windows应用程序中》经验,为你挑选了2个好方法。

我认为它应该是一个配置文件,但找不到它.谢谢



1> el2iot2..:

整个配置文件位置可能有点滑.根据其"用户"设置还是"应用程序"设置,它将进入不同的文件.有些设置甚至可以来自您的"机器"配置(就像ASP.NET一样).我发现在.NET中寻找这些文件的位置更有用,而不是猜测一切都在哪里.大致:

//Machine Configuration Path
string path1 = ConfigurationManager.OpenMachineConfiguration().FilePath;
//Application Configuration Path
string path2 = ConfigurationManager.OpenExeConfiguration( 
      ConfigurationUserLevel.None).FilePath;
//User Configuration Path 
string path3 = ConfigurationManager.OpenExeConfiguration(
      ConfigurationUserLevel.PerUserRoamingAndLocal).FilePath;

App.Config中

这是添加到项目中的内容.构建过程将其命名为[myproject] .exe.config.这保留了(大多数)只读应用程序设置和用户特定设置的应用程序级默认值.应用程序级别设置很难以编程方式更改其值.应用程序级别设置属性只能定义"get".目的是: 如果您的设置适用于应用程序的所有用户,则应手动编辑(或安装程序).如果它按用户更改,则将其设置为每用户设置.

二进制默认设置

您的应用程序将在没有[myproject] .exe.config文件的情况下运行.为此,二进制文件具有自己的"存储"文件版本.这在某些方面很有用,但可能令人困惑.如果.config文件位置错误或名称错误,.NET将恢复为"二进制默认值".通过更改配置文件,可能会导致无法影响设置.使用上面的方法知道.config REALLY的去向,或者面对二进制默认设置的愤怒.

User.Config

这是在您第一次使用"每用户"设置"保存"Default.Settings对象时生成的.此文件根据项目的名称,版本,操作系统和其他一些黑暗的.NET魔法保存在用户配置文件路径中的某个位置.这些设置的属性是可读/可写的.它们设计为易于设置,然后通过一次通话保存.

把它拉到一起

那么我的设置在哪里?答案是,可能有许多文件连接在一起以获得设置的"活动集".App.config和user.config设置是基本块,但是有machine.config设置,然后有依赖性程序集设置可以进一步使事情复杂化......但这完全是另一个主题.

配置文件的真实情况分布在许多丑陋的案例和细节上.但是,通过对它们如何连接在一起的一点知识,它是一个相当有用的系统.特别是如果你意识到你可以对这些设置进行数据绑定;)



2> George Sealy..:

如果您正在谈论.Net设置,那么它们通常位于与应用程序相同的目录中的.config(xml)文件中.但是,当您保存它们时,本地副本将保存到用户可写文件夹(通常是Vista下的C:\ Users\username\AppData\Local).在XP下,查看Documents and Settings文件夹.

.Net应用程序优先使用此文件,而不是应用程序目录中的"default"文件.

希望这可以帮助.

推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有