今天在作項目的時候,因爲程序同時啓動多種狀況的數據,測試分爲多我的,就須要把數據分離開來,因而用了一個臨時的配置文件,讓測試在配置文件修改相應數據從而讓各個測試互相不影響!app
步驟:測試
第一步:添加一個App.config文件,文件格式以下:spa
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="canshu" value="HKG999$sha777!1002*1003#sha888!0001*0002"/>
</appSettings>
</configuration>orm
這是我測試時候使用的一個例子!xml
第二歩:將文件添加在了項目中。utf-8
最開始我使用的是這種方法來讀取:資源
string ceshi =ConfigurationManager.AppSettings["canshu"];string
注意:須要在資源管理器的引用裏面,添加System.Configuration,而後再在代碼中添加 using System.Configuration;io
如今問題來了,若是你的這個App.config的配置文件沒有在你的啓動項的目錄下面,這樣就拿不到你想要的數據,返回一個null。form
解決辦法:(獲取絕對路徑下面的配置文件數據)
下面這種方法使用性比較好一些:
ExeConfigurationFileMap map = new ExeConfigurationFileMap();
map.ExeConfigFilename =AppDomain.CurrentDomain.SetupInformation.ApplicationBase.TrimEnd('\\') + "\\App.config"; ////(引號裏面的是你的配置文件的在程序的絕對路徑)。
Configuration config = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None);
string ceshi = config.AppSettings.Settings["canshu"].Value;
這樣的方式就獲取到了想要的數據!但願遇到一樣問題的跟我同樣的初學者能獲得幫助!