2010-06-24 154 views
0

我决定今天修改一些代码,并遇到一个对我来说没有任何意义的错误。我有一个名为IDatabase的接口和一个继承它的类,名为Database。我原本只是把IDatabase放在与Database相同的组件中,但我不喜欢这个,因为它会阻止另一个人在没有整个组件的情况下创建一个新类型的IDatabase。我将IDatabase移动到一个名为LibraryInterfaces的新单独程序集中,并更改了项目中的所有参考。无法从程序集'<程序集名称>'加载类型'<typename>'

该项目编译好,但是当我执行它,我得到的错误:

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

这没有任何意义,我,因为我感动IDatabase的定义LibraryInterfaces!我再次检查正在运行的文件夹中的文件,并且文件是正确的。我甚至在Reflector中打开它们,只是为了仔细检查所有的引用,而且这些引用也是正确的。我也删除了我的using声明,并且完全符合IDatabase的所有用法,即使这样也没有办法!

有没有人有解决此问题的提示?

回答

2

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

+0

我认为那些问题是过去的方式 - 我曾经用VC++做过这件事,但之前并没有用过C#。谢谢,我现在就试试! – Dave 2010-06-24 16:03:41

+0

绝对没有这个伎俩,谢谢!我无法相信这仍然是必须要做的事情。任何人都可以解释为什么这是事实吗? – Dave 2010-06-24 16:35:13

+0

我不知道实际的原因是什么,但某些地方的某些引用不会更新。很高兴解决了你的工作:) – Patricia 2010-06-24 17:14:26

2

您可能已经改变了所有的引用,但是做一些引用又引用了旧的程序集?这是开源项目Refix在太久之前应该能够解决的问题之一(为无耻插件道歉)。

相关问题