У нас есть решение ASP.NET MVC 4 с несколькими ссылками, которые строились без проблем уже около 2 лет. Однако после установки KB2993928 и KB2993937 этим утром мы не можем запустить FxCop на этом решении на наших машинах Windows 7.
У меня такое чувство, потому что это обновление изменило DLL-версию сборки System.Web.Mvc в GAC. Это связано с тем, что в GAC я могу в настоящее время найти 3 разных DLL System.Web.Mvc, которые все обновлены сегодня.
Ошибка, которую мы получаем в сборке, выглядит следующим образом:
6>MSBUILD : error : CA0001 : The following error was encountered while reading module 'FrontEnd.Implementation': Assembly reference cannot be resolved: System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35. [C:\Project\FrontEnd\02-Implementation\02-Implementation.csproj]
6>MSBUILD : error : CA0058 : The referenced assembly 'System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' could not be found. This assembly is required for analysis and was referenced by: S:\Deliverables\FrontEnd\bin\FrontEnd.Implementation.dll. [C:\Project\FrontEnd\02-Implementation\02-Implementation.csproj]
Поскольку мы используем ASP.NET MVC 4, эта версия 3.0 DLL ссылается косвенно на одну из наших ссылок. Например, RazorGenerator ссылается на версию 3.0.0.0. Возможно, и другие. Из того, что я могу сказать, нет новой версии RazorGenerator.
Версии System.Web.Mvc, которые я вижу в GAC: 3.0.50813.1, 4.0.40804.0 и 5.0.20821.0.
Я удалил ссылку на System.Web.Mvc из наших проектов и добавил Mvc как пакет NuGet. Это исправляет нашу компиляцию, но FxCop по-прежнему не работает из-за косвенных ссылок.
Если какая-либо дополнительная информация требуется, пожалуйста, дайте мне знать.