Проект был восстановлен с использованием Microsoft.NETCore.App версии 2.1.0, но с текущими настройками вместо него будет использоваться версия 2.1.0-rtm-26515-03 - программирование
Подтвердить что ты не робот

Проект был восстановлен с использованием Microsoft.NETCore.App версии 2.1.0, но с текущими настройками вместо него будет использоваться версия 2.1.0-rtm-26515-03

на данный момент у меня есть микросервис, сделанный в С# с web api и net core 2.0

В пакетах Nutget я уже нашел версию 2.1 сетевого ядра и решил установить ее, чтобы обновить свое приложение. Я изменил цель, как показано ниже

enter image description here

Но когда я пытаюсь скомпилировать это генерирует эту ошибку

enter image description here

Проект был восстановлен с использованием Microsoft.NETCore.App версии 2.1.0, но с текущими настройками вместо этого будет использоваться версия 2.1.0-rtm-26515-03. Чтобы решить эту проблему, убедитесь, что одни и те же настройки используются для восстановления и для последующих операций, таких как сборка или публикация. Обычно эта проблема может возникать, если свойство RuntimeIdentifier установлено во время сборки или публикации, но не во время восстановления.

И мои зависимости остались такими

enter image description here

4b9b3361

Ответ 1

Проект был восстановлен с использованием Microsoft.NETCore.App версии 2.1.0, но с текущими настройками вместо него будет использоваться версия 2.1.0-rtm-26515-03

Это известная проблема в данный момент. Чтобы устранить эту проблему, вы можете попробовать следующие обходные пути:

  • Добавить TargetLatestRuntimePatch атрибут в .csproj файле:

    <PropertyGroup>
      <TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
    </PropertyGroup>
    

Или же

  • установите RuntimeFrameworkVersion и RuntimeIdentifier в файл .csproj:

     <PropertyGroup>
       <RuntimeFrameworkVersion>2.1.1</RuntimeFrameworkVersion>
       <PlatformTarget>AnyCPU</PlatformTarget>
       <RuntimeIdentifier>win-x64</RuntimeIdentifier>
     </PropertyGroup>
    

Если вышеописанное решение не работает для вас, проверьте дополнительные обходные пути по проблеме расследования.

Дополнительную информацию см. В автономном режиме выполнения развертывания развертывания.

Ответ 2

Я хотел опубликовать консольное приложение ASP.NET Core 2.1 и получил ошибки о столкновении версий 2.1.0 и 2.1.6.

Поскольку в моем решении было много проектов (а VS не давал подсказок, какие проекты были проблематичными, я создал файл Directory.Build.props со следующим содержимым и поместил его в каталог, где находился мой файл .sln

<Project>
  <PropertyGroup>
    <TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
    <GenerateFullPaths>true</GenerateFullPaths>
    <LangVersion>latest</LangVersion>
  </PropertyGroup>
</Project>

Важной вещью здесь является запись <TargetLatestRuntimePatch>.

Таким образом, все проекты используют одинаковые настройки, и мне не нужно было синхронизировать их вручную.

Документ Directory.Build.props находится здесь https://docs.microsoft.com/en-us/visualstudio/msbuild/customize-your-build?view=vs-2017.

Ответ 3

Как упомянуто @Leo Liu-MSFT, мне пришлось установить RuntimeFrameworkVersion и RuntimeIdentifier в файле .csproj:

 <PropertyGroup>
   <RuntimeFrameworkVersion>2.1.1</RuntimeFrameworkVersion>
   <PlatformTarget>AnyCPU</PlatformTarget>
   <RuntimeIdentifier>win-x64</RuntimeIdentifier>
 </PropertyGroup>

Но главное, мне пришлось восстанавливать пакеты для решения.

Ответ 4

Я решил проблему следующим образом:

Сначала добавьте следующий код в файл .csproj

<PropertyGroup>
   <RuntimeFrameworkVersion>2.1.1</RuntimeFrameworkVersion>
   <PlatformTarget>AnyCPU</PlatformTarget>
   <RuntimeIdentifier>win-x64</RuntimeIdentifier>
</PropertyGroup>

Далее проверьте версию Microsoft.AspNetCore.App 2.1.1. Если нет, пожалуйста, установите эту версию.

Наконец, восстановите ваш пакет с версией 2.1.1. Для восстановления запустите следующий код из консоли диспетчера пакетов

Install-Package Microsoft.NETCore.App -Version 2.1.1