Не удалось загрузить файл или сборку System.Web.Mvc

17

Я использую umbraco 4.11.3 в своем проекте. Мой проект хорошо работает с Windows 7 и запускает его с visual studio 2012. Но он не работал в Win 8, когда он запускался с visual studio 2012!

Ошибка:

Не удалось загрузить файл или сборку "System.Web.Mvc, Version = 2.0.0.0, Культура = нейтральная, PublicKeyToken = 31bf3856ad364e35 'или одна из ее зависимостей. Установленное определение манифеста сборки не сопоставить ссылку на сборку. (Исключение из HRESULT: 0x80131040)

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

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

Ошибка источника:

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

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

=== Информация о состоянии предварительной привязки === LOG: Пользователь = Jahan-PC\jahan LOG: DisplayName = System.Web.Mvc, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35 (Полностью указанный) LOG: Appbase = Файл:///G:/20130204/SourceCode/Defraz.Movafaqiyat.WebApp/Defraz.Movafaqiyat.WebApp/ LOG: Initial PrivatePath = G:\20130204\SourceCode\Defraz.Movafaqiyat.WebApp\Defraz.Movafaqiyat.WebApp\Bin Вызов сборки: ClientDependency.Core.Mvc, Version = 1.5.1.0, Культура = нейтральная, PublicKeyToken = null. === LOG: Это связывание начинается с контекста нагрузки по умолчанию. LOG: Использование файла конфигурации приложения: G:\20130204\SourceCode\Defraz.Movafaqiyat.WebApp\Defraz.Movafaqiyat.WebApp\web.config LOG: Использование файла конфигурации хоста: C:\Users\jahan\Documents\IISExpress\config\aspnet.config LOG: Использование файл конфигурации машины из C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config. LOG: Послеполитическая ссылка: System.Web.Mvc, Version = 2.0.0.0, Культура = нейтральная, PublicKeyToken = 31bf3856ad364e35 LOG: Попытка загрузка нового URL-адреса file:///C:/Users/jahan/AppData/Local/Temp/Temporary ASP.NET Файлы/корень/bc5b37d0/42db0b24/System.Web.Mvc.DLL. LOG: Попытка загрузка нового URL-адреса file:///C:/Users/jahan/AppData/Local/Temp/Temporary ASP.NET Файлы/корень/bc5b37d0/42db0b24/System.Web.Mvc/System.Web.Mvc.DLL. ЖУРНАЛ: Попытка загрузки нового URL-адреса Файл:///G:/20130204/SourceCode/Defraz.Movafaqiyat.WebApp/Defraz.Movafaqiyat.WebApp/bin/System.Web.Mvc.DLL. WRN: сравнение названия сборки привело к несоответствию: майор Версия ERR: не удалось завершить настройку сборки (hr = 0x80131040). Исследование прекращено.

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

