【问题标题】:Why do this occurs "Could not load file or assembly.." in C# class Library为什么会在 C# 类库中出现“无法加载文件或程序集..”
【发布时间】:2020-12-15 18:11:00
【问题描述】:

我是 .net 项目的新手。尽管我能够在 c# 中编写代码并使用它的框架,但有时我会遇到异常,我真的没有得到任何适当的资源/建议来修改或纠正它们。希望这次我能弄清楚。

我遇到的异常如下:

无法加载文件或程序集“Microsoft.AspNetCore.Cryptography.KeyDerivation, Version=2.2.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60”或其依赖项之一。系统找不到指定的文件。

我真的对这种类型的异常感到困惑。这些是什么原因以及我们需要如何交叉检查以清除这些? 这是我安装的内容:来自 nuget 控制台的“Microsoft.AspNetCore.Cryptography.KeyDerivation”,版本为 2.2.0。

我的安装包列表图片:

【问题讨论】:

  • 您仍然需要添加对它的引用。在项目/解决方案中的引用下,您需要添加对它的引用。
  • 有一个关于“Microsoft.AspNetCore.Cryptography.KeyDerivation”的已知问题,也许这个链接可以帮助github.com/aspnet/Announcements/issues/401
  • @Brad 这是一个 dotnet 核心项目。所以不会有参考。当我直接安装时,它属于软件包。

标签: c# asp.net-core


【解决方案1】:

此类错误的主要原因是您的输出文件夹。看看你的二进制输出放在哪里。在该文件夹中(通常是您的 .exe 或 .dll 输出,不确定您正在编写哪种 .NET 项目),您还应该拥有所有依赖项 dll。在这种情况下,缺少与 Microsoft.AspNetCore.Cryptography.KeyDerivation 相关的 dll。因此,当您运行可执行文件时,它会抱怨“无法加载文件或程序集 KeyDerivation”,因为它找不到它。

要解决此问题,请仔细检查您的项目的参考资料,并确保 Microsoft.AspNetcore.Cryptography.KeyDerivation 参考资料没有问题(我的意思是,确保此项目旁边没有出现黄色感叹号或其他图标解决方案资源管理器中的参考)。如果您有任何问题,请删除引用,然后重新添加 nuget 包。

【讨论】:

  • 我已经发布了依赖关系的图像。该包后没有这样的黄色感叹号图标。
猜你喜欢
  • 2018-08-03
  • 2016-05-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-12
  • 2019-08-01
相关资源
最近更新 更多