我是.NET的新手,我仍然没有了解配置文件的工作方式。

每次我在google上搜索它时都会收到有关web.config的结果,但我正在编写一个Windows窗体应用程序。

我发现我需要使用System.Configuration命名空间,但文档没有帮助。

如何定义我的配置文件是XYZ.xml?或者它有一个<!> quot; default <!> quot;配置文件的名称?我仍然没有那样做。

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

我想要一个包含这样的值的配置文件:

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

有一种简单的方法吗?您能以简单的方式解释如何从/向简单的配置文件进行读写吗?

有帮助吗?

解决方案

您想要使用App.Config。

当您向项目添加新项目时,会出现名为“应用程序配置”文件的内容。添加它。

然后在配置/ appsettings部分添加密钥

像:

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

通过执行

访问成员
System.Configuration.ConfigurationSettings.AppSettings["MyKey"];

这适用于.net 2及以上版本。

其他提示

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

1)向项目添加新文件(添加 - <!> gt;新项目 - <!> gt;应用程序配置文件)

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)构建时,输出文件夹将包含一个名为<!> lt; assemblyname <!> gt; .exe.config的文件。这将是App.Config文件的副本。开发人员不需要进一步的工作来创建这个文件。

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

最好的部分是从代码访问此属性是类型安全 - 编译器将捕获明显的错误,如错误输入属性名称。例如,app.config中名为MyConnectionString的属性将被访问为:

string s = Properties.Settings.Default.MyConnectionString;

您应该创建一个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;
    }

请注意,根据Microsoft ,您应该使用ConfigurationManager而不是ConfigurationSettings。 (见备注部分)  <!> quot; ConfigurationSettings类仅提供向后兼容性。对于新应用程序,您应该使用ConfigurationManager类或WebConfigurationManager类。 QUOT <!>;

配置文件的默认名称是[yourexe] .exe.config。因此,notepad.exe将在程序所在的文件夹中有一个名为notepad.exe.config的配置文件。这是CLR和Framework所有方面的常规配置文件,但可以在<appSettings>节点下包含您自己的设置。

System.Configuration.ConfigurationSettings.AppSettings元素创建一组名称 - 值对,可以作为IConfigurationSectionHandler访问。但是,无法将更改保存回配置文件。

还可以将自己的自定义元素添加到配置文件中 - 例如,定义结构化设置 - 通过创建实现<configSections>并将其添加到配置文件的ConfigurationSettings.GetConfig元素的类。然后,您可以通过调用System.Configuration.ConfigurationManager来访问它。

.NET 2.0添加了一个新类App.config,它支持多个文件,每个用户覆盖每个系统数据。它还支持将修改后的配置保存回设置文件。

Visual Studio创建一个名为<=>的文件,在构建项目时,该文件将使用正确的名称复制到EXE文件夹。

有关.NET应用程序配置的最佳(恕我直言)文章在CodeProject上揭开神秘面纱.NET 2.0配置。我下一篇关于.net配置文件中的部分的最喜欢(较短)的文章是了解部分处理程序 - 应用程序.config文件

在Windows窗体中,您有一个app.config,与web.config非常相似。但是,由于我认为你需要它是自定义值,我建议使用设置。 为此,请打开项目属性,然后转到设置。如果设置文件不存在,您将有一个链接来创建一个。然后,您可以将设置添加到您在那里看到的表,这将生成相应的XML,以及可用于加载和保存设置的Settings类。 设置类的名称类似于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;
        }
    }
}

我同意其他指向app.config的答案。但是,您应该创建一个实用程序类(AppSettings是我使用的名称)来读取它们并将它们作为属性公开,而不是直接从app.config中读取值。 AppSettings类可用于聚合来自多个商店的设置,例如来自app.config的值和来自程序集的应用程序版本信息(AssemblyVersion和AssemblyFileVersion)。

一种非常简单的方法是使用您的您自己的自定义<代码>设置类

System.Configuration.ConfigurationSettings.AppSettings [&QUOT;&的myKey QUOT;];

AppSettings已被弃用,现在已被淘汰。 [链接]

此外,app.config的appSettings部分已被applicationSettings部分取代。

正如其他人提到的那样,您应该使用System.Configuration.ConfigurationManager [链接]这是新的.Net 2.0

您使用的是什么版本的.Net和VS?

创建新项目时,您的解决方案中应该有一个名为app.config的文件,即默认配置文件。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top