Не удалось загрузить файл или сборку 'System.Web.Mvc' - PullRequest
197 голосов
/ 06 ноября 2008

Мое новое веб-приложение ASP.NET MVC работает на моей рабочей станции, но не работает на моем веб-сервере ...


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


Ошибка конфигурации

Описание: Произошла ошибка при обработке файла конфигурации, необходимого для обслуживания этого запроса. Пожалуйста, просмотрите подробности конкретной ошибки ниже и измените файл конфигурации соответствующим образом.

Сообщение об ошибке синтаксического анализатора: Не удалось загрузить файл или сборку 'System.Web.Mvc, версия = 1.0.0.0, Culture = нейтральный, PublicKeyToken = 31bf3856ad364e35' или одна из его зависимостей. Система не может найти указанный файл.

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

Line 44:         <add assembly="System.Web.Abstractions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
Line 45:         <add assembly="System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
Line 46:         <add assembly="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
Line 47:         <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
Line 48:         <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>

Исходный файл: C: \ inetpub \ www.example.org \ web.config Строка: 46

Трассировка загрузки сборки: Следующая информация может быть полезна для определения, почему не удалось загрузить сборку 'System.Web.Mvc, Версия = 1.0.0.0, Культура = нейтральная, PublicKeyToken = 31bf3856ad364e35'.

WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

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


Нужно ли устанавливать AspNetMVCBeta-setup.msi на сервер? Или есть другой установщик для серверов?

enter image description here

Ответы [ 20 ]

213 голосов
/ 06 ноября 2008

Я только что написал сообщение в блоге, посвященное этому. Вы можете установить ASP.NET MVC на свой сервер ИЛИ выполнить шаги здесь .


РЕДАКТИРОВАТЬ: (от jcolebrand) Я прошел по этой ссылке, затем возникла та же проблема, что и Victor ниже , поэтому я предлагаю вам также добавить эти:

* Microsoft.Web.Infrastructure
* System.Web.Razor
* System.Web.WebPages.Deployment
* System.Web.WebPages.Razor
41 голосов
/ 30 марта 2011

Я столкнулся с той же проблемой, что и sgriffinusa. В дополнение к ссылкам Фил предлагает: http://www.haacked.com/archive/2008/11/03/bin-deploy-aspnetmvc.aspx. Я добавил это:

* Microsoft.Web.Infrastructure
* System.Web.Razor
* System.Web.WebPages.Deployment
* System.Web.WebPages.Razor

Godaddy Deployment работал отлично. Выключите пользовательские ошибки и добавьте ссылки для исправления ошибок. Это должно привести вас в правильном направлении.

26 голосов
/ 06 ноября 2008

Установка MVC непосредственно на ваш веб-сервер является одним из вариантов, так как тогда сборки будут установлены в GAC. Вы также можете развернуть сборку bin, что может помочь очистить ваш сервер от сборок перед выпуском, пока не будет доступен финальный выпуск.

Несколько дней назад Фил Хаак опубликовал хорошую статью о том, как развернуть MVC вместе с вашим приложением, поэтому нет необходимости устанавливать напрямую:

http://www.haacked.com/archive/2008/11/03/bin-deploy-aspnetmvc.aspx

25 голосов
/ 26 января 2011

Я столкнулся с той же проблемой, пытаясь развернуть мое веб-приложение MVC3 Razor на общем хостинге GoDaddy. Есть несколько дополнительных .dll, на которые нужно ссылаться. Подробности здесь: http://paulmason.biz/?p=108

По сути, вам необходимо добавить ссылки на следующее в дополнение к тем, которые перечислены в сообщении @ Haacked, и настроить их на локальное развертывание, как описано.

  • Microsoft.Web.Infrastructure
  • System.Web.Razor
  • System.Web.WebPages.Deployment
  • System.Web.WebPages.Razor
13 голосов
/ 09 ноября 2011

В VS2010 щелкните правой кнопкой мыши проект в обозревателе решений и выберите «Добавить развертываемые зависимости». Затем установите флажки, связанные с MVC, в следующем диалоговом окне.

Это создает в проекте папку «_bin_deployableAssemblies», которая содержит все файлы .dll, упомянутые в других ответах. Я считаю, что они копируются в папку bin при создании пакета развертывания.

9 голосов
/ 15 августа 2012

Простое исправление. В VS2010 щелкните правой кнопкой мыши свой проект MVC, выберите «Добавить развертываемые зависимости ...», выберите нужные параметры и нажмите кнопку ОК

.
6 голосов
/ 02 июня 2016

Быстрое и простое решение: Я столкнулся с этой проблемой в Microsoft.AspNet.Mvc - Версия 5.2.3 и, пройдя все эти потоки, нашел простейшее решение.

Просто следуйте инструкциям:

  1. Откройте диспетчер пакетов NuGet в Visual studio для вашего проекта
  2. Поиск Microsoft.AspNet.Mvc
  3. Если найдено, измените действие на Удалить и удалить его
  4. После этого установите его снова и попробуйте сейчас

Это автоматически исправит все проблемы со ссылками. Смотрите изображение ниже:

enter image description here

6 голосов
/ 27 января 2015

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

оказывается, что вам нужно сделать " Specific Version " = False.

Specific version should be false.

6 голосов
/ 17 ноября 2012

Мы хотим добавить его, потому что создаем библиотеку классов, которая его использует.

Для меня это здесь ...

C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 4\Assemblies

3 голосов
/ 27 июня 2016

Я выполнил «Update-Package - переустановил Microsoft.AspNet.Mvc», чтобы исправить это в Visual Studio 2015.

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