Не удалось загрузить файл или сборку system web helpers

Обновлено: 05.07.2024

Настройки Ошибка

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

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

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

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

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

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

Specific version should be false.

была та же проблема и добавил Все сборки, которые они сказали, но все равно получил ту же ошибку.

оказывается, вам нужно сделать "Конкретной Версии " = False.

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

Если вы не используете хостинг-провайдера, и у вас есть доступ к серверу для установки . Затем установите инструменты обновления MVC 3, сделайте это. это сэкономит вам часы проблем на машине windows 2003 server / IIS6. , Я прокомментировал эту страницу здесь Nuget.Ядро.несоответствие номера версии dll

также проверьте версию сборки в интернете.конфигурация внутри вашего папку и убедитесь, что он соответствует. Я иногда забываю, что есть 2-й веб.конфигурация в этом месте.

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

для меня web.config файл пытался добавить эту сборку:

думал, что ссылка в проекте указывает на версию 3.0.0.0 (нажмите на ссылку и прокрутите до нижней части свойства). Поэтому я просто изменил справочную версию в .

Я не знаю, было ли это просто какой-то ошибкой. Этот проблема с добавлением всех других ссылок заключалась в том, что ссылки появились в файле конфигурации, но на самом деле они вообще не упоминались в проекте (внутри обозревателя решений), и необходимые файлы не были скопированы с остальными файлами проекта, вероятно, из-за отсутствия "copy local = true"

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

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

после попытки все и до сих пор не удалось это было мое решение: я вспомнил, что у меня было и ошибка последнего обновления версии MVC в моей Visual studio, поэтому я запускаю проект с другой Visual studio (другой компьютер) и загружаю dll-s, и он работал. может быть, это кому-то поможет.

как уже упоминалось, добавьте эти ссылки в visual studios с помощью Copy Local значение true . ( Мне также пришлось добавить System.Web.Webpages )

важным соображением является веб.конфигурационный файл, некоторые пакеты могут исказить ваши привязки перенаправляет вызывая хаос (изгоев пакет был в доме пакет, который я не удалял в интернете.конфигурация из пакета или убедившись, что в интернете.config в пакете не имеет каких-либо перенаправлений привязки. Например, удаляя дубликат и неправильный узел разрешает это

путем удаления строк с 8 по 24 исправляет сборку.

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

В моем файле web.config и в моем приложении я ссылаюсь на System.Web.WebPages.Razor v1.0.0.0:

Теперь, как мне узнать, что ссылается на System.Web.WebPages.Razor v2.0.0.0?

как узнать, на что ссылается System.Web.WebPages.Razor v2.0.0.0?

Просто прочтите трассировку стека исключений:

Похоже, вы используете Microsoft.Web.Helpers , который, в свою очередь, зависит от System.Web.WebPages.Razor, Version=2.0.0.0 .

Я понизил через NuGet до MVC 4, а затем снова обновился до 5.2.7, и эта проблема устранилась.

Перезапуск / переустановка пакета Microsoft.AspNet.Mvc мне не помогает.

Сначала я попробовал ответ Мохаммеда Эмада - без радости. Потом я попробовал

Интересно, что после того, как я прочитал немного дальше страницу по вопросу Roslyn, я нашел другое предложение с еще большим количеством голосов ( Update-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform -r ). Думая, что лучше реализовать это, чем вручную редактировать .csproj, я отказался от своих изменений .csproj только для того, чтобы обнаружить, что мое решение все еще работает.

Итак, после всего этого мне интересно, помог бы ли ответ Мохаммеда (на этой странице), если бы я сначала просто выполнил git clean.

При схожих ошибках привязки сборки могут помочь следующие шаги:

  1. Щелкните решение правой кнопкой мыши и выберите Управление пакетами Nuget для решения .
  2. перейдите на вкладку «Консолидировать» (последняя вкладка) и проверьте, есть ли какие-либо различия между пакетами, установленными в разных проектах внутри вашего решения. особенно обратите внимание на те проекты, на которые вы ссылаетесь, у которых могут быть более ранние версии, потому что они обычно менее заметны)
  3. объедините пакеты, связанные с ошибкой сборки, и обратите внимание, что многие пакеты зависят от некоторых других пакетов, таких как * .code & * .api & .
  4. после разрешения всех предполагаемых консолидаций перестройте и перезапустите приложение и посмотрите, разрешены ли привязки сборок.

Если предыдущий рабочий проект внезапно вылетел из-за указанной ошибки, вы можете попробовать следующее решение.

  • Удалите папку bin соответствующего веб-проекта / сервисного проекта.
  • Построить

Это сработало для меня.

В некоторых случаях просто установите веб-страницу 2, чтобы решить эту проблему (разрешено в моем случае - развернуть на локальной веб-странице с помощью веб-API)

