Saltar al contenido

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

Nuestros desarrolladores estrellas agotaron sus provisiones de café, en su búsqueda a tiempo completo por la solución, hasta que María halló la contestación en Bitbucket y en este momento la comparte aquí.

Solución:

Pregunta anterior, 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 dentro de un proyecto .NetCore2.

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

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

Vea la dependencia en la imagen a continuación, no hay advertencia amarilla como puede ver.

ingrese la descripción de la imagen aquí

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

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

.NET Core 2.0 puede hacer referencia libremente a 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 API que no están disponibles en .NET Core.

Referencia: Aplicación .NET Core objetivo .NET Framework 4.5.2 en Linux

Necesidad de usar 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 NuGet usen 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 de .NET Standard mediante Visual Studio 2017 15.3. Esta característica lo ayuda a migrar el código de .NET Framework a .NET Standard o .NET Core con el tiempo (comience con archivos binarios y luego pase a la fuente). También es útil en el caso de que ya no se pueda acceder al código fuente o se pierda para una biblioteca de .NET Framework, lo que permite que se siga utilizando en nuevos escenarios.

Referencia: Anuncio de .NET Core 2.0

Sí, actualmente estamos intentando lo mismo. El truco es asegurarse de que está admitiendo los mismos marcos .NET. dentro de tu proyecto.json archivo, 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"
        
      
    
  ,

FYI: es posible que deba 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 proyectos .NET haciendo clic derecho en el proyecto y abriendo propiedades. Cambie el nivel del marco allí.

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

Si posees algún recelo y disposición de progresar nuestro tutorial eres capaz de realizar una crítica y con deseo lo leeremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *