Si bien ASP.NET Core hasta 2.2 podría consumirse a través de NuGet para crear proyectos de biblioteca para controladores compartidos, middleware, etc., ¿cómo creo una biblioteca que pueda usar tipos de ASP.NET Core 3.0?
Si bien para los proyectos que contienen vistas hay una plantilla de "Biblioteca de clases Razor" ( razorclasslib ), ¿cómo puedo crear una biblioteca que solo contenga componentes lógicos?
Las aplicaciones creadas para .NET Core 3.0 pueden hacer referencia a uno o más marcos compartidos. ASP.NET Core es uno de estos marcos compartidos (otros serían el marco compartido básico de .NET Core y el marco compartido de escritorio de Windows que contiene WinForms y WPF).
Para hacer referencia a ASP.NET Core desde una biblioteca clásica de .NET Core dirigida a .NET Core 3.0 ( netcoreapp3.0 , no .NET Standard), puede usar FrameworkReference en csproj para hacer referencia al marco:
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>netcoreapp3.0</TargetFramework> </PropertyGroup> <ItemGroup> <FrameworkReference Include="Microsoft.AspNetCore.App" /> </ItemGroup> </Project>Cuando se abre en Visual Studio, esta referencia de marco adicional aparecerá en el nodo de dependencias en el explorador de soluciones:
