Estoy tratando de averiguar qué tiene que ver un proyecto de "Biblioteca de clases ASP.NET 5" (vNext) C # con ASP.NET. ¿Por qué crear un proyecto con esta plantilla en lugar de un proyecto normal de "Biblioteca de clases" de C #?
Me gustan las nuevas características, como el archivo project.json en lugar del archivo .csproj, etc., pero no parece correcto crear una biblioteca de clases "ASP.NET" cuando el proyecto no tiene nada que ver con ASP.NET o IIS, etc. Es solo un proyecto para la capa de lógica empresarial. Un nuevo sitio web WebApi ASP.NET eventualmente hará referencia a este proyecto, pero eso no es relevante en este momento.
¿Tiene mal nombre? ¿Debería llamarse simplemente "Biblioteca de clases vNext" y no usar un icono que parezca una aplicación web?
Respuestas:
¿Por qué crear un proyecto de biblioteca de clases ASP.NET 5?
Hay una serie de beneficios de los proyectos de biblioteca de clases de ASP.NET 5 ( .kproj) sobre los proyectos de biblioteca de clases ( .csproj):
aspnet50
,aspnetcore50
,net45
, y varias otras variaciones de bibliotecas de clases portátil. Esto incluye un amplio soporte de Visual Studio para Intellisense para notificarle qué API están disponibles para qué destinos.Puede hacer referencia a un proyecto * .csproj desde un proyecto * .kproj (esto se hizo mucho más fácil con la nueva vista previa de Visual Studio 2015), pero siempre fue posible con algunos pasos manuales.
¿Por qué el nombre tiene "ASP.NET" en él?
En lo que respecta a los nombres, es una reliquia de la historia que pronto se abordará. El nuevo tipo de proyecto es útil mucho más allá de las aplicaciones ASP.NET 5. Espere ver nuevos nombres en una vista previa futura de Visual Studio:
Actualización 13/05/2015
Con el lanzamiento de Visual Studio 2015 RC , puede ver los nombres de las plantillas de proyectos actualizados:
Estos usan el
project.json
archivo y el entorno de ejecución .NET (DNX) para compilar, ejecutar y empaquetar (en un paquete NuGet) el proyecto.Estas plantillas de proyecto continúan apareciendo en el cuadro de diálogo Nuevo proyecto en el nodo "Web", pero ahora también aparecen en el nodo principal "Visual C #".
fuente
Esta es una observación interesante, la plantilla actual generará una biblioteca de clases compatible con el tiempo de ejecución de ASP.NET 5. No obtienes eso de la biblioteca de clases C # normal.
Presenté el siguiente problema para rastrear esta pregunta de diseño: https://github.com/aspnet/Home/issues/281
fuente
Por lo que entiendo, un beneficio es que el producto final del proyecto de biblioteca de clases ASP.NET 5 es un paquete NuGet (en lugar de solo el ensamblado .dll).
Puede generar el paquete NuGet haciendo clic derecho en el proyecto en Visual Studio 2015 y eligiendo la opción "Publicar ...". O puede usar "paquete KPM" en la línea de comando.
Además, tiene la capacidad de usar el tiempo de ejecución de ASP.NET 5 Core para que su biblioteca pueda ejecutarse en varias plataformas.
fuente