【问题标题】:How to create new project with Visual Studio 2017 that will target .NET Core 2.1.6 SDK如何使用面向 .NET Core 2.1.6 SDK 的 Visual Studio 2017 创建新项目
【发布时间】:2018-12-01 06:23:44
【问题描述】:

当我尝试在 Visual Studio 2017 中创建新项目(任何类型)时,我只能针对 2.1 .NET Core 的主要版本,并且无法从 NuGet 包管理器进行更新到 2.1.6 .NET Core 的最新版本。

NuGet 包管理器中有一点:
SDK 隐式引用。要更新包,请更新它所属的 SDK。 Learn more
在“了解更多”中指出我需要安装最新版本的 SDK,我已经安装了,但无论如何无法更新现有版本,也无法使用最新版本创建新项目。

那么问题是如何做到这一点? 还是我错过了什么?

【问题讨论】:

    标签: visual-studio-2017 .net-core-2.1


    【解决方案1】:

    默认情况下,VS 将使用安装在您的盒子上的最新版本的 SDK(请参阅有关预览的脚注)。如果您创建一个面向 2.1 的项目并且同时安装了 2.1.5 和 2.1.6 SDK,它将使用 2.1.6。

    如果您有一个从 2.1.5 创建的现有项目,VS 将使用 2.1.6 中的工具来构建和运行您的项目除非您使用 global.json 文件固定您的工具 .在大多数情况下(对于 2.0+ 更是如此),即使您仍然针对较低的 netcore 框架版本,更新的 SDK 也应该没问题。

    如果您的项目中有明确的版本引用,您仍然需要自己更新它们,VS 今天不这样做。

    您可能会注意到,在 ASP.NET Core 2.1 项目中,没有 Microsoft.AspNetCore.App PackageRference 的版本(它是隐式的)。引用here:

    不指定版本时,SDK指定隐式版本,即Microsoft.NET.Sdk.Web。

    但是,有一系列 GitHub 问题(1、2)表明这已经引起了争论,并且可能会在某个时候改变。

    脚注:

    如果您安装 .NET Core SDK 的预览版,VS 可能会或可能不会使用它,具体取决于此设置:

    默认情况下,如果您使用的是 VS 的 Release 版本,此选项将被取消选中。如果您使用的是 VS 的预览版,则默认情况下会选中此项。您可以随时根据自己想要的行为自行切换。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-01
      • 2020-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-29
      • 2017-05-02
      相关资源
      最近更新 更多