Не удалось загрузить файл или сборку 'System.Web.WebPages.Razor, версия = 2.0.0.0

Я только что обновил пакеты в проекте MVC 3 (ASP.net 4), и теперь я получаю следующее сообщение об ошибке при доступе к странице в этом проекте:

Server Error in '/MyApplication' Application.

Could not load file or assembly 'System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.IO.FileLoadException: Could not load file or assembly 'System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Assembly Load Trace: The following information can be helpful to determine why the assembly 'System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' could not be loaded.

=== Pre-bind state information === LOG: User = IIS APPPOOL\ASP.NET v4.0 LOG: DisplayName = System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 (Fully-specified) LOG: Appbase = file:///C:/.../ LOG: Initial PrivatePath = C:...\bin Calling assembly : Microsoft.Web.Helpers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35. === LOG: This bind starts in default load context. LOG: Using application configuration file: C:...\web.config LOG: Using host configuration file: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet.config LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config. LOG: Post-policy reference: System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files/.../cb62a7b2/327a0353/System.Web.WebPages.Razor.DLL. LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files/.../cb62a7b2/327a0353/System.Web.WebPages.Razor/System.Web.WebPages.Razor.DLL. LOG: Attempting download of new URL file:///C:/LeGroupeHtmSVN/.../UpDir.Web/bin/System.Web.WebPages.Razor.DLL. WRN: Comparing the assembly name resulted in the mismatch: Major Version ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated.

Stack Trace:

