Получить имя сборки из ссылочного ядра - PullRequest
0 голосов
/ 22 января 2019

У меня есть проект, который ссылается на другой проект, ядро.В третьем проекте я разрешаю сборки.Я легко могу получить первый проект, но он дает мне ошибку из-за ядра, он не может найти его.Вы знаете, что добавить?

         public MainWindow()
    {
        InitializeComponent();
        AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve);
    }

    private void Button_Click(object sender, RoutedEventArgs e)
    {

        var assembly = Assembly.Load(@"C:\Users\source\Project1\...\MainProgramm.exe");
        var windowType = assembly.DefinedTypes.FirstOrDefault(t => t != typeof(Window) && typeof(Window).IsAssignableFrom(t));

        var window = (Window)Activator.CreateInstance(windowType);
        window.Background = Brushes.Green;
        var tmp = window.ShowDialog();
    }


    static Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
    {
        AssemblyName an = AssemblyName.GetAssemblyName(args.Name);

        using(var memoryStream = new MemoryStream())
        using(var fileStream = new FileStream(args.Name, FileMode.Open))
        {
            byte[] bytes = new byte[fileStream.Length];
            fileStream.Read(bytes, 0, (int)fileStream.Length);
            memoryStream.Write(bytes, 0, (int)fileStream.Length);
            return Assembly.Load(bytes);
        }
    }

«CoreProject» это в пути к папке: @"C:\Users\source\Project1\Project1Core\"

...