有一个配置文件,在Windows最简单的办法窗体C#应用程序(Simplest way to hav

2019-06-14 21:57发布

我真的很新的.NET,我仍然没有得到关于悬挂的配置文件是如何工作的。

每次我在谷歌搜索一下我得到的web.config的结果,但我正在写一个Windows窗体应用程序。

我想通了,我需要使用System.Configuration命名空间,但文件并没有帮助。

如何定义我的配置文件是XYZ.xml? 或者它具有的配置文件“默认”的名字? 我还没有得到这一点。

此外,如何定义一个新的部分,我真的需要创建自ConfigurationSection继承的类?

我想只是有一些像这样的价值观的配置文件:

<MyCustomValue>1</MyCustomValue>
<MyCustomPath>C:\Some\Path\Here</MyCustomPath>

有一个简单的办法做到这一点? 你能以简单的方式解释了如何读取和/写入到一个简单的配置文件?

Answer 1:

你想用一个app.config。

当您添加一个新的项目,以项目有一些所谓的应用程序的配置文件。 补充一点。

然后你在配置/ appSettings部分添加键

喜欢:

<configuration>
 <appSettings>
  <add key="MyKey" value="false"/>

通过做访问成员

System.Configuration.ConfigurationSettings.AppSettings["MyKey"];

这部作品在.NET 2及以上。



Answer 2:

以前的答案的澄清......

1)一个新的文件添加到项目中(添加 - >新建用品 - >应用程序配置文件)

2)新的配置文件将出现在解决方案资源管理器为App.Config中。

3)使用下面的添加设置到这个文件作为模板

<configuration>
  <appSettings>
    <add key="setting1" value="key"/>
  </appSettings>
  <connectionStrings>
    <add name="prod" connectionString="YourConnectionString"/>
  </connectionStrings>
</configuration>

4)检索他们是这样的:

private void Form1_Load(object sender, EventArgs e)
{
    string setting = ConfigurationManager.AppSettings["setting1"];
    string conn = ConfigurationManager.ConnectionStrings["prod"].ConnectionString;
}

5)在建,你的输出文件夹将包含一个名为<的AssemblyName> .exe.config这将是app.config文件的拷贝文件。 没有进一步的工作应该需要由开发商来完成创建此文件。



Answer 3:

从以前的答案的快速阅读,他们看起来是正确的,但它并不像有人提到在VS 2008中新的配置设施,它仍然使用的app.config(在编译时YourAppName.exe.config复制),但有一个UI部件设置属性和specifiy它们的类型。 在项目的“属性”文件夹中双击Settings.settings。

最好的部分是,访问来自代码这个属性是类型安全的 - 编译器将捕获明显的错误就像打错属性名称。 例如,在一个名为的app.config财产MyConnectionString将访问这样的:

string s = Properties.Settings.Default.MyConnectionString;


Answer 4:

您应该创建一个App.config文件(很类似的web.config)

你应该右键点击你的项目,增加新的项目,新的“应用程序配置文件”。

确保您使用添加到System.Configuration项目。

然后你就可以值添加到它

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="setting1" value="key"/>
  </appSettings>
  <connectionStrings>
    <add name="prod" connectionString="YourConnectionString"/>
  </connectionStrings>
</configuration>

    private void Form1_Load(object sender, EventArgs e)
    {
        string setting = ConfigurationManager.AppSettings["setting1"];
        string conn = ConfigurationManager.ConnectionStrings["prod"].ConnectionString;
    }

刚一说明, 根据微软 ,你应该使用ConfigurationManager中,而不是ConfigurationSettings。 (见注释部分)“的ConfigurationSettings类仅提供向后兼容性。对于新的应用程序,你应该使用ConfigurationManager中类或WebConfigurationManager类代替。”



Answer 5:

为配置文件的默认名称为[yourexe] .exe.config。 所以NOTEPAD.EXE将有notepad.exe.config名为的配置文件,在同一文件夹中的程序。 这是CLR和框架的各个方面的通用配置文件,但可以将包含在你自己的设置<appSettings>节点。

所述<appSettings>元素创建其可以作为被访问的名称-值对的集合System.Configuration.ConfigurationSettings.AppSettings 。 有没有办法将更改保存回配置文件,但是。

另外,也可以向自己的自定义元素添加到配置文件-例如,以限定结构化设置-通过创建实现一类IConfigurationSectionHandler并将其添加到<configSections>配置文件的元素。 然后,您可以通过调用访问它ConfigurationSettings.GetConfig

.NET 2.0增加一个新的类, System.Configuration.ConfigurationManager ,它支持多个文件,每个系统数据的每个用户的覆盖。 它还支持保存修改的配置恢复设置文件。

Visual Studio创建一个名为App.config ,它复制到文件夹EXE,使用正确的名称,当项目建成。



Answer 6:

约.NET应用程序配置的最佳(IMHO)制品是在CodeProject 解开.NET 2.0配置之谜 。 而我的下一个收藏有关.NET中的配置文件部分(较短)的文章是理解部件处理程序- App.config文件 。



Answer 7:

在Windows窗体,你有一个app.config ,这是非常相似web.config 。 但是,因为我看到了什么,你需要它的自定义值,我建议使用设置。 要做到这一点,打开您的项目属性,然后去设置。 如果设置文件不存在,你将有一个链接创建一个。 然后,您可以添加设置,你看到没有表,这将产生两个相应的XML,以及可以用来加载和保存设置的设置类。 设置类将被命名为类似DefaultNamespace.Properties.Settings 。 然后,你可以使用类似的代码:

using DefaultNamespace.Properties;

namespace DefaultNamespace {
    class Class {
        public int LoadMySettingValue() {
            return Settings.Default.MySettingValue;
        }
        public void SaveMySettingValue(int value) {
            Settings.Default.MySettingValue = value;
        }
    }
}


Answer 8:

我同意这点你的app.config其他答案。 然而,而不是直接从app.config中读取值,你应该创建一个实用工具类(的AppSettings是我使用的名称),以读取它们并将它们公开为属性。 所述的AppSettings类可以从几个商店,如从组件(的AssemblyVersion和的AssemblyFileVersion)的app.config和应用程序版本信息的值被用于骨料设置。



Answer 9:

这样做的一个非常简单的方式是利用你自己的自定义Settings类 。



Answer 10:

System.Configuration.ConfigurationSettings.AppSettings [ “的myKey”];

AppSettings的已被弃用,现在已经过时了。 [ 链接 ]

另外在app.config的appSettings部分已取代了的applicationSettings部分。

正如别人所说,你应该使用System.Configuration.ConfigurationManager [ 链接 ]这对于NET 2.0是新的



Answer 11:

您正在使用哪个版本的.Net和VS的?

当你创建新的项目,你应该在你的解决方案称为app.config中,这是默认的配置文件的文件。



文章来源: Simplest way to have a configuration file in a Windows Forms C# Application