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"?>
 2 
 3     
 4         "applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
 5             
"SunEast.WMS.WinAPP.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/> 6 7 "userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 8
"SunEast.WMS.WinAPP.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false"/> 9 10 11 12 13 14 "LogPath" serializeAs="String"> 15 \\Log 16 17 "IsLogTracking" serializeAs="String"> 18 True 19 20 "UserPwd" serializeAs="String"> 21 123456 22 23 "ReportPath" serializeAs="String"> 24 \\Frx 25 26 "DBString" serializeAs="String"> 27 Persist Security Info =true; Password=lini;User ID = sa; Initial Catalog = MS; Data Source =127.0.0.1;Connect Timeout=10 28 29 30 31 32 33 "IsShow" serializeAs="String"> 34 true 35 36 37 38 "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;
    }
}
C