[FileLoadException: Could not load file or assembly 'System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)]
Microsoft.Web.Helpers.PreApplicationStartCode.Start() +0

[InvalidOperationException: The pre-application start initialization method Start on type Microsoft.Web.Helpers.PreApplicationStartCode threw an exception with the following error message: Could not load file or assembly 'System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040).]
System.Web.Compilation.BuildManager.InvokePreStartInitMethods(ICollection`1 methods) +11711966
System.Web.Compilation.BuildManager.CallPreStartInitMethods() +465
System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) +1167

[HttpException (0x80004005): The pre-application start initialization method Start on type Microsoft.Web.Helpers.PreApplicationStartCode threw an exception with the following error message: Could not load file or assembly 'System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040).]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +11700896 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +141 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +4869125

-------------------------------------------------------------------------------- Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.272

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

  <dependentAssembly>
    <assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-1.0.0.0" newVersion="1.0.0.0" />
  </dependentAssembly>

Я даже не знаю, смогу ли я использовать System.Web.WebPages.Razor v2.0.0.0 с .Net 4.

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

 Jess24 февр. 2016 г., 21:11
Это также может вызвать проблемуMSB3277: Found conflicts between different versions of the same dependent assembly that could not be resolved.

Ответы на вопрос(12)

Решение Вопроса

.0?

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

Calling assembly : Microsoft.Web.Helpers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35

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

 11 июн. 2015 г., 22:24
Ами, ты проверил web.config? Недавно я был очень расстроен, а потом нашел его в web.config.
 06 мар. 2015 г., 18:33
Я до сих пор не могу заставить это работать. Я искал все решение для ЛЮБОГО экземпляра 2.0.0.0 и не нашел НИЧЕГО! В моем решении нет ни единой ссылки на ЛЮБУЮ сборку с двумя в ней, не говоря уже о System.Web.WebPages.Razor. Я также проверил фактический номер версии всех сборок из пространства имен System.Web.WebPages, и все они 3.0. 1. Удалите пакет MVC из Nuget и переустановите его. 2. Удалил элементы AssemblyBinding из Web.config. 3. Очистить / перестроить раствор. 4. Выгрузили решение и просмотрели файл .proj на предмет ссылок.
 Jean-François Beauchamp12 июн. 2012 г., 21:13
На самом деле, он опирается на System.Web.WebPages.Razor v2.0.0.0, который находится только на этапе Release Candidate, и если я его устанавливаю, это нарушает работу моего приложения. Таким образом, решение для меня сейчас будет вернуться к предыдущей версии Microsoft.Web.Helpers.

когда я «удалил неиспользуемые ссылки». Сайт все еще работал на моей локальной машине, но не работал на сервере после публикации.

Remove unused references

Я исправил эту проблему, выполнив следующее:

Open 'Package Manager Console' in Visual Studio Uninstall-Package Microsoft.AspNet.Mvc Install-Package Microsoft.AspNet.Mvc
 30 янв. 2013 г., 02:16
а затем восстановить ...
 15 янв. 2015 г., 10:54
Никогда не трогай "Удалить неиспользуемые ссылки". Это зло и никогда, никогда не работает как рекламируется. Это кодирование самоубийства.
 13 февр. 2014 г., 18:10
Нажатие «Удалить неиспользуемые ссылки» аналогично использованию вашей руки, чтобы вытащить лезвие из вашей кухонной раковины… Действительно опасно.
 09 мар. 2016 г., 12:50
это случилось со мной после использования «Чистого раствора» в визуальной студии. Теперь у меня есть три веб-проекта внутри этого решения, которые не работают с тремя разными ошибками. Худший совет, который я когда-либо использовал при переполнении стека (по другому вопросу).
 13 февр. 2014 г., 22:55
@cjbarth Я бы определенно сделал резервную копию своего проекта в первую очередь.

попробуйте следующее решение.

Delete the bin folder of respective web/service project. Build

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


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

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

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

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

Right click on your Solution and click Manage Nuget Packages for Solution ... go to Consolidate Tab (last tab) and check if any any differences between packages installed in different projects inside your solution. specially pay attention to your referenced projects which may have lower versions because they usually are less noticed) consolidate specially packages related to your assembly error and note that many packages are dependent on some other packages like *.code & *.api & ... after resolving all suspected consolidations , rebuild and rerun the app and see if the assembly bindings are resolved.

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

 14 июн. 2017 г., 16:39
Я тоже обновлялся с 4 до 5 и столкнулся с различными ошибками.This site helped me a lot.
 15 июн. 2017 г., 17:39
Через несколько дней я вытер чистую доску и попробовал все это снова. В моем решении было 3 проекта, ссылающихся на MVC, и я обновил их до 5.2.3, что вызвало эту ошибку. Чего я не понял, так это того, что одно из этих 3 было общим для многих других решений и требовало 4.0.40804. Мне пришлось понизить MVC этого общего проекта, но остальные смогли работать на 5.2.3.

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

затем переустановил его, запустивAspNetMVC4Setup.exe (который я получил отhttps://www.microsoft.com/en-us/download/details.aspx?id=30683), и это решило проблему для меня.

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

а System.Web.Razor

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

Пакет обновлений Microsoft.AspNet.Mvc -Reinstall

 03 июн. 2017 г., 03:34
Спасибо! Я потратил на это около суток, пока не увидел твой ответ.
 24 мар. 2016 г., 23:49
у меня есть эта проблема в webapi 2, потому что я добавил контроллер MVC по ошибке, затем начинаются проблемы после того, как я удалил ссылки, так что просто деинсталлируйте пакет Microsoft.AspNet.Mvc решите мою проблему
 22 апр. 2016 г., 23:49
Для меня этот метод переустанавливал Oauth и кучу других наворотов, но не решил проблему.
 02 мар. 2016 г., 15:29
Это случилось со мной тоже. У меня есть 2 ветви одного и того же проекта в Git. Один - веб-формы с добавлением .NET MVC 5, а другой - прямые веб-формы. Когда я переключаю ветки в Visual Studio 2015 только с веб-форм на версию с .NET MVC, я получаю ту же ошибку. Этот ответ работал для меня, но я должен былrestart Visual Studio first.

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

 16 апр. 2015 г., 10:11
Это решило проблему отлично и легко, спасибо. После этого MVC 4 работает бок о бок со старыми версиями.

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

https://www.microsoft.com/en-us/download/details.aspx?id=34600

Ваш ответ на вопрос