2015-05-10 3 views
1

Я разрабатываю сайт MVC, и он отлично работает локально, но когда я развертываю на мой сайт Azure, я получаю эту ошибку:Развертывание проблемы с Azure: невозможно загрузить файл или сборку «System.Web.Mvc, Version = 5.2.3.0 ... манифест не соответствует проблеме

Не удалось загрузить файл или сборку «System.Web.Mvc, Version = 5.2.3.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35» или одна из его зависимостей. Определение манифеста размещенной сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)

Мне нужно развернуть все эти сборки. Поскольку он размещен в Azure, у меня есть ограниченный контроль над ящиком, но я думал, что у них будет такая сборка там, поэтому я не уверен, почему это вызывает проблему. Есть идеи?

Подробнее:

Ошибка сервера в приложении '/'.

Не удалось загрузить файл или сборку «System.Web.Mvc, Version = 5.2.3.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35» или одна из его зависимостей. Определение манифеста размещенной сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)

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

Сведения об исключении: System.IO.FileLoadException: Не удалось загрузить файл или сборку «System.Web.Mvc, Version = 5.2.3.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35» или одна из его зависимостей. Определение манифеста размещенной сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)

Источник ошибки:

Необработанное исключение при выполнении текущего веб-запроса. Информация о происхождении и местоположении исключения может быть идентифицирована с использованием следа стека исключений ниже.

Сброс нагрузки на сборку: Следующая информация может быть полезна для определения того, почему сборка «System.Web.Mvc, Version = 5.2.3.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35» не может быть загружена.

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

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

[FileLoadException: Не удалось загрузить файл или сборку 'System.Web.Mvc, Version = 5.2.3.0, культура = нейтральной, PublicKeyToken = 31bf3856ad364e35' или один из его зависимостей. Определение манифеста размещенной сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)] marylandgives.mvc.MvcApplication.Application_Start() +0

[HttpException (0x80004005): Не удалось загрузить файл или сборку «System.Web.Mvc, Version = 5.2.3.0, культура = нейтральный, PublicKeyToken = 31bf3856ad364e35 'или одна из его зависимостей. Определение манифеста размещенной сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)] System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode (HttpContext контекст, HttpApplication приложение) +9916673 System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS (IntPtr, контекст контекста приложения HttpContext, MethodInfo [] погрузчики) +118 System.Web.HttpApplication.InitSpecial (HttpApplicationState состояние, MethodInfo [] обработчики, IntPtr контекста приложения, HttpContext контекст) +172 System.Web.HttpApplicationFactory.GetSpecialApplicationInstance (IntPtr контекста приложения, HttpContext контекст) +336 System.Web.Hosting.PipelineRuntime.InitializeApplication (IntPtr контекста приложения) +296

[HttpException (0x80004005): Не удалось загрузить файл или сборку «System.Web.Mvc, Version = 5.2.3.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35» или одна из его зависимостей. Определение манифеста размещенной сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)] System.Web.HttpRuntime.FirstRequestInit (HttpContext контекст) +9930568 System.Web.HttpRuntime.EnsureFirstRequestInit (HttpContext контекст) +101 System.Web.HttpRuntime.ProcessRequestNotificationPrivate (IIS7WorkerRequest сог, HttpContext контекст) +254

Информация о версии: Microsoft .NET Framework Версия: 4.0.30319; ASP.NET Версия: 4.0.30319.36215

ответ

2

Поскольку я ранее размещал другой сайт в том же месте с более старой версией сборки MVC на нем, это вызывало конфликт. Я пробрался в веб-корму, вытер все чистое и переизданное из визуальной студии. Так что это был действительно случай, когда я ленив и не убираю старый сайт.

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

+1

Также стоит отметить, что кто-то из тех, кто попадает в эту ситуацию - вместо того, чтобы входить в webroot, вы можете просто проверить настройки при публикации, чтобы сначала удалить файлы в пункте назначения - это должно достичь того же результата (при условии, что вы публикуете из visual studio!). –

1

В основном это происходит, когда .NET asslembly loader пытается загрузить сборку, отличную от той, что указана в файле проекта. Попробуйте обновить пакет nuget для System.Web.Mvc в и все ссылаются на проекты и убедитесь, что ваш проект указывает на правильную версию сборки.

+0

Спасибо Арин. Я понимаю, что он пытается загрузить неправильную сборку. Я не был уверен в этом, потому что он работает локально, поэтому мои пакеты nuget находятся в правильной версии. Я думаю, проблема была в том, что ранее я использовал другой сайт в том же месте и использовал более старую версию MVC, поэтому, я думаю, я забыл стереть эти активы перед развертыванием нового сайта, и мой новый сайт запутывается с более старая dll mvc. Я продолжу расследование сегодня и опубликую результаты в ближайшее время. –

+1

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

+0

Спасибо Арин. Это не было проблемой времени компиляции, потому что она работала нормально на месте. Моя догадка была верна, что, поскольку я ранее размещал другой сайт в том же месте с более старой версией сборки MVC на нем, это вызывало конфликт. Я пробрался в веб-корму, вытер все чистое и переизданное из визуальной студии. –

Смежные вопросы