У меня есть 3 проекта решения, которые включают в себя мой DAL, сборку и мой проект модульного тестирования. Я использую ReSharper.
Следующее поле в моем DAL возвращает значение NULL для объекта SectionHandler:
public static DatabaseFactorySectionHandler SectionHandler =
(DatabaseFactorySectionHandler) ConfigurationManager.GetSection("DatabaseFactoryConfiguration");
Это строка из класса Factory. Другой класс, который наследует его, пытается инициализировать поле из своего конструктора.
Я вспомнил, что мне нужно было добавить мой файл App.config в мой проект Unit Test (он указывал на Machine.config). Тем не менее, это не решило проблему. Вместо этого я получаю при попытке выполнить мой тест:
> failed: Configuration system failed to initialize System.Configuration.ConfigurationErrorsException: Configuration
> system failed to initialize --->
> System.Configuration.ConfigurationErrorsException: Unrecognized
> configuration section section.
> (C:\projects\MyAssembly.Tests\bin\Debug\MyAssembly.Tests.dll.temp.config
> line 3)
Чего я не понимаю, так это именования файла конфигурации. В моем каталоге я вижу, что App.config был правильно переименован (MyAssembly.Tests.dll.config), но нет никаких признаков temp.config.
Вот мой app.config (это то, что в данный момент находится в моем тестовом проекте, в решении нет других App.configs)
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="DatabaseFactoryConfiguration" type="MyClass.DatabaseFactorySectionHandler, MyClass.DBConnector, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
</configSections>
<connectionStrings>
<clear/>
<add name="Connector1" providerName="MyProvider" connectionString="myConnString" />
<add name="DB2Connector" providerName="IBM.Data.DB2" connectionString="myConnString2" />
</connectionStrings>
<DatabaseFactoryConfiguration Name="MyClassHere" ConnectionStringName="Connector1" />
<DatabaseFactoryConfiguration Name="MyOtherClassHere" ConnectionStringName="DB2Connector" />
</configuration>
Почему я не могу заставить проект модульного теста распознать мой файл конфигурации? Благодаря.