如何使用 Visual Studio 2017 创建以 .NET Core 2.1.6 SDK 为目标的新项目
How to create new project with Visual Studio 2017 that will target .NET Core 2.1.6 SDK
当我尝试在 Visual Studio 2017 年创建新项目(任何类型)时,我只能针对 2.1 .NET Core 的主要版本,并且从NuGet 包管理器无法将其更新到最新版本 2.1.6 .NET Core。
NuGet 包管理器中有一点:
SDK 隐式引用。要更新包,请更新其所属的SDK。 Learn more
在 "Learn more" 中指出我需要安装最新版本的 SDK,我确实这样做了,但无论如何都无法更新现有版本或使用最新版本创建新项目。
那么问题是怎么做呢?
还是我错过了什么?
默认情况下,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+ 更是如此),更新的 SDK 应该没问题,即使您仍然以较低的 netcore 框架版本为目标。
如果您的项目中有明确的版本引用,您仍然需要自己更新它们,VS 目前不会这样做。
您可能会注意到,在 ASP.NET Core 2.1 项目中,Microsoft.AspNetCore.App PackageRference 没有版本(它是隐含的)。引用自here:
When the version is not specified, an implicit version is specified by the SDK, that is, Microsoft.NET.Sdk.Web.
但是,有一系列 GitHub 个问题 (1, 2) 表明这已经过辩论并且可能会在某个时候改变。
脚注:
如果您安装 .NET Core SDK 的预览版,VS 可能会或可能不会使用它,具体取决于此设置:
默认情况下,如果您使用的是 Release 版本的 VS,则不会选中此选项。如果您使用的是 VS 的预览版,则默认情况下会选中此选项。您可以随时根据自己想要的行为自行切换它。
当我尝试在 Visual Studio 2017 年创建新项目(任何类型)时,我只能针对 2.1 .NET Core 的主要版本,并且从NuGet 包管理器无法将其更新到最新版本 2.1.6 .NET Core。
NuGet 包管理器中有一点:
SDK 隐式引用。要更新包,请更新其所属的SDK。 Learn more
在 "Learn more" 中指出我需要安装最新版本的 SDK,我确实这样做了,但无论如何都无法更新现有版本或使用最新版本创建新项目。
那么问题是怎么做呢? 还是我错过了什么?
默认情况下,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+ 更是如此),更新的 SDK 应该没问题,即使您仍然以较低的 netcore 框架版本为目标。
如果您的项目中有明确的版本引用,您仍然需要自己更新它们,VS 目前不会这样做。
您可能会注意到,在 ASP.NET Core 2.1 项目中,Microsoft.AspNetCore.App PackageRference 没有版本(它是隐含的)。引用自here:
When the version is not specified, an implicit version is specified by the SDK, that is, Microsoft.NET.Sdk.Web.
但是,有一系列 GitHub 个问题 (1, 2) 表明这已经过辩论并且可能会在某个时候改变。
脚注:
如果您安装 .NET Core SDK 的预览版,VS 可能会或可能不会使用它,具体取决于此设置:
默认情况下,如果您使用的是 Release 版本的 VS,则不会选中此选项。如果您使用的是 VS 的预览版,则默认情况下会选中此选项。您可以随时根据自己想要的行为自行切换它。