程序集Z中类型Y的方法X没有实现

时间:2012-07-10 03:44:08

标签: .net asp.net-mvc-3 typeloadexception

我很困惑!

我有一个解决方案,在发布和部署时会给我以下错误:

Exception information: 
Exception type: HttpException 
Exception message: Method 'GetDemosSubsidiaryById' in type 'DG.Crm.DataAccess.Crm2011WS.Repositories.ReferenceEntitiesRepository' from assembly 'DG.Crm.DataAccess.Crm2011WS, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' does not have an implementation.
<stack trace>

显然它构建正常并且该方法已实现并且肯定存在于库中。我用反射器检查已部署的DLL,我也看不到任何异常 - 类存在,类型存在,方法实现。它抱怨的特定方法甚至都没有被调用。

我删除了所有引用并在解决方案中重新读取它们。

我使用Visual Studio中的“实现接口”快捷方式重新创建了DG.Crm.DataAccess.Crm2011WS.Repositories.ReferenceEntitiesRepository

该解决方案从Visual Studio中加载并正常工作。

我在这里或在哪里可以找到更多信息?

编辑以添加解决方案结构:

enter image description here

2011WS库实现了Common库中的接口。然后,两者都由WebApps MVC Web应用程序引用。

2 个答案:

答案 0 :(得分:3)

只是一个FYI ......我有同样的错误。在我的情况下,结果是程序集B引用的程序集B不在GAC中。错误表明装配A有问题,所以有点误导。

答案 1 :(得分:2)

原来GAC中有一个旧版本的库。我遇到的问题是冲突的库是DTO,而不是错误中引用的那些。

所以在我的实例中,要更加小心GAC中的内容!