2016-08-07 32 views
1

ASP.NET Core (.NET Core) kann eine Klassenbibliothek (.NET Core) als Referenz hinzufügen, öffentliche Klassen oder Schnittstellen in der Klassenbibliothek konnten jedoch nicht aufgelöst werden.Klassenbibliothek kann nicht aufgelöst werden

Es gibt keine Fehlermeldungen beim Hinzufügen von Referenzen, beim Wiederherstellen von Paketen und beim Erstellen der Lösung, bis ich öffentliche Schnittstellen oder Klassen in der Klassenbibliothek verwenden möchte. Die Fehlermeldung lautet: "Kann das Symbol" IMessagesService "nicht auflösen.

Ich suchte in ähnlichen Fragen, es gab nur eine Lösung über das Ändern von netstandard1.5 zu 1.4 in Project.json in der Klassenbibliothek, aber es didn ‚t Arbeit. Sowohl das Hauptprojekt und die Klassenbibliothek ist im selben Ordner (src). und es ist nur ein global.json.

Global.Jason

{ 
    "projects": [ "src", "test" ], 
    "sdk": { 
    "version": "1.0.0-preview2-003121" 
    } 
} 

project.json in Klassenbibliothek

{ 
    "version": "1.0.0-*", 

    "dependencies": { 
    "NETStandard.Library": "1.6.0" 
    }, 

    "frameworks": { 
    "netstandard1.4": { 
     "imports": "dnxcore50" 
    } 
    } 
} 

project.json in Hauptprojekt (ASP.NET-Core)

{ 
    "dependencies": { 
    "Microsoft.NETCore.App": { 
     "version": "1.0.0", 
     "type": "platform" 
    }, 
    "Microsoft.AspNetCore.Diagnostics": "1.0.0", 
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0", 
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0", 
    "Microsoft.Extensions.Logging.Console": "1.0.0", 
    "Microsoft.AspNet.Mvc": "6.0.0-rc1-final", 
    "Microsoft.AspNetCore.StaticFiles": "1.0.0", 
    "CoreWebApplicationTestServices": "1.0.0-*" 
    }, 

    "tools": { 
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final" 
    }, 

    "frameworks": { 
    "netcoreapp1.0": { 
     "imports": [ 
     "dotnet5.6", 
     "portable-net45+win8" 
     ] 
    } 
    }, 

Referenz hinzugefügt ohne Fehler.

enter image description here

Aber es gibt Fehler, wenn ich die öffentliche Schnittstelle in der Klassenbibliothek enter image description here

verwenden möchten Was habe ich falsch gemacht? Oder vielleicht ist es ein Fehler! Vielen Dank ...

+1

Versuchen Sie, Reshaper zu deaktivieren, in der Vergangenheit war es bekannt, dass bestimmte Versionen von Resharper Probleme mit Intellisense/Runtime-Validierung verursachen. Zumindest vermute ich, dass Sie Resharper verwenden, da die Fehlermeldungen anders markiert sind als in Vanille. VS2015 – Tseng

+0

Ja, Sie haben Recht. Dies ist ein Problem mit Resharper. Nach dem Hinzufügen von services.AddTransient (); Zur ConfigureServices-Methode funktioniert die Anwendung ordnungsgemäß, jedoch mit einem Fehler von Resharper und nicht vom Compiler. Vielen Dank. –

Antwort

0

Try "Microsoft.AspNet.Mvc": "6.0.0-rc1-final"-"Microsoft.AspNetCore.Mvc": "1.0.0"

0

Von der Screenshots zu ändern scheint es Sie ReSharper verwenden. Aus der Vergangenheit ist bekannt, dass in bestimmten Versionen von ReSharper die Entwurfszeitvalidierung bei (ASP) .NET Core-Projekten nicht funktioniert, das Programm kompiliert jedoch keine Fehler.

Die Deaktivierung von ReSharper sollte das Problem beheben.

Die Verwendung einer neueren Version von ReSharper kann das Problem lösen, d. H. Die Version ReSharper 2016.2 EAP (Early Access Program), die in ReSharper Ultimate 2016.2 EAP kicks off erwähnt wird.

+0

Ja, wie ich im obigen Kommentar erwähnt habe, ist das Problem von Resharper und leider auf die neueste Version von Resharper aktualisiert löst das Problem für mich nicht. –