После установки обновления безопасности ASP.NET MVC 3 KB2990942
похоже, версия MVC увеличилась с 3.0.0.0
до 3.0.0.1
. Это приводит к тому, что Visual Studio больше не находит ссылку.
<Reference Include="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
Resharper не показывает никаких проблем, но сборка завершается ошибкой с большим количеством неразрешенных типов MVC и предупреждением:
Предупреждение. Не удалось разрешить эту ссылку. Не удалось найти сборку «System.Web.Mvc, версия = 3.0.0.0, культура = нейтральная, PublicKeyToken = 31bf3856ad364e35, процессорная архитектура = MSIL». Убедитесь, что сборка существует на диске. Если эта ссылка требуется для вашего кода, вы можете получить ошибки компиляции.
В этом есть смысл. Эта версия больше не существует на моей машине.
Я не могу гарантировать точную версию MVC на машинах разработки, серверах сборки и производственных серверах. У них может быть 3.0.0.0
или 3.0.0.1
, и это может измениться в любое время. Центр обновления Windows может выпускать новые версии MVC в любое время. Кроме того, я не хочу увеличивать номер версии во всех файлах *.csproj всякий раз, когда выпускается обновление MVC.
Обновление затрагивает несколько версий:
- KB 2993939: обновление безопасности для Microsoft ASP.NET MVC 2
- KB 2993937: обновление безопасности для Microsoft ASP.NET MVC 3
- KB 2993928: обновление безопасности для Microsoft ASP.NET MVC 4.0
- KB 2992080: обновление безопасности для Microsoft ASP.NET MVC 5.0
Бюллетень по безопасности: MS14-059: уязвимость в ASP.NET MVC делает возможным обход функций безопасности (2990942). )а>
Как лучше всего поступить в этой ситуации? Как я могу разорвать сборку и производство и быть в безопасности в отношении будущих обновлений MVC?
System.Web.MVC
не копируется в папкуbin
с MS14-059 - person Danny Tuppeny   schedule 20.10.2014