System.Core FileNotFoundException при использовании DirectoryModuleCatalog в проекте Prism 6 Unity WPF - PullRequest
0 голосов
/ 12 октября 2018

У меня возникла проблема при попытке использовать DirectoryModuleCatalog в Prism.Я использую Prism версии 6.3.0 с Unity в проекте WPF.

При попытке загрузить модуль выдает ошибку:

System.IO.FileNotFoundException: «Не удалось загрузить файл или сборку» System.Core, версия = 0.0.0.0, Культура = нейтральная, PublicKeyToken = b77a5c561934e089 'или одна из ее зависимостей.Система не может найти указанный файл. '

Интересно, когда я использую Costura.Fody для плетения всех сборок, кроме тех, которые я получил дополнительно от NuGet, все работает и модуль загружается.

На всякий случай вот несколько фрагментов кода

Модуль

[Module(ModuleName = "Usb2Usb")]
public class Usb2UsbModule : IModule
{
    private IRegionManager _regionManager;
    private IUnityContainer _container;


    public Usb2UsbModule(IUnityContainer container, IRegionManager regionManager)
    {
        _container = container;
        _regionManager = regionManager;
    }

    public void Initialize()
    {
        _regionManager.RegisterViewWithRegion(RegionNames.ToolbarRegion, typeof(TestButton));
        _container.RegisterTypeForNavigation<Usb2UsbView>();
    }
}

Bootstrapper - CreateModuleCatalog

protected override IModuleCatalog CreateModuleCatalog()
{
    DirectoryInfo[] directoryInfoArray = new DrectoryInfo("Modules").GetDirectories("*.*", SearchOption.AllDirectories);
    var directoryModuleCatalog = new DirectoryModuleCatalog();
    foreach (DirectoryInfo directoryInfo in directoryInfoArray)
    {
        directoryModuleCatalog.ModulePath = directoryInfo.FullName;
    }

    return directoryModuleCatalog;
}

Скрипт пост-сборки

robocopy "$(TargetDir)\" "$(SolutionDir)ColoradoTime.Testing\$(OutDir)Modules\Usb2Usb" *.dll /purge
if %errorlevel% geq 8 exit 1
exit 0

Я могу продолжать использовать трюк Fody, но предпочел бы не вести список всех исключений DLL.Любые предложения с благодарностью.Спасибо!

...