У меня есть такой класс:
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: ссылка на объект не установлена на экземпляр объекта.» Свойство AllKeys для AppSettings - это массив нулевой длины, где я ожидаю длину 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 на моем компьютере) и инструкция наверху моего кода.
Я использую Fitnesse для тестирования кода, и именно тогда я получаю сообщение об ошибке. Насколько я понимаю, я должен также поместить копию файла app.config в папку Bin> Debug проекта test fixtures, который я сделал. Так что я до сих пор не знаю, почему я получаю эту ошибку.
Пожалуйста, помогите.