C# app.config 配置文件的读取方法
不同的应用程序有不同的读取方法 ,有可能是不同 的.NET版本语法造成的;具体原因暂时没有完全搞懂。
第一种方法:使用System.Configuration.ConfigurationSettings.AppSettings 来读取;
<?xml version="1.0" encoding="utf-8" ?>"v4.0" sku=".NETFramework,Version=v4.5" /> "connstring" value="Data Source=.;Initial Catalog=bookshop;User ID=sa;pwd=li;Integrated Security=TRUE"/>
1 public static DataTable ExecuteQuery(string sql) 2 { 3 string connstring = System.Configuration.ConfigurationSettings.AppSettings["connstring"].ToString(); 4 conn = new SqlConnection(connstring); 5 6 SqlDataAdapter sda = new SqlDataAdapter(sql, conn); 7 DataTable dt = new DataTable(); 8 //sda.SelectCommand = cmd; 9 sda.Fill(dt); 10 return dt; 11 }
第二种方法 :
1 <?xml version="1.0"?> 23 4 11 12"applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 5 7"SunEast.WMS.WinAPP.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/> 6 "userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 8 10"SunEast.WMS.WinAPP.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false"/> 9 13 3114 30"LogPath" serializeAs="String"> 15 17\\Log 16"IsLogTracking" serializeAs="String"> 18 20True 19"UserPwd" serializeAs="String"> 21 23123456 22"ReportPath" serializeAs="String"> 24 26\\Frx 25"DBString" serializeAs="String"> 27 29Persist Security Info =true; Password=lini;User ID = sa; Initial Catalog = MS; Data Source =127.0.0.1;Connect Timeout=10 2832 3833 37"IsShow" serializeAs="String"> 34 36true 35"v4.0" sku=".NETFramework,Version=v4.0"/>
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace APP { public class AppConst { public static string DBConnstring = Properties.Settings.Default.DBString; public static string ReportPath = System.IO.Directory.GetCurrentDirectory() + Properties.Settings.Default.ReportPath; public static string LogPath = System.IO.Directory.GetCurrentDirectory() + Properties.Settings.Default.LogPath; public static bool IsLogTracking = Properties.Settings.Default.IsLogTracking; } }