После установки обновления для системы безопасности ASP.NET MVC 3 KB2990942
, версия MVC увеличилась с 3.0.0.0
до 3.0.0.1
. Это приводит к тому, что Visual Studio больше не находит ссылку.Патч для защиты ASP.NET MVC до версии 3.0.0.1 breaks build
<Reference Include="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
Resharper не показывает каких-либо проблем, но сборка не удается с большим количеством неразрешенных типов MVC и предупреждения:
Внимание: Не удалось разрешить эту ссылку. Не удалось найти сборку «System.Web.Mvc, Version = 3.0.0.0, Culture = нейтраль, PublicKeyToken = 31bf3856ad364e35, processorArchitecture = MSIL». Проверьте на убедитесь, что сборка существует на диске. Если эта ссылка обязательна кодом, вы можете получить ошибки в компиляции.
Этот вид имеет смысл. Эта версия больше не существует на моей машине.
Я не могу гарантировать точную версию MVC на машинах dev, строить серверы и производственные серверы. Они могут иметь 3.0.0.0
или 3.0.0.1
, и это может измениться в любое время. Windows Update может выпускать новые версии MVC в любое время. Кроме того, я не хочу увеличивать номер версии во всех * .csproj-файлах при выпуске обновления MVC.
Несколько версий затронуты обновление:
- KB 2993939: Security Update for Microsoft ASP.NET MVC 2
- KB 2993937: Security Update for Microsoft ASP.NET MVC 3
- KB 2993928: Security Update for Microsoft ASP.NET MVC 4.0
- KB 2992080: Security Update for Microsoft ASP.NET MVC 5.0
Бюллетень безопасности: MS14-059: Vulnerability in ASP.NET MVC Could Allow Security Feature Bypass (2990942)
Каков наилучший способ справиться с этой ситуацией? Как я могу разблокировать сборку и производство и быть в безопасности в отношении будущих обновлений MVC?
Тот же выпуск сегодня с 4.0.0.1, мы просто переименовали System.Web.Mvc. Было бы неплохо иметь более надежное решение для ссылок. – Oliver
Вы должны, по крайней мере, иметь возможность гарантировать, что ваши серверы сборки и производственные серверы будут работать в одинаковой среде. У машин Dev могут быть не синхронизированы, но вы можете справляться с такими проблемами, когда они возникают. Ваши серверы сборки должны раскрывать любые проблемы. – Stijn
@Stijn Я планирую это сделать, но я не могу гарантировать, что обновления происходят в одно и то же время. Процесс разработки должен работать сам по себе в течение нескольких недель без ручного внимания. – usr