У меня есть проект, который отлично работал в ASP. NET Core 2.2, и при переходе на 3.1 все становится запутанным, и я немного не понимаю, как добавить пакет, который мне нужен для решения проблем .
У меня есть стек из. NET базовых библиотек классов, которые настраивают шаблон запроса / команды базы данных CQRS, а затем xxxxx.Web
библиотеку классов, которая имеет:
public class BaseController : ControllerBase
{
protected readonly IProcessCommands _commands;
protected readonly IProcessQueries _queries;
public BaseController(IProcessQueries queries, IProcessCommands commands)
{
_queries = queries;
_commands = commands;
}
}
Намерение заключается в том, что контроллеры в проектах WebAPI или MVC смогут использовать это в качестве основы для всех контроллеров, которые будут вызывать через мой стек CQRS.
Я заметил, что мой проект API-интерфейса в файле .csproj
использовал
<Project Sdk="Microsoft.NET.Sdk.Web">
, поэтому я использовал его в своем проекте библиотеки, и все мои проблемы с компиляцией исчезли, поскольку это заставляет Microsoft.AspNetCore.App
зависимости фреймворка должны быть включены.
Проблема в том, что затем проект сам по себе становится веб-сайтом и нуждается в Program.cs, который здесь работать не будет. Поэтому я снова переключился на
<Project Sdk="Microsoft.NET.Sdk">
и попытался добавить Microsoft.AspNetCore.App
с помощью NuGet, но он просто не добавил пакет. Я пробовал Microsoft.AspNetCore.App.Ref
, и, похоже, это то, на что шаблон Microsoft.NET.Sdk.Web
на самом деле ссылается под капотом, но он по-прежнему не ссылается на него.
Кто-нибудь знает, как это сделать?