Наш проект настроен на использование версии 2.1.0 ядра asp.net. Однако отладчик показывает, что загружается версия 2.1.1 сборок sdk. Например
Загруженная сборка 'C: \ Program
Файлы \ DotNet \ Shared \ Microsoft.NETCore.App \ 2.1.1 \ System.Private.CoreLib.dll»
dotnet - версия возвращает 2.1.300 (что соответствует 2.1.0 в соответствии с [https://www.microsoft.com/net/download/dotnet-core/2.1].
SDK с самой высокой версией на компьютере - C: \ Program Files \ dotnet \ sdk \ 2.1.300.
В каталоге dotnet / shared отображаются исправные подкаталоги для 2.1.0 и 2.1.1 в Microsoft.AspNetCore.All, Microsoft.AspNetCore.App и Microsoft.NetCoreApp.
В проекте нет интересных ссылок на строку 2.1.1
.
SDK проекта:
В реестре есть ссылки (их цель не ясна) на 2.1.1 SDK. (Это лучший претендент, которого я могу найти для объяснения вместе с dotnet info Host, ниже).
dotnet —info shows
Хост (полезно для поддержки):
Версия: 2.1.1
Совершить: 6985b9f684
Интересно, откуда это.
Не удивительно, что большинство болтовни по этому поводу рекомендовали перейти с v2.1.0 на 2.1.1. Однако было бы полезно узнать, что происходит.
Проект на 2.1.0 по историческим причинам. Мы берем на себя некоторые свободы с некоторыми зависимостями .NET Framework, поэтому изменение версий - это область, которую следует остерегаться. Но прежде чем мы неизбежно перейдем на 2.1.3 (или что бы то ни было последним), было бы хорошо, чтобы поцарапать этот зуд.
Вопрос более чем академический. При изменении страниц бритвы во время работы сервера появляется следующая ошибка. Я предполагаю / надеюсь, что это связано с вышеизложенным. Страницы обслуживаются непосредственно Kestrel.
Тип RazorViewAttribute существует в обоих
'Microsoft.AspNetCore.Mvc.Razor, версия = 2.1.0.0, культура = нейтральная,
PublicKeyToken = adb9793829ddae60 'и' Microsoft.AspNetCore.Mvc.Razor,
Версия = 2.1.1.0, Культура = нейтральная, PublicKeyToken = adb9793829ddae60 '