什么是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节(如connectionStrings
或appSettings
来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"]
在这个线程采取行动