Ошибка выполнения: Не удалось загрузить файл или сборку "System.Web.WebPages.Razor, Version = 3.0.0.0
Я возился с моими пакетами ASP.NET MVC4 через NuGet, а теперь System.Web.WebPages.Razor v3
не загружается. Иногда другие пакеты не загружаются.
Моя коллега запускает решение без каких-либо проблем, поэтому проблема определенно зависит от моей системы разработки (в отличие от всего, что было проверено).
Я уже пробовал рекомендации на разных SOf и других ссылках на другие, включая:
Как и предложения, связанные с ним. Я также проверил панель управления и не обнаружил установленных программ, на которые ссылается MVC. (Если это имеет значение, я запускаю MS Win 7 SP 1.)
Я открыт для всех предложений.
Здесь моя основная информация о дампе:
Ошибка сервера в приложении "/".
Не удалось загрузить файл или сборку 'System.Web.WebPages.Razor, Version = 3.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' или одной из его зависимостей. Система не может найти указанный файл.
Описание: Необработанное исключение возникло во время выполнения текущего веб-запроса. Просмотрите трассировку стека информацию об ошибке и где она возникла в коде.
Сведения об исключении: System.IO.FileNotFoundException: не удалось загрузить файл или сборку "System.Web.WebPages.Razor, Version = 3.0.0.0, Культура = нейтральная, PublicKeyToken = 31bf3856ad364e35 'или одна из ее зависимостей. Система не может найти указанный файл.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of
исключение может быть идентифицировано с использованием трассы стека исключений ниже.
Assembly Load Trace: The following information can be helpful to determine why the assembly 'System.Web.WebPages.Razor,
Версия = 3.0.0.0, Культура = нейтральная, PublicKeyToken = 31bf3856ad364e35 ' не удалось загрузить.
=== Информация о состоянии предварительной привязки === LOG: Пользователь = кодыWithHammer LOG: DisplayName = System.Web.WebPages.Razor, Version = 3.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35 (Полностью указано) LOG: Appbase = file:///c:/users/CodesWithHammer/документы/visual studio 2012/Проекты/MPP/MPP/ LOG: Initial PrivatePath = c:\users\CodesWithHammer\documents\visual studio 2012\Projects\MPP\MPP\Bin Вызов сборки: Microsoft.Web.WebPages.OAuth, Version = 3.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35.
=== LOG: Это связывание начинается с контекста нагрузки по умолчанию. LOG: Использование файла конфигурации приложения: c:\users\CodesWithHammer\documents\visual studio 2012\Projects\MPP\MPP\web.config LOG: Использование файла конфигурации хоста: C:\Users\CodesWithHammer\Documents\IISExpress\config\aspnet.config LOG: Использование файла конфигурации машины из C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config. LOG: Послеполитическая ссылка: System.Web.WebPages.Razor, Version = 3.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35 LOG: попытка загрузки нового файла URL:///C:/Users/CodesWithHammer/AppData/Local/Temp/Temporary ASP.NET Файлы/корень/5bf3ca07/f960d9c5/System.Web.WebPages.Razor.DLL. LOG: попытка загрузки нового файла URL:///C:/Users/CodesWithHammer/AppData/Local/Temp/Temporary ASP.NET Файлы/корень/5bf3ca07/f960d9c5/System.Web.WebPages.Razor/System.Web.WebPages.Razor.DLL. LOG: попытка загрузки нового файла URL:///c:/users/CodesWithHammer/documents/visual studio 2012/Проекты/MPP/MPP/бен/System.Web.WebPages.Razor.DLL. LOG: попытка загрузки нового файла URL:///c:/users/CodesWithHammer/documents/visual studio 2012/Проекты/MPP/MPP/бен/System.Web.WebPages.Razor/System.Web.WebPages.Razor.DLL. LOG: попытка загрузки нового файла URL:///C:/Users/CodesWithHammer/AppData/Local/Temp/Temporary ASP.NET Файлы/корень/5bf3ca07/f960d9c5/System.Web.WebPages.Razor.EXE. LOG: попытка загрузки нового файла URL:///C:/Users/CodesWithHammer/AppData/Local/Temp/Temporary ASP.NET Файлы/корень/5bf3ca07/f960d9c5/System.Web.WebPages.Razor/System.Web.WebPages.Razor.EXE. LOG: попытка загрузки нового файла URL:///c:/users/CodesWithHammer/documents/visual studio 2012/Проекты/MPP/MPP/бен/System.Web.WebPages.Razor.EXE. LOG: попытка загрузки нового файла URL:///c:/users/CodesWithHammer/documents/visual studio 2012/Проекты/MPP/MPP/бен/System.Web.WebPages.Razor/System.Web.WebPages.Razor.EXE.
Трассировка стека:
[FileNotFoundException: Could not load file or assembly 'System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral,
PublicKeyToken = 31bf3856ad364e35 'или одна из его зависимостей. система не может найти указанный файл.] Microsoft.Web.WebPages.OAuth.PreApplicationStartCode.Start() +0
[InvalidOperationException: The pre-application start initialization method Start on type
Microsoft.Web.WebPages.OAuth.PreApplicationStartCode бросил исключение со следующим сообщением об ошибке: Не удалось загрузить файл или сборка "System.Web.WebPages.Razor, Version = 3.0.0.0, Culture = нейтральная, PublicKeyToken = 31bf3856ad364e35 'или одна из его зависимостей. система не может найти указанный файл..] System.Web.Compilation.BuildManager.InvokePreStartInitMethodsCore(ICollection 1
methods, Func
1 setHostingEnvironmentCultures) +550 System.Web.Compilation.BuildManager.InvokePreStartInitMethods(ICollection`1 методы) +132 System.Web.Compilation.BuildManager.CallPreStartInitMethods(String preStartInitListPath) +90 System.Web.Compilation.BuildManager.ExecutePreAppStart() +135 System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) +516
[HttpException (0x80004005): The pre-application start initialization method Start on type
Microsoft.Web.WebPages.OAuth.PreApplicationStartCode бросил исключение со следующим сообщением об ошибке: Не удалось загрузить файл или сборка "System.Web.WebPages.Razor, Version = 3.0.0.0, Culture = нейтральная, PublicKeyToken = 31bf3856ad364e35 'или одна из его зависимостей. система не может найти указанный файл..] System.Web.HttpRuntime.FirstRequestInit(контекст HttpContext) +9874840 System.Web.HttpRuntime.EnsureFirstRequestInit(контекст HttpContext) +101 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, контекст HttpContext) +254
Информация о версии: Microsoft.NET Framework Версия: 4.0.30319; Версия ASP.NET: 4.0.30319.18055
(Для тех, кто читает это далеко: у меня недостаточно репутации, чтобы сделать тег pull-out-my-hair. Если есть соответствующий тег extant, включите его. Kспасибо. )
ETA: Когда я попытался вручную обновить Microsoft.AspNet.Mvc
до версии 3, вот ошибка, которую я получил в консоли диспетчера пакетов:
Ошибка установки. Откат... Install-Package: обновление "Microsoft.AspNet.Mvc 5.0.0" - "Microsoft.AspNet.Mvc 3.0.20105.1" не смогли. Не удалось найти версию "Microsoft.AspNet.Mvc.FixedDisplayModes", совместимый с "Microsoft.AspNet.Mvc 3.0.20105.1". На линии: 1 char: 16 + Install-Package < < < Microsoft.AspNet.Mvc -Version 3.0.20105.1 + CategoryInfo: NotSpecified: (:) [Install-Package], InvalidOperationException + FullyQualifiedErrorId: NuGetCmdletUnhandledException, NuGet.PowerShell.Commands.InstallPackageCommand
ETA2: Я получил каталог пакетов от моего коллеги. У них MS.AspNet.Mvc
v5, и они работают отлично. Но они ТАКЖЕ имеют MS.AspNet.Mvc.FixedDisplayModes
v5. Поэтому я собираюсь добавить обоих. И да, я поддержал все свое решение.:)
ETA3: Итак, я снова обновился до AspNet MVC v5 и пропустил устаревшие Mvc.FixedDisplayNodes. Затем у меня возникла проблема с конфликтующими версиями AspNet.WebPages, поэтому я использовал это исправление: Обнаружены конфликтующие версии веб-страниц ASP.NET: указанная версия имеет значение "1.0.0.0" , но версия в bin имеет значение "2.0.0.0" . в ASP.MET MVC 3
И теперь мой проект запускается!
Спасибо всем за помощь!
Ответы
Ответ 1
Вы можете найти его в пакете Nuget Microsoft ASP.NET Web Pages Version 3.2.0
![Microsoft ASP.NET Web Pages]()
Если у вас есть ссылка на более раннюю версию, чем 3.0.0.0, удалите ссылку, добавьте ссылку на правильную .dll в папку ваших пакетов и убедитесь, что для параметра "Копировать локальное" установлено значение "Истина" в свойствах .dll.
Затем в вашем web.config(как упоминалось @MichaelEvanchik)
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages.Razor" PublicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
</dependentAssembly>
</assemblyBinding>
Ответ 2
"Update-Package -reinstall Microsoft.AspNet.WebPages"
Переустановите пакеты Microsoft.AspNet.WebPages, используя эту команду в консоли диспетчера пакетов. 100% работа!
Ответ 3
одно и то же JUST произошло со мной с NUGET.
следующий тег помог
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages.Razor" PublicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
</dependentAssembly>
Также, если это происходит на сервере, я должен был убедиться, что я запускаю пул приложений в более "привилегированной учетной записи" в файловой системе, но я не думаю, что ваша проблема здесь
Ответ 4
в новом actionmailer, "razorengine" является зависимостью. Последняя версия Razorengine устанавливает зависимость от System.Web.Razor 3.0.0.
Если вы используете более раннюю версию в своем приложении (предположим, вы используете actionmailer в другом проекте и ссылаетесь на функциональность почты из другого проекта), вы, конечно, получите эту проблему.
В более раннем приложении у меня был веб-приложение MVC, которое использует system.web.Razor версии 2.0.0.
Конечно, у меня проблема.
Как исправить?
= > Простой!
- Просто удалите весь actionmailer в проекте actionmailer.
- Установите предыдущую версию RazorEngin
Install-Package RazorEngine -Version 3.3.0 (поскольку версия 3.3.0 будет ссылаться на system.web.razor 2.0.0)
- Еще раз установите actionmailer (он не установит последнюю версию RazorEngin, потому что вы уже сделали это.)
Сукчес!
Ответ 5
Есть ли файл System.Web.WebPages.Razor.dll в папке bin вашего веб-приложения? Какова его версия? (Explorer правой кнопкой мыши, свойства) Я предполагаю, что это не 3.0.0.0. Просто получите пакеты nuget для v3.0.0.0, возможно, скопировав папку с вашим коллегой. Или установите его вручную: http://www.nuget.org/packages/Microsoft.AspNet.Mvc/3.0.20105.1
EDIT: если вы скопируете материал у своего коллеги, также скопируйте соответствующие номера версий в packages.config. Это то, что говорит nuget, какие версии вставлять в папку пакетов.
Ответ 6
Я не хотел устанавливать визуальную студию и среду разработки, поэтому я установил AspNetMVC4Setup.exe на компьютере с сервером Windows 2016 и решил проблему. Установщик был загружен с веб-сайта Microsoft.
![Свойства файла установщика]()
Ответ 7
В моем случае проблема не устранена, следуя любым из вышеперечисленных методов. У меня были все пути в моей конфигурации пакета правильно и dll были на месте, как указано, я все еще получаю ошибку времени выполнения для System.Web.WebPages.Razor. I changed the localhost port number and this worked
Я не уверен, почему у меня возникла проблема и почему изменение номера порта разрешило это. Просто опубликуйте это, поскольку я чувствую, что это может быть полезно для кого-то там.
Ответ 8
В моем случае проблема не касалась связывания переадресаций или отсутствующих/несоответствующих пакетов /dll Microsoft.AspNet.Razor, поэтому вышеупомянутые решения не работали.
В моем не-веб-проекте проблема заключалась в том, что RazorEngine + Microsoft.AspNet.Razor были установлены в другом проекте (проект A), чем проект сборки/запуска (проект B). Поскольку нет явной ссылки на Razor, System.Web.Razor НЕ был скопирован в /bin в сборке Release.
Решение было установить RazorEngine + Microsoft.AspNet.Razor в точку входа приложения (Project B, ConsoleApplication в моем случае), затем System.Web.Razor копируется в /bin и все счастливы.
Ответ 9
У меня такая же ошибка, что для меня работало:
- Исправить ошибки ссылок.
- Закрыть Visual Studio.
- Удалить пакеты.
- Удалить папку .vs.
- Запустить проект снова.
- Реконструкция проекта.
Ответ 10
Я получил эту проблему, потому что я удалил VS 2012, я не хочу переустанавливать его обратно, поэтому я скачал AspNetMVC4Setup.exe с Microsoft.com и исправил свою проблему.
https://www.microsoft.com/en-us/download/details.aspx?id=30683
Ответ 11
У меня была эта проблема при обновлении до v3.0.0.preview4, поэтому исправление до стабильной версии исправило это.