[FileLoadException: не удалось загрузить файл или сборку. System.Web.Mvc, Версия = 2.0.0.0, Культура = нейтральная, PublicKeyToken = 31bf3856ad364e35 'или одной из его зависимостей. Установленное определение манифеста сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)]
ClientDependency.Core.Mvc.MvcFilter.ValidateCurrentHandler() +0
ClientDependency.Core.Module.ClientDependencyModule.b__0 (IFilter f) +31 System.Linq.Enumerable.Any(IEnumerable 1 source, Func 2 предикат) +146
ClientDependency.Core.Module.ClientDependencyModule.ValidateCurrentHandler(IEnumerable`1 фильтры) +127
ClientDependency.Core.Module.ClientDependencyModule.HandleRequest(Объект отправитель, EventArgs e) +179
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +136 System.Web.HttpApplication.ExecuteStep(шаг IExecutionStep, Boolean & завершен синхронно) +69

Примечание: опубликованный проект IIS хорошо работает в win7 и win8.    Мой проект не основан на ASP.NET MVC. Пожалуйста, помогите мне.

  • 1
    установлена ли поддержка .NET 2.0 на вашем веб-сервере IIS? Если да, то правильно ли настроено приложение, чтобы использовать правильный пул приложений? с этой поддержкой .Net 3.5 должна быть добавлена, а затем вам нужно ASP.NET MVC Framework, я бы порекомендовал установить 1,2,3 и 4 в этом порядке, чтобы сохранить файлы на месте
  • 0
    @MartinBarker Загрузка всех версий MVC не является способом решения этой проблемы, поскольку она просто маскирует потенциальную проблему и потенциально распространяет эту же проблему в будущих проектах этого пользователя.
Показать ещё 3 комментария
Теги:
asp.net-mvc
umbraco

4 ответа

12
Лучший ответ

Мы используем облако Azure для запуска развертывания, и я получил ту же ошибку. Поскольку вы действительно не можете устанавливать пакеты на экземпляры сервера, способ решить эту проблему - перейти к ссылкам для вашего проекта, найти ссылку на библиотеку, в которой он жалуется, отсутствует, перейти в свойства, а затем установить Копировать локальное значение в True. Переустановите и все настроено.

6

Я предполагаю, что это новая машина, поскольку у вас есть новая ОС и другая версия Visual Studio. Я думаю, вам нужно установить MVC Framework версии 2, как и то, что ожидает ваша установка Umbraco. Вы можете либо установить Framework, либо получить DLL в свой GAC, либо скопировать DLL из вашей хорошей системы в папку bin вашего веб-приложения.

Заметьте, вы говорите, что ваш проект "не использует" MVC, но я думаю, вы найдете Umbraco. Ошибка, во всяком случае, говорит вам, что система ожидает ее поиска.

  • 0
    :Большое спасибо. Я установил ASP.NET MVC2 с microsoft.com/en-us/download/details.aspx?id=22079 на win8, и моя проблема была решена.
4

Правильное исправление для этой проблемы:

  • Щелкните правой кнопкой мыши по References в Solution Explorer и выберите Manage NuGet Packages
  • С левой стороны выберите Updates
  • В средней части выберите Microsoft ASP.NET MVC
  • В вашем выборе должна появиться кнопка Update, щелкните по ней

Чтобы он... принимал любые T & Cs, которые могли всплывать и публиковать или запускать проект локально. Если у вас по-прежнему возникают проблемы с локальным запуском проекта, попробуйте закрыть Visual Studio, удалив файл .SUO для проекта и попробуйте снова открыть решение... попробуйте снова запустить.

  • 0
    Спасибо человек, я вроде как ненавижу ASP.NET за эти вещи
  • 1
    Какой замечательный, простой и легкий шаг, который нужно выполнить, наверняка поймает много таких проблем, прежде чем мы начнем копаться и создавать новые проблемы. Спасибо!!
3

Umbraco 4.11.3 не использует MVC2, он использует MVC3, поэтому я бы предположил, что у вас есть ссылка в вашем web.config на библиотеку MVC2, возможно, в разделе compilation > assemblies. Он должен выглядеть примерно так:

<compilation defaultLanguage="c#" batch="false" targetFramework="4.0" debug="true">
  <assemblies>
    <!-- ASP.NET 4.0 Assemblies -->
    <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
    <add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
    <add assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
    <add assembly="System.Data.DataSetExtensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
    <add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    <add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
  </assemblies>
  <!-- Added in Umbraco 4.6.2 -->
  <buildProviders>
    <add extension=".cshtml" type="umbraco.MacroEngines.RazorBuildProvider, umbraco.MacroEngines" />
    <add extension=".vbhtml" type="umbraco.MacroEngines.RazorBuildProvider, umbraco.MacroEngines" />
    <add extension=".razor" type="umbraco.MacroEngines.RazorBuildProvider, umbraco.MacroEngines" />
  </buildProviders>
  <!-- End of added in Umbraco 4.6.2 -->
</compilation>
  • 0
    В моем файле web.config в разделе сборки> сборки: <add assembly = "System.Web.Mvc, версия = 3.0.0.0, Culture = нейтральный, PublicKeyToken = 31BF3856AD364E35" />
  • 2
    Хорошо, но опубликованная ошибка указывает на ссылку на версию 2 в файле конфигурации. Вы проверили остальную часть web.config? Извиняюсь за вопрос очевидное.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню