Как избавиться от устаревшего пакета Microsoft.AspNetCore.Authentication.Abstractions

Microsoft.AspNetCore.Authentication.Abstractions сам по себе устарел и теперь является частью Microsoft.AspNetCore.App.Ref пакета. Но этот пакет является внутренней реализацией .NET Core SDK и не предназначен для использования в качестве обычного PackageReference . Хорошо, но я хочу использовать интерфейсы IClaimsTransformation и IHttpContextAccessor, например, в библиотеке, а не в реальном приложении. Изменение ссылки SDK библиотечного проекта с Microsoft.NET.Sdk на Microsoft.NET.Sdk.Web приводит к появлению других проблем, поскольку это предназначено для запускаемого приложения.

Итак, как мне создать библиотеку, которая сможет использовать эти типы? Какой пакет мне следует добавить или на какой SDK мне следует перейти?

Обновлять

@yehor-androsov указал мне на FrameworkReference. Это тот самый. Более подробная информация: https://learn.microsoft.com/en-us/aspnet/core/fundamentals/target-aspnetcore?view=aspnetcore-8.0&tabs=visual-studio

<FrameworkReference Include = "Microsoft.AspNetCore.App" /> ?

Yehor Androsov 10.07.2024 17:06

Да, это решает проблему! Спасибо. Такой шаблон должен существовать... было бы проще.

ZorgoZ 10.07.2024 17:10

@YehorAndrosov, пожалуйста, продвигайте комментарий к ответу. Спасибо

JosephDoggie 10.07.2024 17:20

Второй дубликат немного объясняет, когда и почему это произошло.

Guru Stron 11.07.2024 12:32
Стоит ли изучать 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
4
51
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Раньше я конвертировал проект своей библиотеки в консольное приложение с помощью пустого основного метода Program.cs, поскольку для Web SDK требуется, чтобы проект был исполняемым, но вместо этого в вашу библиотеку можно включить ссылку на Framework.

<FrameworkReference Include = "Microsoft.AspNetCore.App" />

Отличное объяснение того, какая ссылка на Framework находится здесь:

Что на самом деле делает <FrameworkReference Include="Microsoft.AspNetCore.App" /> в .NET Core 3+?

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