Как разрешить? Предполагая сборку ссылок "System.Web.Mvc

Что касается questions/26393157/windows-update-caused-mvc3-and-mvc4-stop-working. Самый быстрый способ разрешить предупреждение ниже?

Предполагая ссылку на сборку 'System.Web.Mvc, Version = 4.0.0.0, Культура = нейтральная, PublicKeyToken = 31bf3856ad364e35 ' 'System.Web.Mvc, Version = 4.0.0.1, Culture = нейтральный, PublicKeyToken = 31bf3856ad364e35 ', вам может потребоваться предоставить время выполнения политика.

Ответ 1

Это случалось с моими пакетами NuGet время от времени. Я не смог точно определить, как это происходит. (Я предполагаю, что ошибка пользователя.) Мне не нужно ничего обновлять, чтобы решить ее, просто очистите кеш NuGet:

Я использую инструмент командной строки nuget, найденный здесь.

Вы можете очистить все кэши с помощью этой команды:

nuget locals all -clear

Смотрите: https://docs.nuget.org/consume/command-line-reference

Возможно, вам придется перезапустить Visual Studio, если он открыт.

Ответ 2

В соответствии с лучшим ответом на вопрос....

  • Обновление пакета MVC (Visual Studio > Проект/решение правой кнопкой мыши > Управление пакетами nuget > Обновления > Microsoft ASP.NET MVC > Обновление)
  • Вручную добавьте сборку компиляции

но затем

  • Найти - System.Web.Mvc, Version = 4.0.0.0
  • и заменить на - System.Web.Mvc, Version = 4.0.0.1

Что найдет все скрытые ссылки в файлах Views/Web.config.

Ответ 3

Я получал это предупреждение в RoslynPad, потому что одна из библиотек DLL, на которую я ссылался (для меня это был mscorlib.dll), использовала версию, отличную от извлеченной версии через NuGet. Как говорится в предупреждении, вы можете решить его, решив его с помощью политики времени выполнения со ссылкой на dll версии, которую вы хотите использовать. Просто добавьте что-то вроде этого в начало вашего файла:

#r "C:\Windows\Microsoft.NET\Framework64\v2.0.50727\mscorlib.dll"

Ответ 4

Не ссылайтесь на компоненты пакета NuGet и интерфейсы напрямую из вашего кода cshtml. Вместо этого пишите свои собственные компоненты, методы расширения и просматривайте модели, ссылаясь на них из простого кода С#, помещенного в файлы cs. Во-первых, тогда вы не получите предупреждение CS1702. А во-вторых, это облегчит будущие миграции на более новые версии пакета NuGet или даже другого пакета: все необходимые исправления будут показаны вам компилятором.

Это, вероятно, желаемое изменение в вашей политике выполнения.

Ответ 5

Извините за поздний ответ, но в моем случае это предупреждение появлялось, потому что я использовал разные версии Microsoft.AspNet.Mvc в своем решении Visual Studio. Я смог избавиться от него, обновив старые пакеты до той же версии.

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

Ответ 6

После нескольких попыток у меня сработало обновление информации о приложениях и всех пакетов от NuGet. Затем я удостоверился, что не было конфликтов версий в приложении Insights, и все работало нормально.

Ответ 7

После проверки всех предложений мне, наконец, удалось избавиться от предупреждения, отредактировав .csproj моего веб-приложения и присвоив false свойство MvcBuildViews.

Возможно, это может помочь некоторым из вас.