Отказ от ответственности : Я видел точные вопросы, но не видел ответов, которые могли бы решить мою проблему.
Сервер : Windows Server 2008 с установленным ASP.NET 4.0 Framework (профиль клиента и расширенный).
Сценарий : Это не происходит на моем сервере разработки, это происходит только на моем рабочем сервере, и поэтому мои возможности отладки очень ограничены.
Проблема: Когда я нажимаю на страницу, которая загружает данные, используя EntityDataSource, мой элма дает мне это.
System.Reflection.ReflectionTypeLoadException
Невозможно загрузить один или несколько
запрашиваемые типы. Получить
Свойство LoaderExceptions для более
информация.
Не очень полезен Stack Trace. Поэтому я использовал событие Application_Error
внутри Global.asax
, чтобы получить более подробную информацию об ошибке, подобной этой.
void Application_Error(object sender, EventArgs e)
{
// Code that runs when an unhandled error occurs
StringBuilder sb = new StringBuilder();
Exception objErr = default(Exception);
objErr = Server.GetLastError().GetBaseException();
Server.ClearError();
if (objErr is ReflectionTypeLoadException) {
ReflectionTypeLoadException reflerror = default(ReflectionTypeLoadException);
reflerror = (ReflectionTypeLoadException)objErr;
foreach (var ex in reflerror.LoaderExceptions) {
sb.AppendLine(ex.Message);
}
}
sb.AppendLine("<b>Source:</b>" + Request.RawUrl);
sb.AppendLine("<br><b>Browser:</b>" + Request.UserAgent);
sb.AppendLine("<br><b>IP:</b>" + Request.UserHostAddress.ToString());
sb.AppendLine("<br><b>UserID:</b>" + User.Identity.Name);
sb.AppendLine("<hr><br><b>Error in: </b>" + Request.Url.ToString());
sb.AppendLine("<br><b>Error Message: </b>" + objErr.Message.ToString());
sb.AppendLine("<br><b>Stack Trace: </b><br>" + objErr.StackTrace.ToString());
Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception(sb.ToString()));
}
Теперь я получаю сообщение об ошибке как
System.Exception
Не удалось загрузить файл
или сборка 'System.Web.Mvc,
Версия = 3.0.0.0, Культура = нейтральная,
PublicKeyToken = 31bf3856ad364e35 'или
одна из его зависимостей. Система
не могу найти указанный файл.
Источник: / консультант / Поиск
Браузер: Mozilla / 5.0
(Windows NT 6.1; версия 5.0)
Gecko / 20100101 Firefox / 5.0
IP: мой ip
Идентификатор_пользователя: user1020
Ошибка в:
http://mysite.com/search
Сообщение об ошибке: Невозможно
загрузить один или несколько запрошенных
типы. Получить исключения LoaderException
собственность для получения дополнительной информации.
Трассировка стека: в
System.Reflection.RuntimeModule.GetTypes (RuntimeModule
модуль) в
System.Reflection.RuntimeModule.GetTypes ()
в
System.Reflection.Assembly.GetTypes ()
в
System.Data.Metadata.Edm.ObjectItemConventionAssemblyLoader.LoadTypesFromAssembly ()
в
System.Data.Metadata.Edm.ObjectItemAssemblyLoader.Load ()
в
System.Data.Metadata.Edm.AssemblyCache.LoadAssembly (Собрание
сборка, логическое значение
loadReferencedAssemblies,
ObjectItemLoadingSessionData
loadingData) в
System.Data.Metadata.Edm.AssemblyCache.LoadAssembly (Собрание
сборка, логическое значение
loadReferencedAssemblies,
KnownAssembliesУстановите известные Assemblies,
EdmItemCollection edmItemCollection,
Действие
1 logLoadMessage, Object&
loaderCookie, Dictionary
2 &
typesInLoading, List`1 & error) в .... (трассировка продолжается)
Пожалуйста, посмотрите на первую строку.
Что System.Web.Mvc, Version=3.0.0.0
делает в сценарии ASP.NET?
Я попросил моего сервера, ребята, установить MVC3. Но это действительно не имеет никакого смысла.
Любая помощь / указатели будут высоко оценены. Я давно не был в замешательстве с asp.net: (
Почему происходит эта ошибка и что будет хорошим решением / обходным путем?