Asp.net mvc 2 System.InvalidCastException

Asp.net mvc 2 System.InvalidCastException,asp.net-mvc-2,Asp.net Mvc 2,在一些朋友的帮助下使用MVC2AD,我认为所有的错误都已修复,直到我遇到了这个巨大的错误(就我个人而言,这是我所造成的最大的异常解释) 错误消息 [A] GodsCreationTaxidermy.Data.EFUnitOfWork 不能投靠 [B] GodsCreationTaxidermy.Data.EFUnitOfWork。 A型起源于 “GodsCreationTaxidermy.Core, 版本=1.0.0.0,区域性=中性, 上下文中的PublicKeyToken=null 位置处的

在一些朋友的帮助下使用MVC2AD,我认为所有的错误都已修复,直到我遇到了这个巨大的错误(就我个人而言,这是我所造成的最大的异常解释)

错误消息

[A] GodsCreationTaxidermy.Data.EFUnitOfWork 不能投靠 [B] GodsCreationTaxidermy.Data.EFUnitOfWork。 A型起源于 “GodsCreationTaxidermy.Core, 版本=1.0.0.0,区域性=中性, 上下文中的PublicKeyToken=null 位置处的“默认值” 'C:\Users\Richard L。 McCutchen\AppData\Local\Temp\Temporary ASP.NET Files\root\3d450750\bcfb1c91\assembly\dl3\200754f0\6a7f303e\u 1418cc01\GodsCreationTaxidermy.Core.DLL'。 B型起源于 “GodsCreationTaxidermy.Data, 版本=1.0.0.0,区域性=中性, 上下文中的PublicKeyToken=null 位置处的“默认值” 'C:\Users\Richard L。 McCutchen\AppData\Local\Temp\Temporary ASP.NET Files\root\3d450750\bcfb1c91\assembly\dl3\5d86cf1a\5d1f256f_0118cc01\GodsCreationTaxidermy.Data.DLL'

这句话的意思是(一般来说):

public UoW GetCurrentUnitOfWork(),其中UoW:IUnitOfWork
{

退货(UoW)UnitOfWork.Current;//不知何故,我有一份我的工作单元和存储库的副本,所以这是所有内容的两个副本,MVC不知道该做什么。

你最近重命名过类库吗?看起来你在两个不同的类中有两个版本的EFUnitOfWork:GodsCreationTaxidermy.Core和GodsCreationTaxidermy.Data,这可能是问题所在。

检查引用是否指向项目而不是dll?另外,不要在上下文属性中返回if。很抱歉,我不理解您答复的第一部分,我确实删除了if中的返回,当然没有任何更改。您知道如何处理此错误吗?这开始让我发疯了;)你最近重命名过类库吗?看起来你在两个不同的类中有两个版本的EFUnitOfWork:GodsCreationTaxidermy.Core和GodsCreationTaxidermy.Data,这可能是问题所在。这就是我的Unif工作原理,我在GodsCreationTaxiSermy.Data中有EFUnitOfWorkFactory,在..存储库中有UnitOfWork,IUnitOfWork和IUnitOfWorkFactory广告一直有效(在我的上一个MVC2程序中使用了它(在本项目中从未出错)。
public UoW GetCurrentUnitOfWork<UoW>() where UoW : IUnitOfWork
{
    return (UoW)UnitOfWork.Current; //<< error happens here
}
private ObjectContext Context
{
    get
    {
        if (_context == null)
        {
            return _context = GetCurrentUnitOfWork<GodsCreationTaxidermy.Data.EFUnitOfWork>().Context;
        }
        return _context;
    }
}