vistas vista una sintaxis que parciales parcial mvc asp.net-core uwp project.json

asp.net core - vista - Referencia a una biblioteca de clases de UWP y ASP.NET 5



sintaxis razor mvc 5 (2)

Intento crear una biblioteca de clases que contenga objetos comunes (principalmente DTO) de una WebAPI (utilizando ASP.NET 5) y una aplicación UWP que consuma. Sin embargo, todavía no he descubierto cómo crear la biblioteca de clases de manera que pueda ser referenciada desde otros proyectos.

Lo que he intentado hasta ahora:
Primero, probé una biblioteca de clases (paquete) , que se puede encontrar en la Web . Se puede hacer referencia a este tipo de biblioteca desde el proyecto ASP.NET sin problemas, pero cuando trato de hacer referencia al proyecto UWP, aparece el siguiente mensaje:

A reference to ''ClassLibrary1'' could not be added.

Luego, probé una Class Library (Windows Universal) , que se puede encontrar en Windows> Universal . Esto puede ser fácilmente referencias del proyecto UWP, pero cuando intento hacer referencia a él desde ASP.NET, obtengo:

The following projects are not supported as references : - The project ClassLibrary2 has a target framework that is incompatible or has version higher than the current project and cannot be referenced.

Entonces: ¿Cómo puedo crear una biblioteca de clases que se pueda usar tanto en un proyecto ASP.NET 5 como en un proyecto UWP?


Lo que necesita es una Biblioteca de clases portátil (en Windows).

Dado que solo está orientando ASP.NET 5 y Windows 10, puede limitar las plataformas a estas dos solamente, pero no hay ningún "error" en admitir más plataformas (aunque puede limitar la cantidad de API compartida disponible).


La .Net Standard class library debe considerarse como un sucesor de la biblioteca de clases portátil. Ambos apuntan a facilitar el uso compartido de código (en este caso, objetos modelo / DTO) entre diferentes plataformas .Net.

En Visual Studio 2017, ahora puede elegir una plantilla de biblioteca de clase .Net Standard. Esta biblioteca de clases puede apostar establecido para apuntar a diferentes versiones del estándar .Net. La versión del estándar .Net que debe orientar dependerá de las plataformas .Net en las que desee compartir el código.

Para esta pregunta en particular, deseamos apoyar una aplicación Universal Windows Platform (UWP) y la aplicación Asp.Net Core. Por lo tanto, deberíamos consultar esta tabla de compatibilidad para determinar la versión del estándar .Net que admitirá ambas plataformas. En este caso, sería .Net Standard 1.4 . Una vez que haya configurado la biblioteca de clases para que se dirija a .Net Standard 1.4, puede agregar referencias a la biblioteca de clases desde sus proyectos centrales de UWP y Asp.Net.

Para comprender mejor qué es el estándar .Net y cómo facilita el uso compartido de código, le sugiero que revise lo siguiente:

  1. Presentando el estándar .NET
  2. Video Series en .NET Standard (esto es particularmente bueno)
  3. Preguntas frecuentes sobre el estándar .Net