【发布时间】:2014-03-14 10:48:57
【问题描述】:
我有一个包含多个项目的解决方案。在这个解决方案中,我的主要项目中使用了一些构建 dll 的库。
我的主项目使用输出类型控制台应用程序构建。
这一切都很好。
当我将构建输出类型更改为类库时(因为我最终想将此项目用作插件)。该项目仍将构建,这次是一个 dll。
当我在将它用作 dll 的应用程序中使用此插件时,它会运行到某个点,它会尝试加载在外部 dll 中定义的类型(因此不是由我的解决方案构建的)并抛出例外:
Could not load type 'externalinterface' from assembly 'externallib, version=3.0.0.0, Culture=neutral, PublicKeyToken=null'.
dll 都在正确的文件夹中,等等。
另外值得注意的是,该插件在我构建它的另一个位置进行了测试。可执行文件仍可在此位置运行,而 dll/插件则不能。他们的文件夹等中的 dll 数量相同。
编辑:我已经使用 ILSpy(dll 检查器)打开被引用的实际 dll(错误消息中的外部库)并检查是否存在“外部接口”。 p>
EDIT2: 已解决!加载我的插件的程序正在加载导致异常的相同 dll。它加载的 dll 与我加载的版本不同。
【问题讨论】:
标签: c# .net dll assemblies