Я хочу интегрировать Unity в свое приложение, и я хочу, чтобы он использовал внешний файл конфигурации
Код инициализации Unity:
var fileMap = new ExeConfigurationFileMap { ExeConfigFilename = "unity.config" };
System.Configuration.Configuration configuration =
ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);
// *** problem starts here ***
var unitySection = (UnityConfigurationSection)configuration.GetSection("unity");
var container = new UnityContainer().LoadConfiguration(unitySection);
Также у меня есть внешний файл конфигурации для Unity,с именем "unity.config" со следующим содержимым
<unity xmlns="http://schemas.microsoft.com/practices/2010/unity">
<alias alias="IEmailConfigurator" type="Server.Common.Interfaces.IEmailConfigurator, Server.Common" />
<alias alias="EmailConfigurator" type="Server.Common.EmailConfigurator, Server.Common" />
<namespace name="Server.Common.Interfaces" />
<namespace name="Server.Common" />
<container>
<register type="IEmailConfigurator" mapTo="EmailConfigurator" />
</container>
</unity>
Проблема заключается в том, что в строке, где я хочу загрузить unitySection, GetSection () возвращает значение null.
В чем может быть проблема?
РЕДАКТИРОВАТЬ
Я добавил
<configuration>
<configSections>
<section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection, Microsoft.Practices.Unity.Configuration"/>
</configSections>
Однако теперь, когда я отслеживаю код, в строке
System.Configuration.Configuration configuration = //...
Переменная конфигурации в инициализированном свойстве FilePath: C: \ Program Files (x86) \ IIS Express \ unity.config, а не мой собственный файл unity.config
Любая идея, как ссылаться на конфигурациюфайл из веб-папки?
Спасибо.