从NETCORE11动态加载NET46 dll

时间:2017-01-30 09:50:14

标签: c# .net dll asp.net-core multiplatform

我有一个netcore1.1库项目使用EFCore和更多基于NETCore的库,它们使用插件。

某些插件没有移植到net-core中,而是定位net40net46 ...
并且他们没有针对我的运行,加载,组装的框架。

现在这是合乎逻辑的,我将遇到从不同框架将程序集加载到我的NetCore1.1应用程序中的问题......

net4x添加到框架列表中需要重构.netCore.net的代码,无论哪种方式,一个目标都无法同时使用这两个框架&#39插件。

我如何(来自NET-CORE应用程序)在其自己适合它的环境中运行插件?在保持界面的同时?
注意:如果有帮助,我的插件界面非常简单,基本类型。

修改 我尝试使用AssemblyLoader.Resolve,并在尝试引用时使用它 {System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089}
(令人惊讶的是,它没有从GAC加载),我是从C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6加载的, 给了我一个例外:

Could not load file or assembly 'System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL'.  
Reference assemblies should not be loaded for execution.  
They can only be loaded in the Reflection-only loader context.  
(Exception from HRESULT: 0x80131058)

感谢。

0 个答案:

没有答案