Невозможно загрузить один или несколько запрошенных типов.Получите свойство LoaderExceptions для получения дополнительной информации.с EntityDataSource - PullRequest
5 голосов
/ 28 сентября 2010

У меня есть проблема, которая появляется только в том случае, если EntityDataSource присутствует на ASP.NET (* .aspx) страницах.Интересно, что это происходит, когда я обновляю страницу ( F5 ) или снова ее просматриваю, и это сводит меня с ума, кажется, это ошибка в Entity Framework , потому что я пыталсяэто с другим проектом, и я просто получаю ту же ошибку.

Невозможно загрузить один или несколько запрошенных типов.Получите свойство LoaderExceptions для получения дополнительной информации.Описание: во время выполнения текущего веб-запроса произошло необработанное исключение.Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.Сведения об исключении: System.Reflection.ReflectionTypeLoadException: невозможно загрузить один или несколько запрошенных типов.Получите свойство LoaderExceptions для получения дополнительной информации.

Трассировка стека:

[ReflectionTypeLoadException: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.]
   System.Reflection.RuntimeModule.GetTypes(RuntimeModule module) +0
   System.Reflection.RuntimeModule.GetTypes() +4
   System.Reflection.Assembly.GetTypes() +78
   System.Data.Metadata.Edm.ObjectItemConventionAssemblyLoader.LoadTypesFromAssembly() +32
   System.Data.Metadata.Edm.ObjectItemAssemblyLoader.Load() +25
   System.Data.Metadata.Edm.AssemblyCache.LoadAssembly(Assembly assembly, Boolean loadReferencedAssemblies, ObjectItemLoadingSessionData loadingData) +160
   System.Data.Metadata.Edm.AssemblyCache.LoadAssembly(Assembly assembly, Boolean loadReferencedAssemblies, KnownAssembliesSet knownAssemblies, EdmItemCollection edmItemCollection, Action`1 logLoadMessage, Object& loaderCookie, Dictionary`2& typesInLoading, List`1& errors) +166
   System.Data.Metadata.Edm.ObjectItemCollection.LoadAssemblyFromCache(ObjectItemCollection objectItemCollection, Assembly assembly, Boolean loadReferencedAssemblies, EdmItemCollection edmItemCollection, Action`1 logLoadMessage) +316
   System.Data.Metadata.Edm.ObjectItemCollection.ExplicitLoadFromAssembly(Assembly assembly, EdmItemCollection edmItemCollection, Action`1 logLoadMessage) +53
   System.Data.Metadata.Edm.MetadataWorkspace.ExplicitLoadFromAssembly(Assembly assembly, ObjectItemCollection collection, Action`1 logLoadMessage) +93
   System.Data.Metadata.Edm.MetadataWorkspace.LoadFromAssembly(Assembly assembly, Action`1 logLoadMessage) +130
   System.Web.UI.WebControls.EntityDataSourceView.ConstructContext() +585
   System.Web.UI.WebControls.EntityDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +76
   System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +21
   System.Web.UI.WebControls.DataBoundControl.PerformSelect() +143
   System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +74
   System.Web.UI.WebControls.GridView.DataBind() +4
   System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +66
   System.Web.UI.WebControls.CompositeDataBoundControl.CreateChildControls() +75
   System.Web.UI.Control.EnsureChildControls() +102
   System.Web.UI.Control.PreRenderRecursiveInternal() +42
   System.Web.UI.Control.PreRenderRecursiveInternal() +175
   System.Web.UI.Control.PreRenderRecursiveInternal() +175
   System.Web.UI.Control.PreRenderRecursiveInternal() +175
   System.Web.UI.Control.PreRenderRecursiveInternal() +175
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2496

Как устранить эту проблему?

Ответы [ 4 ]

6 голосов
/ 08 октября 2012

Это ошибка в .NET 4.0 и должна быть исправлена ​​в .NET 4.5.Возможное решение состоит в том, чтобы установить «Копировать локальный» в true для ваших ссылок и удалить ненужные ссылки.

Больше информации в Невозможно загрузить один или несколько запрошенных типов.Соединено с EntityDataSource .

3 голосов
/ 01 мая 2013

См. Вопрос Случайно 'Невозможно загрузить один или несколько запрошенных типов' Ошибки (588847):

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

Использование техники других ответов, чтобы убедиться, что все ваши DLL-файлы установлены на «копировать локально», может помочь. В противном случае попробуйте обходной путь: установите для свойства ContextTypeName вашего EntityDataSource полное имя типа вашего контейнера сущностей.

Обходной путь - это то, что решило проблему для меня.

2 голосов
/ 19 июля 2011

У меня была такая же проблема, и я обнаружил, что это происходит потому, что в производственной среде отсутствуют правильные библиотеки DLL. Вы можете установить для атрибута Copy Local ссылок вашего проекта значение true.

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

0 голосов
/ 29 сентября 2010

У меня была такая же проблема сегодня, но только на рабочем сервере, а не в разработке или тестировании (рисунки).Я все еще изучаю, что происходит, но я изменил рабочий сервер .NET Trust Level на Высокий , и проблема ушла ... Это, очевидно, временное исправление, но этолучше чем ничего.Надеюсь, это поможет.

...