2016-07-15 8 views
6

Ich versuche, meine .NET-Core-Projekt in separate Bedenken mit Class Librairies zu teilen. Ich möchte eine (oder viele) Klassenbibliotheken und ein Host-Projekt. Klassenbibliotheken definieren die MVC-Controller und die Geschäftslogik, während das Host-Projekt für die Bereitstellung eines funktionierenden Hosts zuständig ist. Leider verweigert der Projektverweis zu arbeiten.Kann nicht referenzieren eine .NET-Core-Klassenbibliothek von Full.NET-Projekt

Lassen Sie mich Ihnen die Schritte geben, die ich unternommen habe, um zu diesem Problem zu gelangen.

  1. leer Lösung erstellen in Visual Studio 2015 Update 3
  2. Erstellen Sie ein Projekt vom Typ Class Library (.NET Core) namens ClassLibrary1
  3. Go in der project.json und ändern um es wie unten aussehen zu lassen.
  4. Erstellen Sie ein Projekt vom Typ Console Application (nicht .NET Core) ConsoleApplication1 namens
  5. Rechtsklick auf in Referenzen unter ConsoleApplication1 und ClassLibrary1 als Projektreferenz hinzufügen.
  6. Beziehen Sie sich auf einen Typ, der in ClassLibrary1 existiert.
  7. Erstellen Sie die Lösung.

Dies wird die ein Build-Fehler in der ConsoleApplication1 Projekt mit dem CS0246 Codefehler führen: The type or namespace name 'ClassLibrary1' could not be found (are you missing a using directive or an assembly reference?). Wenn ich anstelle des Verweises als Projekt Referenz gehe ich und browse zum bin Ordner und verweisen Sie die DLL direkt, baut alles ohne ein Problem. Dies ist jedoch keine Lösung, da sich das Build-Ziel ändern kann, so dass sich auch der Pfad ändert.

-Code des project.json:

{ 
    "version": "1.0.0-*", 

    "dependencies": { 

    }, 

    "frameworks": { 
    "net452": { 
    } 
    } 
} 

Ist das ein Fehler von Visual Studio, oder mache ich etwas falsch? Ich versuchte mit netstandard1.2, net452, aber das Ergebnis bleibt das gleiche.

BEARBEITEN Ich habe ein Problem im .NET CLI Github-Repository erstellt. Hier ist der Link: https://github.com/dotnet/cli/issues/3926.

+0

Haben Sie ClassLibrary1 als Ziel für den netstandard1.2 in seiner project.json festgelegt? – enzian

+0

das gleiche Problem mit dieser http://StackOverflow.com/Questions/38148128/How-Do--Reference-A-Net-Framework-Project-in-A-Net-Core-Project?rq=1? – kurakura88

+0

@enzian Ja, ich habe es ohne Erfolg versucht. – gretro

Antwort

1

Ich hatte ein ähnliches Problem mit Microsoft.NETCore 5.0.1 in einem PCL. Es hat nicht einmal System.Object gefunden.

Ich versuchte Downgrade auf 5.0.0 und das löste es für mich.

+0

Was ist Ihre Analyse des zugrunde liegenden Problems, und wie ist Ihr Vorschlag eine Lösung für dieses Problem? –

+0

Ich benutze die gleiche Bibliothek, und die aktuelle Version auf NuGet gibt mir Tonnen von ähnlichen Fehlern (XYZ konnte nicht gefunden werden). Es ist anscheinend kaputt. Downgrade hat es für mich gelöst. –

+0

Ich habe keine Ahnung, was diese Fehler verursacht (sie ergeben für mich keinen Sinn), wie ich sie gelöst habe. Sollte ich das nicht geteilt haben? Ich bin total verloren, was du von mir erwartest. EDIT: Sicher löschen Sie einfach, was Sie geschrieben haben. –