#asp.net-mvc-2
#asp.net-mvc-2
Вопрос:
Работая с MVC 2 ad с помощью нескольких друзей, я думал, что все ошибки исправлены, пока не столкнулся с этой чудовищной ошибкой (лично самое большое объяснение исключения, которое я когда-либо вызывал.
Сообщение об ошибке
[A]GodsCreationTaxidermy.Data.EFUnitOfWork не может быть преобразован в [B]GodsCreationTaxidermy.Data.EFUnitOfWork. Тип A происходит из ‘GodsCreationTaxidermy.Ядро, версия = 1.0.0.0, культура = нейтральная, PublicKeyToken =null’ в контексте ‘По умолчанию’ в местоположении ‘C:UsersRichard L. McCutchenAppDataLocalTemp Temporary ASP.NET Filesroot3d450750bcfb1c91assemblydl3200754f06a7f303e_1418cc01GodsCreationTaxidermy.Core.DLL’. Тип B происходит от ‘GodsCreationTaxidermy.Данные, версия =1.0.0.0, культура = нейтральная, PublicKeyToken=null’ в контексте ‘По умолчанию’ в местоположении ‘C:UsersRichard L. McCutchenAppDataLocalTemp Temporary ASP.NET Filesroot3d450750bcfb1c91assemblydl35d86cf1a5d1f256f_0118cc01GodsCreationTaxidermy.Data.DLL’.
И оно появляется в этой строке (в GenericRepository):
public UoW GetCurrentUnitOfWork<UoW>() where UoW : IUnitOfWork
{
return (UoW)UnitOfWork.Current; //<< error happens here
}
Как и было предложено, я удалил все ASP.NET файлы из временного каталога, и это изменило примечание.
Я почти уверен, что этот метод является единственным, который вызывает это, что, в свою очередь, вызывает ошибку
private ObjectContext Context
{
get
{
if (_context == null)
{
return _context = GetCurrentUnitOfWork<GodsCreationTaxidermy.Data.EFUnitOfWork>().Context;
}
return _context;
}
}
Итак, кто-нибудь сталкивался с чем-то подобным, с чем они могут помочь?
Комментарии:
1. Проверьте, что ссылка относится к проекту, а не к dll? Кроме того, не возвращайте значение внутри if в свойстве Context.
2. Извините, но я’, не понимая первой части вашего ответа, я удалил возврат внутри if и, конечно, ничего не изменилось
3. Кто-нибудь знает, как избавиться от этой ошибки? Это начинает сводить меня с ума 😉
4. Вы недавно переименовали библиотеку классов? Похоже, у вас есть две версии EFUnitOfWork в двух разных классах; GodsCreationTaxidermy. Таксидермия ядра и Godscreation. Данные, это может быть проблемой.
5. Именно так я заставляю свой Unif работать, я получил EFUnitOfWork, EFUnitOfWorkFactory в GodsCreationTadisermy. Данные и в ..Хранилище у меня есть UnitOfWork, IUnitOfWork и IUnitOfWorkFactory ad, которые всегда работали (использовал его в моей последней программе MVC 2 (и никогда не приводил к ошибкам здесь, в этом проекте).
Ответ №1:
Вы недавно переименовали библиотеку классов? Похоже, у вас есть две версии EFUnitOfWork в двух разных классах; GodsCreationTaxidermy.Таксидермия ядра и Godscreation.Данные, это может быть проблемой.
Ответ №2:
Каким-то образом у меня была копия моей рабочей единицы и репозитория, так что это было 2 от всего, и MVC не знал, что делать.