Ошибка сборки ASP.NET Core - «... текущие настройки, вместо этого будет использоваться версия 2.1.0-preview3-26411-06»

Я создал образец проекта с использованием dotnet, но при создании проекта получаю следующую ошибку:

error : The project was restored using Microsoft.NETCore.App version 2.1.0-rc1, but with current settings, version 2.1.0-preview3-26411-06 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.

В чем проблема? Я использую сборку Visual Studio 2017 15.7.0.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
12
0
5 961
10

Ответы 10

Я установил .NET SDK 2.2.0 и обнаружил, что это неправильная версия, а правильная версия была переименована в 2.1.300 для синхронизации с приложением .NET Core, последняя версия которого - 2.1.0. Я установил 2.1.300, и все работает правильно.

В моем случае в файле .csproj я изменил

<ItemGroup>
    <PackageReference Update = "Microsoft.NETCore.App" Version = "2.0.5" />
</ItemGroup>

к:

<ItemGroup>
    <PackageReference Update = "Microsoft.NETCore.App" Version = "2.1.0" />
</ItemGroup>

И это сработало.

Тот факт, что у вас установлен последний SDK, не означает, что у вас установлена ​​последняя версия среды выполнения. Я никогда этого не пойму.

Запустите dotnet --info.

Получил следующее (здесь показаны только последние установленные версии).

 .NET Core SDKs installed:
   2.1.300 [C:\Program Files\dotnet\sdk]

 .NET Core runtimes installed:d\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  • Итак, я установил 2.1.1 время выполнения, и теперь dotnet --info также дает мне 2.1.1.

  • Да, и 2.1.3 на самом деле это 2.1.1, но им пришлось увеличить его по какой-то причине, о которой я не совсем понимаю или не волнуюсь.

  • Я перезапустил Visual Studio, потому что он никогда не мог синхронизировать версии

  • Я добавил следующее в PropertyGroup в моем файле .csproj (выгрузить проект + редактировать)

    netcoreapp2.1 2.1.1

Теперь я подумал, что нам больше не нужно указывать это this, и этот файл .csproj был создан совершенно новым сегодня, и у него вообще не было версии времени выполнения. Что бы мы ни делали, у меня это сработало. Я также нашел этот массивная нить о версиях с 2.1.1, который я бегло рассмотрел, но, похоже, сейчас есть сложности с точечными выпусками, поэтому, возможно, эта конкретная версия необходима.


Я оказался здесь из-за этой ошибки:

error : The project was restored using Microsoft.NETCore.App version 2.1.1, 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.

Добавление RuntimeFrameworkVersion было конкретным исправлением, которое сработало.

К сожалению, для этого сообщения об ошибке нет связанной статьи, которая была бы полезна.

Использовать:

<Project Sdk = "Microsoft.NET.Sdk.Web">

    <PropertyGroup>
        <TargetFramework>netcoreapp2.1</TargetFramework>
        <UserSecretsId>aspnet-...............245435</UserSecretsId>
        <RuntimeIdentifiers>win10-x64</RuntimeIdentifiers>
        <RuntimeIdentifier>win10-x64</RuntimeIdentifier>
    </PropertyGroup>

    <ItemGroup>
        <PackageReference Include = "Microsoft.AspNetCore.App" />
        <PackageReference Include = "Microsoft.VisualStudio.Web.CodeGeneration.Design" Version = "2.1.1" PrivateAssets = "All" />
    </ItemGroup>
    <ItemGroup>
        <PackageReference Update = "Microsoft.NETCore.App" Version = "2.1.1" />
    </ItemGroup>
</Project>

Объяснение было бы в порядке.

Peter Mortensen 12.01.2021 19:47

В моем случае проблема была решена путем обеспечения двух проектов, один из которых зависел от другого.

Один проект имел RuntimeIdentifier, указанный в файле .csproj, а другой - нет. Как только я убедился, что у обоих есть соответствующие идентификаторы RuntimeIdentifiers, проблема была устранена.

Кажется, Visual Studio использует разные версии .NET Core для восстановления / сборки / публикации.

Чтобы решить эту проблему, вы можете добавить атрибут TargetLatestRuntimePatch в файл .csproj:

<PropertyGroup>
   <TargetFramework>netcoreapp2.0</TargetFramework>
   <TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
</PropertyGroup>

Подробнее см. эта страница.

У меня было аналогичное сообщение об ошибке:

The project was restored using Microsoft.NETCore.App version 2.0.7, but with current settings, version 2.0.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

Я добавил параметр RuntimeFrameworkVersion в файл .csproj, и это устранило для меня проблему:

<PropertyGroup>
   <TargetFramework>netcoreapp2.0</TargetFramework>
   <RuntimeFrameworkVersion>2.0.7</RuntimeFrameworkVersion><!--here is the fix-->
</PropertyGroup>

<ItemGroup>
   <PackageReference Update = "Microsoft.NETCore.App" Version = "2.0.7" />
</ItemGroup>

если это не решит вашу проблему, отметьте этот вопрос / ответ: stackoverflow.com/questions/52518059/…

Joshit 26.09.2018 15:01

Конкретная ошибка, которую я получал, была

error : NETSDK1061: The project was restored using Microsoft.NETCore.App version 2.0.5, but with current settings, version 2.1.1 would be used instead.

я имел

<ItemGroup>
    <PackageReference Update = "Microsoft.NETCore.App" Version = "2.0.5" />
</ItemGroup>```

дальше по файлу. Как только я удалил это и сделал clean, проект был успешно построен.

У меня есть какое-то другое решение, работающее на ASP.NET 2.1, так как у меня были проблемы как с процессами сборки, так и с публикацией:

<Project Sdk = "Microsoft.NET.Sdk">
    <PropertyGroup>
        <TargetFramework>netcoreapp2.1</TargetFramework>
        <RuntimeFrameworkVersion>2.1.0</RuntimeFrameworkVersion> --> fix publishing issues
        <PlatformTarget>AnyCPU</PlatformTarget> --> fix publishing issues
    </PropertyGroup>
    <ItemGroup>
        <PackageReference Update = "Microsoft.NETCore.App" Version = "2.1.0" /> --> fix building issues
        <ProjectReference Include = "..\PublicSonar.Monitor.Persistent.Json\PublicSonar.Monitor.Persistent.Json.csproj" />
    </ItemGroup>
</Project>

Я испытал то же самое:

The project was restored using Microsoft.NETCore.App version 2.1.2, but with current settings, version 2.1.0 would be used instead.

Удаление явно установленного --self-contained false из команды dotnet publish, похоже, помогло нам. По умолчанию он такой же, поэтому я понятия не имею, почему это имеет значение.

Это было с SDK версии 2.1.400.

Другие вопросы по теме