Я мигрирую с Prism 4 на Prism 7.1, и я не могу обнаружить, что метод ConfigureContainer был удален из последней версии Prism. В прошлом я использовал этот метод для загрузки конфигурации Unity из файловой системы.
с последней версией библиотеки Prism, это представляется невозможным.
Я уже исследовал опцию ModuleConfiguration, которая, по моему мнению, не позволяет вводить зависимости через файл конфигурации таким же образом.
Есть ли альтернативный подход для этого, где я могу обеспечить регистрацию типов через файл конфигурации.
Вот как я это делал в прошлом:
1- В BootStrapper был переопределен следующий метод:
protected override void ConfigureContainer()
{
base.ConfigureContainer();
var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
UnityConfigurationSection section = (UnityConfigurationSection)config.GetSection("unity");
if (section != null)
{
section.Configure(Container);
}
}
2- Добавить раздел конфигурации в файл app.config:
<section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection,Microsoft.Practices.Unity.Configuration" />
3 - Добавить файл конфигурации для единства, который выглядит следующим образом:
<unity xmlns="schemas.microsoft.com/practices/2010/unity">
<sectionExtension type="Unity.FactoryConfig.FactoryConfigExtension, Unity.FactoryConfig"/>
<alias alias="Singleton" type="Microsoft.Practices.Unity.ContainerControlledLifetimeManager, Microsoft.Practices.Unity"/>
<alias alias="ConfigFactory" type="Vms.Pt.Common.DependencyInjection.ComponentBuilder.ConfigClassFactory`1, Vms.Pt.Common.DependencyInjection.ComponentBuilder"/>
<container>
<!--Modal/popup provider service-->
<register type="IPopupService, GUI.Infrastructure"
mapTo="Services.PopupService, GUI.Infrastructure">
<lifetime type="Singleton"/>
</register>
</container>
</unity>