visual una studio paso paginas pagina net ejemplos crear como asp aplicaciones aplicacion c# .net asp.net-core .net-core

c# - una - crear pagina web asp.net paso a paso



¿Cómo hago referencia a un proyecto de.NET Framework en un proyecto de.NET Core? (2)

Realmente me gustaría comenzar a usar .NET Core y migrar lentamente las aplicaciones y bibliotecas a él. Sin embargo, no puedo actualizar de forma realista todo mi código base para usar .NET Core y luego pasar por el proceso de prueba e implementación de una gran cantidad de aplicaciones en producción.

Como ejemplo, si creo una nueva aplicación .NET Core y trato de hacer referencia a uno de mis proyectos de .NET Framework, obtengo lo siguiente:

Los siguientes proyectos no se admiten como referencias: - Foobar.NetFramework tiene marcos de destino que son incompatibles con los objetivos del proyecto actual Foobar.NetCore.

Foobar.NetCore: .NETCoreApp, Version = v1.0

Foobar.NetFramework: .NETFramework, Version = v4.5

¿Es posible crear una nueva aplicación .NET Core y hacer referencia a mis bibliotecas existentes de .NET Framework? Si es así, ¿cuál es el proceso para hacer eso? He pasado horas revisando la documentación de Microsoft y buscando sus problemas en GitHub, pero no puedo encontrar nada oficial sobre cómo lograr esto o cuál es su visión a largo plazo para este proceso.


Sí, actualmente estamos intentando lo mismo. El truco es asegurarse de que está soportando los mismos marcos .NET. Dentro de su archivo project.json , asegúrese de que el marco coincida con el marco del proyecto que desea incluir. Por ejemplo:

"frameworks": { "net46": { --This line here <<<< "dependencies": { "DomainModel": { "target": "project" }, "Models": { "target": "project" } } } },

Para su información: Es posible que necesite cambiar el marco de su .NET Core o sus proyectos anteriores para lograr esto. .NET Core se puede cambiar simplemente editando el archivo project.json como se ve arriba. Puede hacer lo mismo en los proyectos .NET haciendo clic derecho en el proyecto y abriendo las propiedades. Cambiar el nivel de marco allí.

Una vez que haya emparejado los dos marcos del proyecto, entonces debería poder incluirlos. ¡Buena suerte!


Pregunta antigua, pero con el lanzamiento de .NetStandard 2.0 y .netcore 2.0 y vs2017.3, el juego ha cambiado.

Puede usar Full .NET Framework (TFM) con .NetCore 2.0, pero ¿cómo?

  1. En Visual Studio 2017.3, puede hacer referencia a Full .NET Framework (cualquier versión) directamente desde un proyecto .NetCore2.

  2. Puede crear la biblioteca de clases .NetStandard2 y hacer referencia a su TFM. Luego haga referencia a su biblioteca .NetStandard2 de su proyecto .NetCore2.

Por ejemplo, haciendo referencia a json.net net45 de .NetStandard2. Busque la carpeta y seleccione la versión net45 (no netstandard1.3)

Vea la dependencia en la imagen de abajo, sin advertencia amarilla como ve.

  1. Incluso si una biblioteca Nuget no está lista para ser portada a .Netstandard 2, puede usar cualquier API en la biblioteca que sea compatible con net461.

Cotizando para el anuncio de .NET Core 2 / Standard 2.0 con enlaces:

.NET Core 2.0 puede hacer referencia libremente a las bibliotecas que se han creado para .NET Framework hasta la versión 4.6.1

Sin embargo, algunas bibliotecas pueden fallar en tiempo de ejecución si intentan usar métodos de API que no están disponibles en .NET Core

Referencia: .NET Core App target .NET framework 4.5.2 en Linux

La necesidad de utilizar bibliotecas .NET de terceros o paquetes NuGet no disponibles para .NET Core

Por lo tanto, solo en los casos en que las bibliotecas o los paquetes de NuGet utilizan tecnologías que no están disponibles en .NET Standard / .NET Core, debe usar .NET Framework.

Referencia: Elegir entre .NET Core y .NET Framework para aplicaciones de servidor

Ahora puede hacer referencia a las bibliotecas de .NET Framework desde las bibliotecas estándar de .NET con Visual Studio 2017 15.3. Esta característica lo ayuda a migrar el código de .NET Framework a .NET Standard o .NET Core a lo largo del tiempo (comience con los binarios y luego muévase a la fuente). También es útil en el caso de que el código fuente ya no sea accesible o se pierda para una biblioteca de .NET Framework, lo que permite que se siga utilizando en nuevos escenarios.

Referencia: Anunciando .NET Core 2.0