Не удается обновить мое решение с v2.1.0 до v2.1.3 - PullRequest
0 голосов
/ 24 августа 2018

Я работаю над приложением .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]

Я использую VS2017 Community Edition v15.8.1

Когда я пытаюсь выполнить обновление с помощью Manage NuGet for solution .., я получаю сообщение Blocked by projectи не могу выбрать более новые версии.

Я прочитал, используя

Install-Package Microsoft.NETCore.App -Version 2.1.3

в 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.

Я прочитал страницу, к которой она ссылается, но не понимаю, что мне нужно, чтобы это исправить.

Я тоже не понимаюне понимаю, почему это так сложно.Я не обновляюсь с v2 до v3, я даже не обновляюсь с v2.1 до v2.2 Я просто пытаюсь перейти с v2.1.0 до v2.1.3.

Любая помощь будетвысоко ценится.

1 Ответ

0 голосов
/ 29 августа 2018

Что вам нужно сделать, это явно сообщить 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>

Некоторые пакеты, такие как Microsoft.NETCore.App, могут быть установлены через диспетчер пакетов Nuget, но если они опережают версию проекта, они не будут работать.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...