我有这样的课:
public class RxNormFolderMgr
{
// properties
public string RxNormFolder { get { return ConfigurationSettings.AppSettings["rootFolder"].ToString(); } }
}
当我尝试像这样使用它时:
public class TestRxNormFolderManager : ColumnFixture
{
public string RxNormFolder()
{
RxNormFolderMgr folderMgr = new RxNormFolderMgr();
return folderMgr.RxNormFolder;
}
}
我收到一个错误:“System.Reflection.TargetInvocationException:调用的目标已引发异常。---> System.NullReferenceException:对象引用未设置为对象的实例。” AppSettings 的 AllKeys 属性是一个长度为零的数组,我期望长度为 1。
我在项目中的 app.config 文件如下所示:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="rootFolder" value ="C:\RxNorm" />
<!-- Root folder must not end with slash. -->
</appSettings>
</configuration>
我知道 ConfigurationSettings.AppSettings 应该已经过时了,我应该使用 ConfigurationManager.AppSettings,但我什至无法编译它。我在项目中确实引用了 System.configuration(我的机器上的 c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.configuration.dll)和 using 代码顶部的语句。
我正在使用 Fitnesse 测试代码,这就是我收到错误的时候。我的理解是,我还应该将 app.config 文件的副本放在我已经完成的测试夹具项目的 Bin>Debug 文件夹中。所以,我不知道为什么我仍然收到这个错误。
请帮忙。