什么是C#.NET中的App.config? 如何使用它?

我在C#.NET中完成了一个项目,其中我的数据库文件是一个Excel工作簿。 由于连接string的位置在我的编码中是硬编码的,所以在我的系统中安装它是没有问题的,但是对于其他系统是没有问题的。

有没有办法提示用户在完成应用程序安装后设置path?

我得到的答案是“使用App.Config”…任何人都可以告诉这是什么App.config,以及如何在我的上下文中使用它?

最简单的,app.config是一个XML文件,其中包含许多预定义的configuration部分,并支持自定义configuration部分。 “configuration部分”是XML的一个片段,其中一个模式意在存储某种types的信息。

  • 概述(MSDN)
  • 连接stringconfiguration(MSDN)

可以使用内置configuration节(如connectionStringsappSettings来configuration设置。 您可以添加您自己的自定义configuration部分; 这是一个高级主题,但对于构​​build强typesconfiguration文件非常有用。

Web应用程序通常有一个web.config,而Windows GUI /服务应用程序有一个app.config文件。

应用程序级configuration文件从全局configuration文件inheritance设置,例如machine.config。

从App.Config读取

连接string有一个可以使用的预定义模式。 请注意,这个小片段实际上是一个有效的app.config(或web.config)文件:

 <?xml version="1.0"?> <configuration> <connectionStrings> <add name="MyKey" connectionString="Data Source=localhost;Initial Catalog=ABC;" providerName="System.Data.SqlClient"/> </connectionStrings> </configuration> 

一旦你定义了你的app.config,你可以使用ConfigurationManager类在代码中读取它。 不要被繁琐的MSDN例子吓倒。 其实很简单

 string connectionString = ConfigurationManager.ConnectionStrings["MyKey"].ConnectionString; 

写入App.Config

经常更改* .config文件通常不是一个好主意,但它听起来像只想执行一次性安装。

请参阅: 更改连接string并在运行时重新加载app.config,其中描述了如何在运行时更新* .config文件的connectionStrings部分。

请注意,理想情况下,您可以从简单的安装程序执行此类configuration更改。

运行时App.Config的位置

:假设我手动更改app.config中的<value> ,保存并closures它。 现在,当我到我的bin文件夹并从这里启动.exe文件,为什么不反映应用的更改?

:当你编译一个应用程序时,它的app.config被复制到bin目录下,名称与你的exe相匹配。 例如,如果你的exe被命名为“test.exe”,你的bin目录中应该有一个“text.exe.config”。 您可以在不重新编译的情况下更改configuration,但需要编辑在编译时创build的configuration文件,而不是原始的app.config。

1:请注意,web.config文件不会被移动,而是在编译和部署时停留在同一位置。 一个例外是当一个web.config被转换 。

.NET核心

.NET Core引入了新的configuration选项。 * .config文件的工作方式似乎没有改变,但开发人员可以自由select新的更灵活的configuration范例。

  • ASP.NET核心中的configuration
  • 基本的.NET – .NET核心中的configuration

简而言之, App.config是一个基于XML的文件格式,用于保存应用程序级configuration

您可以使用ConfigurationManager访问ConfigurationManager ,如下面的代码段所示:

 var value = System.Configuration.ConfigurationManager.AppSettings["Key"] .ToString(); 

注意: ConfigurationSettings是检索configuration信息的过时方法。

 var value = System.Configuration.ConfigurationSettings.AppSettings["Key"] .ToString(); 

App.Config是一个XML文件,用作应用程序的configuration文件。 换句话说,您可以在其中存储任何您可能需要更改的设置,而无需更改代码(并重新编译)。 它通常用于存储连接string。

有关如何执行此操作请参阅此MSDN文章: http : //msdn.microsoft.com/en-us/library/ms254494(v=vs.80).aspx

您可以使用以下命令访问App.Config中的键:

 ConfigurationSettings.AppSettings["KeyName"] 

在这个线程采取行动