Visual Studio Express 2012 app.config переназначение сборки
Я перенес проект из MVC 3 в MVC 4 некоторое время назад.
когда я создаю, я получаю сообщения
1> No way to resolve conflict between "System.Web.Mvc, Version=3.0.0.0 ..." and , Version=2.0.0.0
1> Consider app.config remapping of assembly "System.Web.WebPages ..." from Version "1.0.0.0" to Version "2.0.0.0" to solve conflict and get rid of warning.
1> Consider app.config remapping of assembly "System.Web.WebPages.Razorfrom Version "1.0.0.0" [c:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies\System.Web.WebPages.Razor.dll] to Version "2.0.0.0" [C:\Users\OEM\documents\visual studio 2012\Projects\DabTrial\packages\Microsoft.AspNet.WebPages.2.0.30506.0\lib\net40\System.Web.WebPages.Razor.dll] to solve conflict and get rid of warning.
и т.д.
Когда я смотрю на ссылки, это все более поздние версии, а web.config относится только к более поздним версиям. Когда я просматриваю весь каталог решений с помощью токена открытого ключа (в проводнике Windows), я не вижу файлов типа XML со ссылками на более ранние версии.
очевидно, что путь к файлам отличается, но я не могу найти, куда компилятор перенаправляется на путь для более раннего файла DLL.
Проект строит и работает нормально, но я предполагаю, что компилятор предлагает эти изменения по какой-то причине. Спасибо за любую помощь.
Ответы
Ответ 1
Ваши зависимости в nuget, вероятно, ссылаются на версию MVC3. Вы можете попробовать добавить в свою веб-конфигурацию следующую строку:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
Вы также можете попробовать запустить следующее в Консоль диспетчера пакетов
Update-Package -Reinstall
У вас должна быть хотя бы версия 2.1 для nuget для этой команды, но она обновит ваши пакеты и перенастроит их, если вы обновили .NET. Вы можете проверить это сообщение для получения дополнительной информации.
Решение перехвата с .Net 4.0 до 4.5 - как переназначить пакеты NuGet?
Ответ 2
У меня также были такие проблемы. Я сделал всего две вещи:
- обновленный System.Web.Mvc и все зависимости к последней версии (5.2.3)
- Восстановить все решения (я использовал "Решение → Чистое решение", затем "Решение → Сборка решения" )