无法从程序集“<assemblyname>”</assemblyname> </typename>加载类型“<typename>”

时间:2010-06-24 16:00:35

标签: .net-3.5 interface reference dependency-management refix

我决定今天修改一些代码,遇到一个对我没有任何意义的错误。我有一个名为IDatabase的接口和一个继承它的类,名为Database。我最初只是将IDatabase放在与Database相同的程序集中,但我不喜欢这样,因为它会阻止其他人在没有整个程序集的情况下创建新类型的IDatabase。我将IDatabase移动到一个名为LibraryInterfaces的新的独立程序集中,并更改了项目中的所有引用。

项目编译很好,但是当我执行它时,我收到错误:

Could not load type 'Company.Database.IDatabase' from assembly 'Company.Database'.

这对我没有任何意义,因为我将IDatabase的定义移到了LibraryInterfaces!我仔细检查了正在运行的文件夹中的文件,文件是否正确。我甚至在Reflector中打开它们,只是为了仔细检查所有引用,这些也是正确的。我还删除了using语句并完全限定了IDatabase的所有用法,即使这样做也没有![/ p>

有没有人提供纠正此问题的提示?

2 个答案:

答案 0 :(得分:2)

我遇到了类似的问题。删除bin文件夹中的所有内容,清理解决方案并重建。

答案 1 :(得分:2)

您可能已经更改了所有引用,但是其中一些引用依次引用了旧程序集?这是开源项目Refix应该能够在不久之后解决的事情之一(为无耻的插件道歉)。