Utworzono nowy projekt .NET Core za pomocą polecenia dotnet new -t lib
. Jest to biblioteka klas dla mojego kontekstu EF. To jest mój project.json
:Błąd narzędzia EF 7 .NET Core
{
"version": "1.0.0-*",
"buildOptions": {
"debugType": "portable"
},
"dependencies": {},
"frameworks": {
"netstandard1.6": {
"dependencies": {
"NETStandard.Library": "1.6.0",
"Microsoft.EntityFrameworkCore.SqlServer": "1.0.0",
"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final"
}
}
}
}
Kiedy biegnę dotnet restore
polecenie Dostaję taki błąd:
error: Package Microsoft.EntityFrameworkCore.Tools 1.0.0-preview2-final is not compatible with netstandard1.6 (.NETStandard,Version=v1.6). Package Microsoft.EntityFrameworkCore.Tools 1.0.0-preview2-final supports:
Jak mogę używać EF kod najpierw z netstandard1.6?
Pamiętaj, że korzystając z narzędzi dla Enity Framework nie obsługuje jeszcze bibliotek klasowych, więc wykonanie 'dotnet ef' nie powiedzie się. Zobacz https://docs.efproject.net/en/latest/miscellaneous/cli/dotnet.html#targeting-class-library-projects-jest-nieobsługiwane w celu obejścia. –
@JohanB Częściowo rozwiązano to za pomocą obejścia '--startup-project', na przykład:' dotnet ef --startup-project ../ProjectThatCanRunCommand/ migrations dodaj InitDb', spójrz na to: [Sparametryzuj katalogi używane przez dotnet-ef] (https://github.com/aspnet/EntityFramework/pull/5680) –
@HamidMosalla To jest rozwiązanie, którego szukałem. Czy mógłbyś zaktualizować swoją odpowiedź tym komentarzem, aby móc oznaczyć ją jako właściwą odpowiedź? – alexxjk