今天在作项目的时候,因为程序同时启动多种状况的数据,测试分为多我的,就须要把数据分离开来,因而用了一个临时的配置文件,让测试在配置文件修改相应数据从而让各个测试互相不影响!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;
这样的方式就获取到了想要的数据!但愿遇到一样问题的跟我同样的初学者能获得帮助!