.net核心在运行时加载* .deps.json以加载正确版本的依赖程序集

myPlot._fullLayout.xaxis Core 3.0应用程序中,我有一个Main项目,试图在运行时加载插件程序集。主项目包含一些接口,但不包含实现。 插件程序集确实引用Main项目,并且包含Main项目中定义的接口的实现。 编译后,某些插件会包含一个ASP.NET文件,该文件根据平台等一些参数来指定其依赖项的正确位置(值得注意的是.deps.json的情况下,其依赖项如下:>

System.Data.SqlClient

当然,这些插件依赖项未在Main项目的runtimes/win-arm64/native/sni.dll runtimes/win-x64/native/sni.dll runtimes/win-x86/native/sni.dll ... 中指定。我希望能够在运行时加载它们。

请注意,手动将插件.deps.json文件合并到Main项目的.deps.json文件中可以成功运行该项目(为实现合并过程的自动化,我编写了一个简单的控制台应用程序[请参见:{{3} }]在构建后事件中启动,它将合并所有.deps.json文件;请注意,合并.deps.json文件可能会引起类似https://www.newtonsoft.com/json/help/html/MergeJson.htm的问题。无论如何,这闻起来好像不是一个好的解决方案。我宁愿扫描与每个插件程序集关联的.deps.json文件,并在运行时相应地执行依赖关系探测。

我搜索了其他主题和文章,例如Selenium .NET core 2.2 published project exe not running even on Windows x64Assembly Loading in .NET Core,但没有成功。

该工作如何执行?

sunnygirl126 回答:.net核心在运行时加载* .deps.json以加载正确版本的依赖程序集

内特·麦克马斯特(https://disqus.com/by/natemcmaster/)为此目的制作了一个项目( DotNetCorePlugins ):

https://www.nuget.org/packages/McMaster.NETCore.Plugins

https://github.com/natemcmaster/DotNetCorePlugins

尤其是,请参见:https://natemcmaster.com/blog/2018/07/25/netcore-plugins/#comment-4690476307

本文链接:https://www.f2er.com/3115647.html

大家都在问