Entity Framework LoaderExceptions Невозможно загрузить один или несколько запрошенных типов. - PullRequest
3 голосов
/ 21 сентября 2009

У меня есть веб-сервис, который использует структуру сущностей. При выпуске в тестовую среду я получаю следующую ошибку:

"Невозможно загрузить один или несколько запрошенных типов." - трассировка стека ниже ...

В тестовой коробке установлен .NET 3.5 SP 1, и я прочитал предыдущий пост здесь:

Сообщение об ошибке 'Невозможно загрузить один или несколько запрошенных типов. Получите свойство LoaderExceptions для получения дополнительной информации. '

Однако ответ не решает его в моем случае. Я скопировал и вставил рабочую копию со своего компьютера разработчика в тестовую коробку, чтобы убедиться, что нет проблем с отладочными DLL-библиотеками (как следует из ответа), но не повезло.

Это известная проблема? Я провел все утро, пытаясь отладить это !! Если кто-нибудь знает решение, пожалуйста, дайте мне знать!

Retrieve the LoaderExceptions property for more information.   at System.Reflection.Module._GetTypesInternal(StackCrawlMark& stackMark)
   at System.Reflection.Assembly.GetTypes()
   at System.Data.Metadata.Edm.ObjectItemCollection.AssemblyCacheEntry.LoadTypesFromAssembly(LoadingContext context)
   at System.Data.Metadata.Edm.ObjectItemCollection.AssemblyCacheEntry.InternalLoadAssemblyFromCache(LoadingContext context)
   at System.Data.Metadata.Edm.ObjectItemCollection.AssemblyCacheEntry.LoadAssemblyFromCache(Assembly assembly, Boolean loadReferencedAssemblies, Dictionary`2 knownAssemblies, Dictionary`2& typesInLoading, List`1& errors)
   at System.Data.Metadata.Edm.ObjectItemCollection.LoadAssemblyFromCache(ObjectItemCollection objectItemCollection, Assembly assembly, Boolean loadReferencedAssemblies)
   at System.Data.Metadata.Edm.ObjectItemCollection.LoadAssemblyForType(Type type)
   at System.Data.Metadata.Edm.MetadataWorkspace.LoadAssemblyForType(Type type, Assembly callingAssembly)
   at System.Data.Objects.ObjectContext.CreateQuery[T](String queryString, ObjectParameter[] parameters)
   at Company.Domain.ICommuicationsEntities.CreateQuery[T](String queryString, ObjectParameter[] parameters)
   at Comany.EntityFrameworkRepository`1.GetQuery()
   at Comany.Repositories.EntityFrameworkRepository`1.GetFiltered(Expression`1 filter, IncludeBuilder`1 includeBuilder)
   at Comany.Repositories.EntityFrameworkRepository`1.GetFiltered(Expression`1 filter)

Ответы [ 3 ]

3 голосов
/ 21 сентября 2009

Как сказано в верхней строке стека:

Получите свойство LoaderExceptions для получения дополнительной информации.

Вы можете найти это, изучив исключение в отладчике.

1 голос
/ 06 января 2011

Первая строка трассировки стека «Получить свойство LoaderExceptions для получения дополнительной информации», безусловно, является ключом к этому. Вам нужно будет перехватить ReflectionTypeLoadException или привести ваше общее исключение.

catch (System.Reflection.ReflectionTypeLoadException ex) {
    ex.LoaderExceptions;
} catch (Exception ex) {
    if (ex is System.Reflection.ReflectionTypeLoadException)
        ((System.Reflection.ReflectionTypeLoadException)ex).LoaderExceptions;
}

Затем вы можете проверить свойство LoaderExceptions и выяснить, какие ссылки DLL могут отсутствовать.

0 голосов
/ 28 августа 2012

System.IO.FileNotFoundException: не удалось загрузить файл или сборку 'System.Web.Mvc, версия = 3.0.0.0, культура = нейтральная, PublicKeyToken = 31bf3856ad364e35 'или одна из его зависимостей. система не может найти указанный файл. Имя файла: 'System.Web.Mvc, Версия = 3.0.0.0, Культура = нейтральная, PublicKeyToken = 31bf3856ad364e35 '

WRN: регистрация привязки сборки выключена. Чтобы включить привязку сборки регистрация ошибок, установите значение реестра [HKLM \ Software \ Microsoft \ Fusion! EnableLog] (DWORD) в 1.

Примечание. Некоторое снижение производительности связано с регистрацией ошибок привязки сборки. Чтобы отключить эту функцию, удалите значение реестра [HKLM\Software\Microsoft\Fusion!EnableLog].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...