在app.config文件中添加如下配置
<appSettings> <add key="Server" value="127.0.0.1"/> <add key="Port" value="2020"/> </appSettings>
访问方式(需要添加System.Configuration.dll的引用)
string server = ConfigurationManager.AppSettings["Server"]; int port = Convert.ToInt32(ConfigurationManager.AppSettings["Port"]);
Gets the AppSettingsSection data for the current application's default configuration.
Namespace: System.Configuration
Assembly: System.Configuration (in System.Configuration.dll)
public static NameValueCollection AppSettings { get; }
Property Value
Type: System.Collections.Specialized.NameValueCollection
Returns a NameValueCollection object that contains the contents of the AppSettingsSection object for the current application's default configuration.
Exceptions
ConfigurationErrorsException |
Could not retrieve a NameValueCollection object with the application settings data. |
Remarks
A AppSettingsSection object contains the contents of the configuration file's appSettings section.
The first example shows a simple console application that reads application settings, adds a new setting, and updates an existing setting.
using System; using System.Configuration; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { ReadAllSettings(); ReadSetting("Setting1"); ReadSetting("NotValid"); AddUpdateAppSettings("NewSetting", "May 7, 2014"); AddUpdateAppSettings("Setting1", "May 8, 2014"); ReadAllSettings(); } static void ReadAllSettings() { try { var appSettings = ConfigurationManager.AppSettings; if (appSettings.Count == 0) { Console.WriteLine("AppSettings is empty."); } else { foreach (var key in appSettings.AllKeys) { Console.WriteLine("Key: {0} Value: {1}", key, appSettings[key]); } } } catch (ConfigurationErrorsException) { Console.WriteLine("Error reading app settings"); } } static void ReadSetting(string key) { try { var appSettings = ConfigurationManager.AppSettings; string result = appSettings[key] ?? "Not Found"; Console.WriteLine(result); } catch (ConfigurationErrorsException) { Console.WriteLine("Error reading app settings"); } } static void AddUpdateAppSettings(string key, string value) { try { var configFile = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); var settings = configFile.AppSettings.Settings; if (settings[key] == null) { settings.Add(key, value); } else { settings[key].Value = value; } configFile.Save(ConfigurationSaveMode.Modified); ConfigurationManager.RefreshSection(configFile.AppSettings.SectionInformation.Name); } catch (ConfigurationErrorsException) { Console.WriteLine("Error writing app settings"); } } } }
<?xml version="1.0" encoding="utf-8" ?> <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> </startup> <appSettings> <add key="Setting1" value="May 5, 2014"/> <add key="Setting2" value="May 6, 2014"/> </appSettings> </configuration>
How to find path of active app.config file?
Try this
AppDomain.CurrentDomain.SetupInformation.ConfigurationFile
Hope it helps