Dies ist das erste Mal experimentieren mit EF Core, ASP Net Core und Portable Class Libraries mit VS2015. Gut zu sagen, dass ich frustriert bin.Der Versuch, EF Core mit Portable Class Library-Targeting zu installieren. Net 4.6.1
Ich möchte eine Bibliothek erstellen, wo ich EntityFramework.Core installieren kann. Diese Bibliothek muss in einer WPF-Anwendung und einer ASP NET Core-Webanwendung verwendet werden. Mein Gedanke war, eine Portable Class Library zu erstellen.
die Projektvorlage verwenden, wo ich .NET 4.6 und ASP Net Kernziel ...
ich ein Projekt mit einer Klasse und eine project.json Datei wie folgt:
{
"supports": {
"net46.app": {},
"dnxcore50.app": {}
},
"dependencies": {
"Microsoft.NETCore": "5.0.0",
"Microsoft.NETCore.Portable.Compatibility": "1.0.0"
},
"frameworks": {
"dotnet": {
"imports": "portable-net452"
}
}
}
wenn ich jetzt EntityFramework.Core Paket von nuget installieren ...
... Ich erhalte die folgende Ausgabe:
Restoring packages for 'Acme.PCLEFClassLib'.
Restoring packages for K:\TFS\TestApps\Projects\DotNetCore\Acme.PCL1\Acme.PCL1\project.json...
Detected package downgrade: System.Reflection from 4.1.0-beta-23225 to 4.0.10
Acme.PCLEFClassLib (>= 1.0.0) -> EntityFramework.Core (>= 7.0.0-rc1-final) -> Microsoft.Extensions.DependencyInjection.Abstractions (>= 1.0.0-rc1-final) -> System.Reflection (>= 4.1.0-beta-23225)
Acme.PCLEFClassLib (>= 1.0.0) -> EntityFramework.Core (>= 7.0.0-rc1-final) -> System.Reflection (>= 4.0.10)
Detected package downgrade: System.Reflection from 4.1.0-beta-23225 to 4.0.10
Acme.PCLEFClassLib (>= 1.0.0) -> EntityFramework.Core (>= 7.0.0-rc1-final) -> Microsoft.Extensions.Logging.Abstractions (>= 1.0.0-rc1-final) -> System.Reflection (>= 4.1.0-beta-23225)
Acme.PCLEFClassLib (>= 1.0.0) -> EntityFramework.Core (>= 7.0.0-rc1-final) -> System.Reflection (>= 4.0.10)
Version conflict detected for System.Collections.
Acme.PCLEFClassLib (>= 1.0.0) -> EntityFramework.Core (>= 7.0.0-rc1-final) -> System.Collections (>= 4.0.11-beta-23516)
Acme.PCLEFClassLib (>= 1.0.0) -> Microsoft.NETCore.Portable.Compatibility (>= 1.0.0) -> Microsoft.NETCore.Runtime (>= 1.0.0) -> Microsoft.NETCore.Runtime.CoreCLR-x86 (>= 1.0.0) -> System.Collections (= 4.0.10).
EntityFramework.Core 7.0.0-rc1-final is not compatible with .NETPlatform,Version=v5.0.
Some packages are not compatible with .NETPlatform,Version=v5.0.
Ix-Async 1.2.5 is not compatible with DNXCore,Version=v5.0.
Remotion.Linq 2.0.1 is not compatible with DNXCore,Version=v5.0.
Some packages are not compatible with DNXCore,Version=v5.0.
Ix-Async 1.2.5 is not compatible with DNXCore,Version=v5.0 (win7-x86).
Remotion.Linq 2.0.1 is not compatible with DNXCore,Version=v5.0 (win7-x86).
Some packages are not compatible with DNXCore,Version=v5.0 (win7-x86).
Ix-Async 1.2.5 is not compatible with DNXCore,Version=v5.0 (win7-x64).
Remotion.Linq 2.0.1 is not compatible with DNXCore,Version=v5.0 (win7-x64).
Some packages are not compatible with DNXCore,Version=v5.0 (win7-x64).
Package restore failed for 'Acme.PCLEFClassLib'.
Package restore failed. Rolling back package changes for 'Acme.PCLEFClassLib'.
========== Finished ==========
Ist es tatsächlich möglich, EF-Core in einer Portable Klassenbibliothek installiert werden? Wenn ja, wie - was muss ich mit dem Projekt machen?
Ich fühle mich einfach ich bin im Kreis auf der Suche nach Lösungen online.
UPDATE 1
Versuchte EntityFramework.MicrosoftSqlServer in meinem PCL installieren.
Vorausgesetzt, dass EntityFramework.MicrosoftSqlServer beim Erstellen eines Standard-ASP Net Core-Projekts installiert ist, das das dnxcore50-Framework verwendet. Wie kommt es, wenn ich in der PCL ähnlich tun, ist beklagt, dass:
EntityFramework.MicrosoftSqlServer 7.0.0-rc1-final is not compatible with .NETPlatform,Version=v5.0.
Wenn das der Fall ist, dann wie kommt es in ein ASP-NET Core-Projekt installiert.
UPDATE 2
habe ich eine neue PCL .NET 4.5.1 Targeting. Ich habe dann EntityFramework.MicrosoftSqlServer 7.0.0-rc1-final über Nuget installiert und es installiert kein Problem. Obwohl ich das jetzt nicht wiederholen kann. Ich habe gerade eine separate Lösung mit einem PCL-Bibliotheksprojekt erstellt, das auf ASP NET Core und .NET 4.5.1 abzielt. Das gibt die folgende jetzt:
Attempting to gather dependency information for package 'EntityFramework.MicrosoftSqlServer.7.0.0-rc1-final' with respect to project 'AnotherPCLEFFUP', targeting '.NETPortable,Version=v4.5,Profile=Profile75'
Attempting to resolve dependencies for package 'EntityFramework.MicrosoftSqlServer.7.0.0-rc1-final' with DependencyBehavior 'Lowest'
Resolving actions to install package 'EntityFramework.MicrosoftSqlServer.7.0.0-rc1-final'
Resolved actions to install package 'EntityFramework.MicrosoftSqlServer.7.0.0-rc1-final'
Install failed. Rolling back...
Package 'EntityFramework.MicrosoftSqlServer.7.0.0-rc1-final' does not exist in project 'AnotherPCLEFFUP'
Package 'EntityFramework.MicrosoftSqlServer.7.0.0-rc1-final' does not exist in folder 'K:\TFS\TestApps\Projects\DotNetCore\AnotherPCLEFFUP\packages'
Invalid portable frameworks.
Samen EntityFramework.Core.7.0.0-rc1-final geschieht installieren.
Fair zu sagen, das ist äußerst frustrierend. Vielleicht bell ich den falschen Baum oder bin heute bellend.
Laufen gegen das gleiche Problem Atm – grmbl
Hallo, anscheinend ist dies ein offenes Problem auf GitHub: https://github.com/aspnet/EntityFramework/issues/5176 (Breaking Abhängigkeiten) – grmbl
Alles, was ich sagen kann, ist dies unverantwortlich von den Teams. Es ist einfach nicht akzeptabel, ein * RC * zu haben, das nicht einmal richtig installiert wird und selbst dann viele Probleme hat, und das buchstäblich seit 5 Monaten nicht mehr aktualisiert wurde! Die verantwortliche Sache wäre zumindest eine * praktische * Roadmap zu haben, was in der Zwischenzeit zu tun ist, ansonsten sollten SIE DIESE RCs von Nuget ZIEHEN. Letzte Woche habe ich EFCore auf regulärem .NET 4.6 installiert, und hatte große Probleme, sowohl die Installation (und nach lächerlichen Problemumgehungen) als auch das Ausführen von EFCore, nur um diese Fehler * in der myget rc2-Version zu finden. –