Я получал ту же ошибку, когда обновляю MVC4 до версии MVC5. Сначала я обновил вызывающую сборку, которая зависела от

После этого обновили файлы web.config в папке Views, обновили следующие пакеты из

А также обновлен

Эти шаги работают для меня

Коротко:
Если у вас есть эта проблема с чистым проектом веб-API (и, следовательно, вам не нужна бритва), попробуйте все равно добавить, перестроить, а затем удалить.

Длинная история:
У меня была эта проблема с совершенно новым проектом чистого веб-API, за исключением того, что трассировка стека указала «System.Web.Mvc» как вызывающую сборку (см. Ответ Дарина). Хотя в моем проекте нет ссылок на MVC, Razor или что-то подобное .
Я решил добавить пакеты MVC (AspNet.Mvc, AspNet.WebPages и AspNet.Razor), чтобы проверить, не возникла ли в дальнейшем проблема.
После этого приложение WebApi запустилось отлично. Затем я удалил те же самые пакеты, и все было по-прежнему в порядке.

Надеюсь, это кому-то поможет.

Я также получил эту ошибку и попробовал все, что мог найти в Интернете, и она не исчезла. В конце концов, я просто понизил MVC с 5.2.3 до 4.0.40804. Мне не нравится это решение, потому что в конечном итоге мне нужно будет использовать MVC 5, но пока оно работает. Надеюсь, это поможет другим.

Я получал ту же ошибку после добавления ненужной ссылки на System.Web.Mvc . Я удалил все ссылки, которые смог найти, но ничего не помогло. Я наконец удалил папку проекта bin , и ошибка исчезла после восстановления.

Другими словами, мне не нужно было использовать Nuget или Visual Studio.

Это сработало для меня, измените свой web.config.

После долгой боли, поиска в Google и выдергивания волос я закончил тем, что удалил MVC 4 с помощью nuget, удалив все ссылки на MVC, razor и инфраструктуру из веб-конфигурации, удалив библиотеки DLL из папки bin, а затем с помощью nuget переустановил все. Это заняло меньше времени, чем попытка выяснить, почему библиотеки DLL не совпадают.

Эта проблема началась, когда я сделал «Удалить неиспользуемые ссылки». Веб-сайт по-прежнему работал на моем локальном компьютере, но не работал на сервере после публикации.

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

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

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

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

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

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

Примечание. Если у вас установлен MVC4 (в настоящее время бета-версия), вы захотите получить v1.0 этих DLL-библиотек, вы также захотите получить System.Web.Helpers (по крайней мере, мне это нужно). Я должен был скопировать папку bin, а затем снова опубликовать, то есть, если вы не используете Deploy Package.

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

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

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

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

  • Microsoft.Web.Infrastructure
  • System.Web.Razor
  • System.Web.WebPages.Deployment
  • System.Web.WebPages.Razor
Спасибо, человек, после добавления ссылки вручную и последующего их локального развертывания, это решило проблему для MVC3! То же самое и здесь. Хорошее руководство по добавлению этих дополнительных DLL. Спасибо! То же самое и здесь. Не на GoDaddy, а на сервере моей компании, так что это должен быть простой случай.

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

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

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

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

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

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

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

введите описание изображения здесь

Имел ту же проблему и добавил все сборки, которые они сказали, но все равно получил ту же ошибку.

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

Конкретная версия должна быть ложной.

В качестве альтернативы вам следует переключить «Копировать локальный» на «Истина», если он не включен,

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

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

Если вы НЕ используете хостинг-провайдера и у вас есть доступ к серверу для установки . Затем установите инструменты обновления MVC 3, сделайте это . это сэкономит вам часы проблем на компьютере с Windows 2003 server / IIS6. Я прокомментировал эту страницу здесь Несоответствие номера версии Nuget.Core.dll

