Referenzieren eines vollständigen Framework-Bibliotheksprojekts aus der MVC-Webanwendung (RC2) von ASP.NET Core?

8

Ich verwende derzeit ASP.NET Core MVC RC2, der die Referenzierung eines vollständigen Framework-Bibliotheksprojekts von einem Core MVC-Webanwendungsprojekt unterstützen soll. Aber ich kann es nicht funktionieren lassen.

Ich habe ein vorhandenes vollständiges Framework-Bibliotheksprojekt, das ich gerne mit einem neuen Core MVC-Webanwendungsprojekt verwenden möchte. Aber wenn ich versuche, einen Verweis auf das Projekt der Bibliothek hinzuzufügen, bekomme ich einen Fehler, der besagt, dass das Zielframework dafür mit dem Zielframework für die Webanwendung inkompatibel ist.

Um das Problem zu vereinfachen, habe ich eine neue Core MVC-Webanwendung und eine neue Windows-Codebibliothek erstellt und versucht, dem Projekt der Bibliothek einen Verweis aus dem Webanwendungsprojekt hinzuzufügen, und habe die gleiche Fehlermeldung erhalten. Ich habe auf Stack-Überlauf gesucht und ich fand diese Frage, die sehr relevant schien: Wie man die ASP.NET Core RC2 App auf net46 framework mit älteren Abhängigkeiten von Drittanbietern aufbauen kann , aber ich konnte die Informationen dort nicht verwenden löse mein Problem.

Hier sind die Schritte zum Reproduzieren des Problems:
Ich habe eine Lösung mit einem ".NET Core" - "ASP.NET Core Web Application" -Projekt basierend auf der Vorlage "Web Application" in Visual Studio 2015 erstellt.

Ich habe dann ein neues "Windows" - "Klassenbibliothek" -Projekt zur Lösung hinzugefügt.

An dieser Stelle sieht die Lösung folgendermaßen aus:

Wenn ich jetzt Visual Studio verwende, um einen Verweis von der Core MVC-Webanwendung auf die Full Framework-Bibliothek hinzuzufügen, erhalte ich einen Fehler, der besagt, dass "ExampleLib ein Zielframework hat, das mit den Zielen im aktuellen Projekt ExampleWebApplication nicht kompatibel ist. ":

Dieser Fehler scheint ziemlich selbsterklärend zu sein und scheint mir zu wünschen, dass ich das Framework ändere, auf das die Webanwendung abzielt, so dass es dasselbe ist wie die Bibliothek, was durchaus Sinn macht. Das Problem ist, dass ich keine Dokumentation darüber finden kann, wie dies zu tun ist, und intellisense ist nicht besonders hilfreich.

Ich vermute, dass ich eines der folgenden Teile der project.json -Datei für die Webanwendung ändern muss:

%Vor%

oder

%Vor%

Wie gebe ich .NETFramework Version 4.6 für die Core MVC-Webanwendung anstelle von .NETCoreApp an?

    
Ron C 23.05.2016, 18:34
quelle

2 Antworten

4

Es gibt eine Vorlage, mit der Sie auf das gesamte .NET-Framework abzielen können - leider kann ich noch kein Bild posten, aber Sie können gehen zu: Vorlagen - & gt; Visuelles C # - & gt; Web - & gt; ASP.NET-Kernwebanwendung (.NET Framework)

Beachten Sie, dass Sie die Version von .NET Framework aus dem Dropdown-Menü (wie üblich) angeben können.

Dies wird Ihre project.json zu:

ändern %Vor%

(abhängig von der von Ihnen ausgewählten Framework-Version). Sie können nun einen Verweis auf Ihre Klassenbibliothek hinzufügen.

%Vor%     
JC1001 25.05.2016, 13:49
quelle
1

Nach Ron Cs Schritten folgt hier das komplette Projekt .json für ein Web-API-Projekt, das ich gerade getestet habe und es hat funktioniert.

%Vor%     
GDB 25.08.2016 19:33
quelle