在运行时热修补“deps.json”?

问题描述 投票:0回答:1

我有一个 .NET 6.0 DLL,其中包含 SQL Server 数据库的 Entity Framework Core

DbContext

如果该程序集由 .NET 6.0 EXE 引用然后调用,则一切正常。

但是,如果我尝试在插件概念中使用它并通过反射加载 DLL,如下所示:

var assembly = Assembly.LoadFrom("Plugin.dll");
var pluginType = assembly.GetExportedTypes()
  .Where(t => t.IsAssignableTo(typeof(IPlugin)))
  .First();
var plugin = (IPlugin)Activator.CreateInstance(pluginType);

然后我明白了

此平台不支持 Microsoft.Data.SqlClient。

唯一的区别在于

PluginHost.deps.json
现在不知道
Microsoft.Data.SqlClient
在某个时刻可能会参与其中。

我想知道是否有一些热加载函数来教导 EXE DLL 的依赖关系。

整个测试工作可以在 GitHub

上找到
c# reflection entity-framework-core .net-6.0
1个回答
0
投票

我通过这篇博文以及其中提供的nuget找到了答案。

© www.soinside.com 2019 - 2024. All rights reserved.