Мое новое веб-приложение ASP.NET MVC работает на моей рабочей станции, но не работает на моем веб-сервере ...
Ошибка сервера в приложении '/'
Ошибка конфигурации
Описание: во время обработки файла конфигурации, необходимого для обслуживания этого запроса, произошла ошибка. Пожалуйста, просмотрите подробности конкретной ошибки ниже и измените файл конфигурации соответствующим образом.
Сообщение об ошибке синтаксического анализатора: не удалось загрузить файл или сборку 'System.Web.Mvc, версия = 1.0.0.0, культура = нейтральная, 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: регистрация привязки сборки выключена. Чтобы включить ведение журнала ошибок привязки сборки, задайте для параметра реестра [HKLM \ Software \ Microsoft \ Fusion! EnableLog] (DWORD) значение 1. Примечание. Некоторое снижение производительности связано с регистрацией ошибок привязки сборки. Чтобы отключить эту функцию, удалите значение реестра [HKLM \ Software \ Microsoft \ Fusion! EnableLog].
Информация о версии: Microsoft .NET Framework Версия: 2.0.50727.3053; ASP.NET версия: 2.0.50727.3053
Нужно ли устанавливать AspNetMVCBeta-setup.msi на сервер? Или есть другой установщик для серверов?
источник
Я столкнулся с той же проблемой, что и sgriffinusa. В дополнение к ссылкам, статья Фила предлагает: http://www.haacked.com/archive/2008/11/03/bin-deploy-aspnetmvc.aspx . Я добавил это:
Godaddy Deployment работал отлично. Выключите пользовательские ошибки и добавьте ссылки для исправления ошибок. Это должно привести вас в правильном направлении.
источник
Установка MVC непосредственно на ваш веб-сервер является одним из вариантов, так как тогда сборки будут установлены в GAC. Вы также можете выполнить развертывание сборок, что может помочь очистить сервер от предварительных выпусков, пока не будет доступен окончательный выпуск.
Phil Haack опубликовал хорошую статью пару дней назад о том, как развернуть MVC вместе с вашим приложением, поэтому нет необходимости устанавливать напрямую:
http://www.haacked.com/archive/2008/11/03/bin-deploy-aspnetmvc.aspx
источник
Я столкнулся с этой же проблемой, пытаясь развернуть свое веб-приложение MVC3 Razor на общем хостинге GoDaddy. Есть некоторые дополнительные .dll, на которые нужно ссылаться. Подробности здесь: http://paulmason.biz/?p=108
По сути, вам нужно добавить ссылки на следующее в дополнение к тем, которые перечислены в посте @ Haacked, и настроить их для локального развертывания, как описано.
источник
В VS2010 щелкните правой кнопкой мыши проект в обозревателе решений и выберите «Добавить развертываемые зависимости». Затем установите флажки, связанные с MVC, в следующем диалоговом окне.
Это создает в проекте папку «_bin_deployableAssemblies», которая содержит все файлы .dll, упомянутые в других ответах. Я считаю, что они копируются в папку bin при создании пакета развертывания.
источник
Простое исправление. В VS2010 щелкните правой кнопкой мыши свой проект MVC, выберите «Добавить развертываемые зависимости ...», выберите нужные параметры и нажмите кнопку «ОК».
источник
Быстрое и простое решение: я столкнулся с этой проблемой с Microsoft.AspNet.Mvc -Version 5.2.3, и после прохождения всех этих потоков я нашел самое простое решение.
Просто следуйте инструкциям:
Это автоматически исправит все проблемы со ссылками. Смотрите изображение ниже:
источник
Имел ту же проблему и добавил все сборки, которые они сказали, но все равно получил ту же ошибку.
Оказывается, вам нужно сделать « Specific Version » = False.
источник
Мы хотим добавить его, потому что мы создаем библиотеку классов, которая его использует.
Для меня это здесь ...
C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 4\Assemblies
источник
Если вы НЕ используете хостинг-провайдера и у вас есть доступ к серверу для установки ... Затем установите инструменты обновления MVC 3, сделайте это ... это сэкономит вам часы проблем на компьютере с Windows 2003 server / IIS6. Я прокомментировал эту страницу здесь Несоответствие номера версии Nuget.Core.dll
источник
В дополнение к посту Haack, у Хансельмана также есть подобный пост. БИН Delploying ASP.NET MVC 3 с Razor на Windows Server без установленного MVC
Для меня решение «Копировать локально = true» было недостаточным, поскольку ссылки на проекты моего веб-сайта не включали все отсутствующие библиотеки. Как Скотт упоминает в своем посте, мне также нужно было получить дополнительные dll из следующей папки в моем окне разработки: C: \ Program Files (x86) \ Microsoft ASP.NET \ ASP.NET Web Pages \ v1.0 \ Assemblies. Сообщение об ошибке сообщало мне, какая dll отсутствует (System.Web.Infrastructure, System.Web.Razor и т. Д.). Я продолжал добавлять каждую отсутствующую dll по одному, пока она не заработала.
источник
Я сделал «Update-Package - переустановите Microsoft.AspNet.Mvc», чтобы исправить это в Visual Studio 2015.
источник
Важным соображением является файл web.config. Некоторые пакеты могут корректировать ваши перенаправления привязки, вызывая хаос (несанкционированный пакет находился в домашнем пакете, и я не удалил файл web.config из пакета или убедился, что файл web.config включен в пакет не имеет никаких перенаправлений привязки. Например, удаление дубликата и неправильный узел решает эту проблему
убрав строки с 8 по 24 исправляет сборку.
источник
Также проверьте версию сборки в файле web.config в папке Views и убедитесь, что она совпадает. Я иногда забываю, что в этом месте находится второй web.config.
источник
Этот пост может быть дубликатом Фила, но он может помочь:
http://www.tugberkugurlu.com/archive/deployment-of-asp-net-mvc-3-rc-2-application-on-a-shared-hosting-environment-without-begging-the-hosting-company
источник
У меня была такая же проблема с кучей файлов сборки после перемещения проекта в другое решение.
Для меня
web.config
файл пытался добавить эту сборку:Думал, что ссылка в проекте указывала на версию
3.0.0.0
(нажмите на ссылку и прокрутите вниз до свойств). Поэтому я просто изменил эталонную версию вweb.config
файле.Я не знаю, было ли это какой-то ошибкой. Проблема с добавлением всех других ссылок заключалась в том, что ссылки появились в файле конфигурации, но на самом деле они вообще не были указаны в проекте (в обозревателе решений), а необходимые файлы не были скопированы с остальными файлами проекта, вероятно, из-за того, что не
"copy local = true"
Теперь я не смог найти эти сборки в добавляемых сборках (щелкнув ссылку правой кнопкой мыши и попытавшись добавить их из сборок или расширений). Вместо этого я создал новое решение MVC, которое добавило все необходимые мне сборки и ссылки, и нашел их по ссылкам на новые проекты в обозревателе решений и нашел их путь в окне свойств для ссылки.
Затем я просто скопировал нужные библиотеки в другой проект и сослался на них.
источник
После того, как я все испробовал и все-таки потерпел неудачу, это было мое решение: я вспомнил, что у меня произошла ошибка при последнем обновлении версии MVC в моей Visual Studio, поэтому я запустил проект из другой Visual Studio (другой компьютер), а затем загрузил dll-ы, и это сработало. может это кому то поможет ...
источник
Я использую Jenkins с проектами .net и у меня были проблемы с ссылками MVC 4.
Наконец, я решил свою проблему, используя функциональность поисковой системы .Net на основе реестра, используя:
"HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft.NETFramework \ v2.0.50727 \ AssemblyFoldersEx"
Например, вы можете создать подраздел и установить ключ по умолчанию «c: \ myreferenceedir».
Это спасло меня от версий MVC, а также веб-страниц ASP.net.
Полезно для добавления ссылок в «Диалог добавления ссылок»
http://dhakshinamoorthy.wordpress.com/2011/12/04/how-to-register-your-net-assembly-in-gac-and-make-it-show-in-add-reference-dialog/
источник
Как уже упоминали другие, добавьте эти ссылки в визуальные студии с
Copy Local
установленным наtrue
. (Я тоже должен был добавитьSystem.Web.Webpages
)источник
Я добавил «Microsoft ASP.NET Razor», используя Управление пакетами NuGet.
С помощью «Добавить ссылки» у меня почему-то были только System.Web.Helpers 1.0.0 и 2.0.0 ... но не 3.0.0.
Другой вариант, который работал со мной, состоял в том, чтобы удалить ссылки на System.Web.Mvc и System.Web.Http ... затем повторно добавить их, просматривая местоположения пакетов в файле csproj (вы можете легко отредактировать проект с помощью текстовый редактор):
источник