По умолчанию VS будет использовать последнюю версию SDK, установленную на вашем компьютере (см. Сноску о предварительном просмотре).Если вы создаете проект с таргетингом 2.1 и у вас установлены оба пакета SDK 2.1.5 и 2.1.6, он будет использовать 2.1.6.
Если у вас есть проект, созданный в 2.1.5, VSбудет использовать инструменты из 2.1.6 для сборки и запуска вашего проекта , если вы не закрепите свой инструмент в файле global.json .В большинстве случаев (особенно для 2.0+) более новый SDK подойдет, даже если вы по-прежнему ориентируетесь на более низкую версию платформы Netcore.
Если у вас есть явные ссылки на версии в вашем проекте, вам все равно придется обновить их самостоятельно, VS не делает этого сегодня.
Вы можете заметить, что в проекте ASP.NET Core 2.1 отсутствует версия для PackageRference Microsoft.AspNetCore.App (она неявная).Цитировать здесь :
Если версия не указана, SDK указывает неявную версию, то есть Microsoft.NET.Sdk.Web.
Однако существует ряд проблем GitHub ( 1 , 2 ), показывающих, что это обсуждалось и может измениться в какой-то момент.
Сноска:
Если вы устанавливаете предварительную версию .NET Core SDK, VS может использовать ее или не использовать в зависимости от этого параметра:
Byпо умолчанию, если вы используете Релизную версию VS, это будет не отмечено.Если вы используете предварительную версию VS, это будет проверено по умолчанию.Вы всегда можете включить его самостоятельно в зависимости от желаемого поведения.