无法将我的解决方案从v2.1.0升级到v2.1.3

Pau*_*ems 5 .net-core asp.net-core-2.1

我正在开发.net Core v2.1应用程序,在开发过程中,我尝试定期更新NuGET软件包。

我无法更新Microsoft.AspNetCore.App现在的v2.1.1,但最新的稳定版本是v2.1.3,我也无法Microsoft.NETCore.App从v2.1.0 更新到v2.1.3

我已经读了几个小时了。我确实拥有所有必需的SDK:

>dotnet --info
.NET Core SDK (reflecting any global.json):
 Version:   2.1.401
 Commit:    91b1c13032

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.17134
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\2.1.401\

Host (useful for support):
  Version: 2.1.3
  Commit:  124038c13e

.NET Core SDKs installed:
  2.1.4 [C:\Program Files\dotnet\sdk]
  2.1.101 [C:\Program Files\dotnet\sdk]
  2.1.103 [C:\Program Files\dotnet\sdk]
  2.1.104 [C:\Program Files\dotnet\sdk]
  2.1.201 [C:\Program Files\dotnet\sdk]
  2.1.202 [C:\Program Files\dotnet\sdk]
  2.1.302 [C:\Program Files\dotnet\sdk]
  2.1.400 [C:\Program Files\dotnet\sdk]
  2.1.401 [C:\Program Files\dotnet\sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.0.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.0.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.0.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Run Code Online (Sandbox Code Playgroud)

我正在运行VS2017社区版v15.8.1

当我尝试使用进行更新时,Manage NuGet for solution ..我收到Blocked by project消息,无法选择较新的版本。

我阅读使用

Install-Package Microsoft.NETCore.App -Version 2.1.3
Run Code Online (Sandbox Code Playgroud)

Package Manager Console也可以。但是然后我得到这个错误:

NETSDK1061: The project was restored using Microsoft.NETCore.App version 2.1.3, but with current settings, version 2.1.0 would be used instead. To resolve this issue, make sure the same settings are used for restore and for subsequent operations such as build or publish. Typically this issue can occur if the RuntimeIdentifier property is set during build or publish but not during restore.
Run Code Online (Sandbox Code Playgroud)

我已经阅读了它所指向的页面,但是不知道我需要做什么来解决此问题。

我也不明白为什么这么难。我没有从v2升级到v3,甚至没有从v2.1升级到v2.2,我只是想从v2.1.0升级到v2.1.3。

任何帮助都感激不尽。

小智 4

您需要做的就是明确告诉 Visual Studio 您想要处理的 SDK 版本。为此,请将版本标记添加到 .csproj 文件中的项目节点。这将告诉 VS 使用指定的 SDK 版本编译项目。现在您还需要告诉它要使用哪个运行时版本,否则它将编译但无法运行。为此,您需要添加一个运行时节点,并在其中指定版本。这看起来像这样......

<Project Sdk="Microsoft.NET.Sdk.Web" Version="2.1.3">
  <PropertyGroup>
    <RuntimeFrameworkVersion>2.1.3</RuntimeFrameworkVersion>
  </PropertyGroup>
  <PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
    ....
  </PropertyGroup>

  ...
</Project>
Run Code Online (Sandbox Code Playgroud)

某些包(例如 Microsoft.NETCore.App)可以通过 Nuget Package Manager 安装,但如果它们早于项目版本,则它们将无法工作。

希望这可以帮助。