将 C# dll 导入另一个 C# 解决方案时,我有一个行为。
我正在尝试 import 的 dll 是我之前为另一个项目实现的类库,并且在我在此期间做了一些改进。 dll 编译得很好,在我将其导入新解决方案后,智能感知可以找到类和方法。
问题是当我运行导入 dll 并抛出 TypeLoadException 的项目时(消息类似于“无法从程序集中加载类型 'xyz' ...”。
我已经尝试删除 .vs 文件夹并清理并重建解决方案(两者)。我还尝试反编译实际的 dll 以查看是否有一些奇怪的东西,但类和方法实际上是存在的。
回答1
谢谢大家。
我在新解决方案的 2 个不同项目中导入相同的 dll 并且(我仍然不知道为什么)一个项目对 dll 有旧引用(即使引用是直接到文件)。
即使新参考中存在该方法,Visual Studio 仍在加载旧参考。
删除旧引用并重新添加即可解决问题。