在 .net 核心应用程序中加载标准库

Posted

技术标签:

【中文标题】在 .net 核心应用程序中加载标准库【英文标题】:Load Standard library in .net core application 【发布时间】:2020-11-30 11:59:51 【问题描述】:

我已经使用 .net 标准创建了一个库,我正在尝试在 .net core api 中使用它, 但出现错误 -

为 MediatR.IRequestHandler`2[] 类型的请求构造处理程序时出错。向容器注册您的处理程序。有关示例,请参阅 GitHub 中的示例。

内部异常 - 无法加载文件或程序集“RedisHelper.Client,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”。系统找不到指定的文件。

我的 mediatr 注入如下 -

services.AddMediatR(Assembly.GetExecutingAssembly());

我的班级 DI -

 services.AddTransient<IRedisClient, RedisClient>();

谁能建议我在这里缺少什么。

谢谢

【问题讨论】:

【参考方案1】:

为请求类型构建处理程序时出错 MediatR.IRequestHandler`2[]。将您的处理程序注册到 容器。有关示例,请参阅 GitHub 中的示例。

内部异常 - 无法加载文件或程序集“RedisHelper.Client”, 版本=1.0.0.0,文化=中性,PublicKeyToken=null'。系统 找不到指定的文件。

正如异常消息所说,无法加载 RedisHelper.Client 程序集。请检查您的 .net 核心应用程序和 .net 标准库,您在哪里添加了此程序集?请确保它添加成功,您也可以尝试重新安装它。

此外,如果您在库中添加 RedisHelper.Client 程序集,您还应该在 .net 核心应用程序中添加它。

【讨论】:

以上是关于在 .net 核心应用程序中加载标准库的主要内容,如果未能解决你的问题,请参考以下文章

在 ASP.NET Core 应用程序中加载自定义 ConfigSection

在 Python ctypes 中加载共享库期间出现分段错误(核心转储)

在 C# 服务器进程中加载​​应用程序时引发 SEHException

试图从其文件夹中加载 dll 的应用程序

从 CLI C++ 应用程序在库中加载 C# WPF 表单

.NET 进程和 AppDomain 在啥情况下会共享内存中加载的程序集?