Важным соображением является файл web.config. Некоторые пакеты могут корректировать ваши перенаправления привязки, вызывая хаос (несанкционированный пакет находился в домашнем пакете, и я не удалил файл web.config из пакета или убедился, что файл web.config включен в пакет не имеет никаких перенаправлений привязки. Например, удаление дубликата и неправильный узел решает эту проблему

убрав строки с 8 по 24 исправляет сборку.

Также проверьте версию сборки в файле web.config в папке Views и убедитесь, что она совпадает. Я иногда забываю, что в этом месте находится второй web.config.

Этот пост может быть дубликатом Фила, но он может помочь:

У меня была такая же проблема с кучей файлов сборки после перемещения проекта в другое решение.

Для меня web.config файл пытался добавить эту сборку:

Думал, что ссылка в проекте указывала на версию 3.0.0.0 (нажмите на ссылку и прокрутите вниз до свойств). Поэтому я просто изменил эталонную версию в web.config файле.

Я не знаю, было ли это какой-то ошибкой. Проблема с добавлением всех других ссылок заключалась в том, что ссылки появились в файле конфигурации, но на самом деле они вообще не были указаны в проекте (в обозревателе решений), а необходимые файлы не были скопированы с остальными файлами проекта, вероятно, из-за того, что не "copy local = true"

Теперь я не смог найти эти сборки в добавляемых сборках (щелкнув ссылку правой кнопкой мыши и попытавшись добавить их из сборок или расширений). Вместо этого я создал новое решение MVC, которое добавило все необходимые мне сборки и ссылки, и нашел их по ссылкам на новые проекты в обозревателе решений и нашел их путь в окне свойств для ссылки.

Затем я просто скопировал нужные библиотеки в другой проект и сослался на них.

После того, как я все испробовал и все-таки потерпел неудачу, это было мое решение: я вспомнил, что у меня произошла ошибка при последнем обновлении версии MVC в моей Visual Studio, поэтому я запустил проект из другой Visual Studio (другой компьютер), а затем загрузил dll-ы, и это сработало. может это кому то поможет .

"HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft.NETFramework \ v2.0.50727 \ AssemblyFoldersEx"

Например, вы можете создать подраздел и установить ключ по умолчанию «c: \ myreferenceedir».

Я создал свой первый проект MVC 4 и отлично работает на локальном сервере. Но когда я публикую его в локальной папке и загружаю содержимое папки на сервер хостинга. Я пытаюсь запустить его, и я получаю эту ошибку:

P.S Тот же проект в Web Forms работает на сервере хостинга.

То, что сработало для меня, было следующим:

Я установил папку bin (рисунок ниже).

переместил всю dll в другую папку для обеспечения безопасности.

а затем перестроить проект.

после решения проблемы удалены старые DLL файлы.

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

Добавьте следующие файлы dll в папку bin:

Если они вам не понадобятся, удалите dependentAssemblies из конфигурации с именем DotNetOpenAuth.Core и т.д.

  • Отредактируйте файл *.pubxml в папке PublishProfiles
  • установить DeleteExistingFiles true
  • обновить все пакеты самородок, пересоздать, повторно опубликовать и вуаля, решить проблему!

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

Глядя на зависимости nuget:

Я что-то пропустил?

UPDATE:

В разделе web.config выполнения я нашел

который я изменил на

Теперь работает как прелесть.

Обратите внимание на перенаправление от 1-4 до 2.0

Вы также можете попробовать создать новое приложение MVC4 и посмотреть, появится ли файл для него.

В моем случае я исправил его гораздо проще, просто дайте HintPath ссылку на пакет nuget:

В файле config я удалил зависимую сборку:

Теперь он отлично работает.

Исправлено, используя следующие шаги:

Отпустите установщик на машине развертывания

После установки фреймворка серверу потребовалась перезагрузка, так это и volla! Мы будем рады!

Наконец, мы определили проблему.

Поэтому, когда попытка сборки выполняется с ошибкой по этой разнице в пути, но находит правильную версию фрейма файла в другом месте на машине разработчика, но не на нашем сервере сборки TeamCity.

Пока это единственное различие, которое мы нашли. Изменение пути в файле .csproj и построение на локальной машине Dev с VS2013 все еще находят работу.

Не уверен, что это помогает.

Проверьте путь к файлу проекта для DLL и убедитесь, что он соответствует пути к папке пакета для DLL.

Просто упростите другие ответы на то, что сработало для меня.

Закройте проект, откройте его снова. Затем, Clean Solution + Build. Работает для меня

Для версии 2.2.15.0 я сделал следующее:

У нас это происходило на сервере после развертывания. Это было вызвано либо:

A) Старые файлы в папке bin, все еще зависающие, которые должны были быть удалены

B) Отсутствие доступа к папке для пользователя идентификатора пула приложений.

Другими словами, для нас это было разрешено, установив разрешения на папки для сайта и уничтожив папку bin и перераспределив.

У меня была такая же проблема с Gembox.spreadsheet.dll версии 31.

Я попробовал почти все из этих статей, и никто из них не работал. Он просто исправлен простым шагом.

Я попытался создать отдельные проекты, которые в основном устанавливали правильную ссылку на версию dll, и ошибка полностью исчезла из решения.

Пойдите аналогичную проблему, и директива, упомянутая во многих комментариях, отлично работает

Хотя вам необходимо обеспечить, чтобы покрытие старой версии было достаточно высоким, иначе новые версии не могут быть перенаправлены на нужную вам версию, а местоположение с использованием этой новой ссылки не будет работать должным образом, поскольку более старая ссылка уже находится в каталоге bin.

Это решило эту проблему для меня, и я бы сказал, что нужно знать, если вы создаете вспомогательные библиотеки, которые также ссылаются на MVC или другие сетевые компоненты NuGet.

Читайте также: