在运行时加载nuget包及其程序集

时间:2015-06-22 21:04:53

标签: asp.net-core

我正在开发一个使用asp.net 5的CMF系统。我认为我应该使用nuget包实现插件系统,因为dnx原则“NuGet所有的东西”。

  1. 如何在运行时搜索,下载,解压缩包?
  2. 我如何在运行时从包中加载dll?

2 个答案:

答案 0 :(得分:0)

您可以直接使用nuget.exe使用Process.Start下载nuget软件包并进行安装。然后,您可以使用Assembly.LoadFrom从这些已安装的软件包加载程序集。

答案 1 :(得分:0)

目前,没有简单的方法可以动态加载NuGet包。实际上,它甚至不推荐使用,因为服务等某些功能无法正常工作。

您必须采用旧方法:使用Reflection加载DLL。如果它们来自nupkg,那么您必须自己解压缩并解决依赖关系。