今天在做項目的時候,由於程序同時啟動多種情況的數據,測試分為多個人,就需要把數據分離開來,於是用了一個臨時的配置文件,讓測試在配置文件修改相應數據從而讓各個測試互相不影響!
步驟:
第一步:添加一個App.config文件,文件格式如下:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="canshu" value="HKG999$sha777!1002*1003#sha888!0001*0002"/>
</appSettings>
</configuration>
這是我測試時候使用的一個例子!
第二歩:將文件添加在了項目中。
最開始我使用的是這種方法來讀取:
string ceshi =ConfigurationManager.AppSettings["canshu"];
注意:需要在資源管理器的引用里面,添加System.Configuration,然后再在代碼中添加 using System.Configuration;
現在問題來了,如果你的這個App.config的配置文件沒有在你的啟動項的目錄下面,這樣就拿不到你想要的數據,返回一個null。
解決辦法:(獲取絕對路徑下面的配置文件數據)
下面這種方法使用性比較好一些:
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;
這樣的方式就獲取到了想要的數據!希望遇到同樣問題的跟我一樣的初學者能得到幫助!