Мне нужна помощь в обновлении устаревших зависимостей в проекте веб-API ASP.NET Core 8

Я только что обновил проект веб-API ASP.NET Core с .NET 6 до .NET 8. Я хотел бы удалить все устаревшие зависимости, но у меня возникли некоторые проблемы.

Например, при обновлении Microsoft.Data.SqlClient с 3.1.0 до 5.2.0 я получаю следующую ошибку

Ошибка NU1605
Предупреждение как ошибка: обнаружено понижение версии пакета: System.Threading.Tasks с 4.3.0 до 4.0.11. Ссылка на пакет непосредственно из проекта, чтобы выбрать другую версию.
BD.Shared.DWA -> Microsoft.AspNetCore.Mvc.Core 2.2.5 -> Microsoft.Extensions.DependencyModel 2.1.0 -> Microsoft.DotNet.PlatformAbstractions 2.1.0 -> System.IO.FileSystem 4.0.1 -> время выполнения .win.System.IO.FileSystem 4.3.0 -> System.Threading.Tasks (>= 4.3.0)
BD.Shared.DWA -> Microsoft.AspNetCore.Mvc.Core 2.2.5 -> Microsoft.Extensions.DependencyModel 2.1.0 -> Microsoft.DotNet.PlatformAbstractions 2.1.0 -> System.IO.FileSystem 4.0.1 -> Система .Threading.Tasks (>= 4.0.11) BD.Shared.DWA D:\GIT\DWA\MAIN\BD.Shared.DWA\BD.Shared.DWA.csproj 1

Фактически, зависимость Microsoft.AspNetCore.Mvc.Core, которая также устарела, содержит зависимость от System.Threading.Tasks v4.0.11.

это файл проекта

<PropertyGroup Label = "Globals">
  <SccProjectName>SAK</SccProjectName>
  <SccProvider>SAK</SccProvider>
  <SccAuxPath>SAK</SccAuxPath>
  <SccLocalPath>SAK</SccLocalPath>
</PropertyGroup>

<PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
    <Platforms>AnyCPU;x64</Platforms>
    <RuntimeIdentifiers>win-x64</RuntimeIdentifiers>
    <PlatformTarget>AnyCPU</PlatformTarget>
    <ProduceReferenceAssembly>False</ProduceReferenceAssembly>
</PropertyGroup>

<ItemGroup>
    <PackageReference Include = "HtmlAgilityPack" Version = "1.11.36" />
    <PackageReference Include = "Microsoft.AspNetCore.Mvc.Abstractions" Version = "2.2.0" />
    <PackageReference Include = "Microsoft.AspNetCore.Mvc.Core" Version = "2.2.5" />
    <PackageReference Include = "Microsoft.AspNetCore.Mvc.Formatters.Json" Version = "2.2.0" />
    <PackageReference Include = "Microsoft.Data.SqlClient" Version = "3.1.0" />
    <PackageReference Include = "Microsoft.Extensions.Caching.Abstractions" Version = "6.0.0" />
    <PackageReference Include = "Microsoft.Extensions.Configuration.Binder" Version = "7.0.4" />
    <PackageReference Include = "MongoDB.Driver" Version = "2.15.0" />
    <PackageReference Include = "System.Diagnostics.PerformanceCounter" Version = "7.0.0" />
    <PackageReference Include = "System.Threading.Tasks" Version = "4.0.11" />
</ItemGroup>

<ItemGroup>
  <Folder Include = "Properties\PublishProfiles\" />
</ItemGroup>

<ItemGroup>
  <ProjectReference Include = "..\DWA.Logging\DWA.Logging.csproj" />
  <ProjectReference Include = "..\DWA.Product.Configuration\DWA.Product.Configuration.csproj" />
</ItemGroup>

<ItemGroup>
  <None Update = "BD.Shared.DWA.nlog">
    <CopyToOutputDirectory>Always</CopyToOutputDirectory>
  </None>
  <None Update = "Config\BD.Shared.DWA.Production.json">
    <CopyToOutputDirectory>Always</CopyToOutputDirectory>
  </None>
  <None Update = "Config\BD.Shared.DWA.Staging.json">
    <CopyToOutputDirectory>Always</CopyToOutputDirectory>
  </None>
  <None Update = "Config\BD.Shared.DWA.Development.json">
    <CopyToOutputDirectory>Always</CopyToOutputDirectory>
  </None>
  <None Update = "Config\BD.Shared.DWA.Local.json">
    <CopyToOutputDirectory>Always</CopyToOutputDirectory>
  </None>
</ItemGroup>

Есть ли способ обновить Microsoft.Data.SqlClient до 5.0.2?

Microsoft.AspNetCore.Mvc.Core устарела, но это не более новая версия, чем ее можно заменить?

Можете ли вы поделиться полным файлом csproj?

Guru Stron 28.03.2024 21:49
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
1
210
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

У вас явно установлен System.Threading.Tasks — удалите.

Также удалите все пакеты Microsoft.AspNetCore.*, поскольку они устарели — см. руководство Миграция с ASP.NET Core 2.2 на 3.0:

Большое количество пакетов NuGet не создается для ASP.NET Core 3.0. Такие ссылки на пакеты следует удалить из файла проекта.

Следовательно, эти пакеты больше не распространяются и поставляются вместе с самой платформой/средой выполнения.

Смотрите также:

  1. На какие пакеты Nuget должен ссылаться проект частей приложения ASP.NET Core 6
  2. FileExtensionContentTypeProvider в .NET 6+

привет, но удалив эти зависимости, я получил некоторые ошибки компиляции, например, класс TypeFilterAttribute больше не существует, мне нужно переписать код, используя другие классы, или я могу добавить какую-нибудь библиотеку вместо Microsoft.AspNetCore.*?

FDB 29.03.2024 09:54

@FDB Он существует — посмотрите сами в разделе «Применяется к» TypeFilterAttribute

Guru Stron 29.03.2024 09:56

@FDB Не могу с уверенностью утверждать это, но, судя по представленной информации, вы можете найти этот ответ полезным.

Guru Stron 29.03.2024 09:57

добавив Microsoft.AspNetCore.Http.Abstractions 2.2.0, он компилируется, теперь мне нужно проверить, есть ли какая-то среда выполнения, вы очень помогли.

FDB 29.03.2024 10:33

@FDB был рад помочь! Тем не менее не следует добавлять устаревшие пакеты (да это и не нужно). Если вам нужны материалы ASP.NET Core в библиотеке классов, добавьте FrameworkReference, как указано в ответе, указанном в предыдущем комментарии.

Guru Stron 29.03.2024 10:37

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