2017-01-30 6 views
4

Ich habe zwei Projekte: ein Projekt ist auf .NET Core und das andere ist auf normalen .NET Framework 4.5.2 gebaut.Verwenden von .NET Core-Bibliothek in .NET 4.5.2 Konsolenanwendung

Ich möchte wissen, wie ich meine .NET Core Cass-Bibliothek in meiner .NET-Konsolenanwendung verwenden kann.

Hier ist meine project.json:

{ 
    "version": "1.0.0-*", 

    "dependencies": { 
    "NETStandard.Library": "1.6.0", 
    "NLog.Web.AspNetCore": "4.3.0", 
    "System.Xml.XmlSerializer": "4.0.11" 
    }, 

    "frameworks": { 
    "netstandard1.6": { 
     "imports": "dnxcore50" 
    }, 
    "net452": {} 
    } 
} 

Ich habe versucht, das Projekt als normale Hinweis enthalten. Nach dem erneuten Erstellen der Lösung ruft die Konsolenanwendung die .NET Core-Bibliothek jedoch nicht als Referenz ab.

+0

Verwenden Sie Visual Studio 2017 und versuchen Sie es erneut. –

Antwort

2

Visual Studio 2017 kann dies nativ tun; Visual Studio 2015 kann nicht (ab Update 3). Viele dieser Werkzeugfehler und -probleme werden mit der stabilen Version der .NET Core-Werkzeuge, die mit VS 2017 erwartet wird, behoben und finalisiert.

Es gibt zwei Problemumgehungen, die Sie heute verwenden können, wenn Sie noch VS 2015 verwenden:

  • Verwenden dotnet pack ein NuGet Paket für die Klassenbibliothek zu erzeugen. Da Sie in Ihrer project.json auf net452 zielen, wird es mit einem .NET Framework 4.5.2-Projekt kompatibel sein. Sie können es auf einem local feed hosten und in Ihrem Konsolenanwendungsprojekt installieren.

  • Verweisen Sie manuell auf die DLL, die beim Kompilieren der Bibliothek erzeugt wird. Es sollte bei sein. Dies ist keine gute Lösung, weil es spröde ist und leicht brechen kann.

+0

Danke Nate, das hat bei mir funktioniert. – ThatAwesomeCoder

Verwandte Themen