Информация об изменениях

Сообщение Через Reflection из net5.0 вызвать WPF net5.0-windows от 28.01.2022 16:28

Изменено 28.01.2022 17:50 Serginio1

Через Reflection из net5.0 вызвать WPF net5.0-windows
Суть такая через рефлекшин вызвать сборку net5.0-windows если OperatingSystem.IsWindows()
 var assembly = System.Reflection.Assembly.LoadFrom(fileName);
                var type = assembly.GetType("МойТип");


Винформсы работают, а вот Wpf выдает ошибку. Причем копировал саму dll в разные каталог и
System.BadImageFormatException: "Could not load file or assembly 'ReachFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. Reference assemblies should not be loaded for execution. They can only be loaded in the Reflection-only loader context. (0x80131058)"

Если не копировать ReachFramework то
Could not load file or assembly 'ReachFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. Не удается найти указанный файл.
Понятно, что можно сделать отдельный сервис, но может можно решить как то через Reflection

попробую OK, Solved the problem. Was using the DLL from .net5.0\ref. Changed to using the DLL from .net5.0 folder. Thanks for the help.

А вот рефовские сборки через рефлекшн не подгружаются
System.BadImageFormatException: "Could not load file or assembly 'PrintingServiceWin, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Reference assemblies should not be loaded for execution. They can only be loaded in the Reflection-only loader context. (0x80131058)"
Через Reflection из net5.0 вызвать WPF net5.0-windows
Суть такая через рефлекшин вызвать сборку net5.0-windows если OperatingSystem.IsWindows()
 var assembly = System.Reflection.Assembly.LoadFrom(fileName);
                var type = assembly.GetType("МойТип");


Винформсы работают, а вот Wpf выдает ошибку. Причем копировал саму dll в разные каталог и
System.BadImageFormatException: "Could not load file or assembly 'ReachFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. Reference assemblies should not be loaded for execution. They can only be loaded in the Reflection-only loader context. (0x80131058)"

Если не копировать ReachFramework то
Could not load file or assembly 'ReachFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. Не удается найти указанный файл.
Понятно, что можно сделать отдельный сервис, но может можно решить как то через Reflection

попробую OK, Solved the problem. Was using the DLL from .net5.0\ref. Changed to using the DLL from .net5.0 folder. Thanks for the help.

А вот рефовские сборки через рефлекшн не подгружаются
System.BadImageFormatException: "Could not load file or assembly 'PrintingServiceWin, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Reference assemblies should not be loaded for execution. They can only be loaded in the Reflection-only loader context. (0x80131058)"

Решение скопировать необходимые файлы из папки c:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App\5.0.5\