Когда я попытался запустить приложение WPF, которое использует PRISM из надстройки для кнопок в ArcMap
, событие OnClick
заходит так же далеко, как инициализация и отображение Shell.xaml
, но когда оно пытается загрузить модули и управления в регионах, я получаю эту ошибку:
Невозможно привести прозрачный прокси к типу 'InnerModuleInfoLoader'
Надстройка для кнопки имеет это для обработчика событий onclick
:
protected override void OnClick()
{
App app = new App();
app.InitializeComponent();
app.Run();
}
В App.xaml.cs
затем запускается загрузчик OnStartUp
:
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
Bootstrapper bootstrapper = new Bootstrapper();
bootstrapper.Run();
}
Модули копируются в папку bin\Modules
надстройки:
protected override IModuleCatalog CreateModuleCatalog()
{
var moduleCatalog = new DirectoryModuleCatalog();
moduleCatalog.ModulePath = @".\Modules";
return moduleCatalog;
}
Метод загрузчика Run()
доходит до инициализации и отображения оболочки:
protected override void InitializeShell()
{
base.InitializeShell();
App.Current.MainWindow = (Window)this.Shell;
App.Current.MainWindow.Show();
}
Но в той части, где он пытается загрузить модули и элементы управления в регионы, я получаю эту ошибку. Приложение WPF само по себе работает нормально, но когда кнопка запускает его, оно не завершается.
Я не эксперт по призме, просто пробую это в качестве прототипа для следующей версии, поэтому любая помощь будет оценена.