Подтвердить что ты не робот

Ошибка выполнения: Не удалось загрузить файл или сборку "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

И теперь мой проект запускается!

Спасибо всем за помощь!

4b9b3361

Ответ 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, поэтому исправление до стабильной версии исправило это.