在运行时加载 nuget 包及其程序集
Load nuget package and its assembly in runtime
我正在开发一个 CMF 系统,使用 asp.net 5. 我认为我应该使用 nuget 包实现插件系统,因为 dnx 原则 "NuGet all the things".
- 如何在运行时搜索、下载、解压包?
- 以及如何在运行时从包中加载 dll?
那么你可以使用 nuget.exe 直接使用 Process.Start 下载 nuget 包并安装它们。然后您可以使用 Assembly.LoadFrom.
从那些已安装的包中加载程序集
目前,没有简单的方法来动态加载 NuGet 包。实际上,甚至不推荐这样做,因为某些功能(如服务)将无法正常工作。
您必须采用旧方法:使用反射加载 DLL。如果它们来自 nupkg
那么你必须自己提取它并解决依赖关系。
我正在开发一个 CMF 系统,使用 asp.net 5. 我认为我应该使用 nuget 包实现插件系统,因为 dnx 原则 "NuGet all the things".
- 如何在运行时搜索、下载、解压包?
- 以及如何在运行时从包中加载 dll?
那么你可以使用 nuget.exe 直接使用 Process.Start 下载 nuget 包并安装它们。然后您可以使用 Assembly.LoadFrom.
从那些已安装的包中加载程序集目前,没有简单的方法来动态加载 NuGet 包。实际上,甚至不推荐这样做,因为某些功能(如服务)将无法正常工作。
您必须采用旧方法:使用反射加载 DLL。如果它们来自 nupkg
那么你必须自己提取它并解决依赖关系。