Ich versuche, .net-Kern zu verwenden, um Modellklassen von der vorhandenen Datenbank auf meinem MAC zurückzuentwickeln. Die Datenbank läuft in einer VM mit Windows und ich kann mich über osx mit ihr verbinden.
In meiner project.json habe ich folgendes:
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.1",
"type": "platform"
},
"Microsoft.AspNetCore.AngularServices": "1.0.0-*",
"Microsoft.AspNetCore.Diagnostics": "1.0.0",
"Microsoft.AspNetCore.Mvc": "1.0.1",
"Microsoft.AspNetCore.Razor.Tools": {
"version": "1.0.0-preview2-final",
"type": "build"
},
"Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
"Microsoft.AspNetCore.Server.Kestrel": "1.0.1",
"Microsoft.AspNetCore.StaticFiles": "1.0.0",
"Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
"Microsoft.Extensions.Configuration.Json": "1.0.0",
"Microsoft.Extensions.Configuration.CommandLine": "1.0.0",
"Microsoft.Extensions.Logging": "1.0.0",
"Microsoft.Extensions.Logging.Console": "1.0.0",
"Microsoft.Extensions.Logging.Debug": "1.0.0",
"Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0",
"Microsoft.EntityFrameworkCore.Design": {
"type": "build",
"version": "1.0.0-preview2-final"
},
"Microsoft.EntityFrameworkCore.SqlServer.Design": "1.0.0-rc2-final",
"Microsoft.EntityFrameworkCore.SqlServer": "1.0.0-rc2-final"
},
"tools": {
"Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final",
"Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final",
"Microsoft.DotNet.Watcher.Tools": "1.0.0-preview2-final",
"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final"
},
"frameworks": {
"netcoreapp1.0": {
"imports": [
"dotnet5.6",
"portable-net45+win8"
]
}
},
"buildOptions": {
"emitEntryPoint": true,
"preserveCompilationContext": true,
"compile": {
"exclude": ["node_modules"]
}
}
Aber wenn ich renne
dotnet ef dbcontext scaffold "myDbConnectString" Microsoft.EntityFrameworkCore.SqlServer
Ich bekomme den folgenden Fehler und ich kann das nicht bestehen
An error occurred while calling method 'ConfigureDesignTimeServices' on startup class
'Microsoft.EntityFrameworkCore.Scaffolding.SqlServerDesignTimeServices'. Erwägen Sie, IDbContextFactory zu verwenden, um die Initialisierung des DbContext zur Entwurfszeit zu überschreiben. Fehler: Der Typ 'Microsoft.Extensions.DependencyInjection.ServiceCollectionExtensions' konnte nicht vom Assembly 'Microsoft.Extensions.DependencyInjection.Abstractions, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = adb9793829ddae60' geladen werden. System.AggregateException: Ein oder mehrere Fehler sind aufgetreten. (Der Dienst 'Microsoft.EntityFrameworkCore.Scaffolding.IScaffoldingModelFactory' konnte beim Versuch, 'Microsoft.EntityFrameworkCore.Scaffolding.Internal.ReverseEngineeringGenerator' zu aktivieren, nicht aufgelöst werden.) ---> System.InvalidOperationException: Der Dienst konnte für den Typ 'Microsoft' nicht aufgelöst werden. EntityFrameworkCore.Scaffolding.IScaffoldingModelFactory 'beim Versuch,' Microsoft.EntityFrameworkCore.Scaffolding.Internal.ReverseEngineeringGenerator 'zu aktivieren. bei Microsoft.Extensions.DependencyInjection.ServiceLookup.Service.PopulateCallSites (ServiceProvider-Anbieter, ISet
1 callSiteChain, ParameterInfo[] parameters, Boolean throwIfCallSiteNotFound) at Microsoft.Extensions.DependencyInjection.ServiceLookup.Service.CreateCallSite(ServiceProvider provider, ISet
1 callSiteChain) bei Microsoft .Extensions.DependencyInjection.ServiceProvider.GetResolveCallSite (IService-Dienst, ISet1 callSiteChain) at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetServiceCallSite(Type serviceType, ISet
1 callSiteChain) bei Microsoft.Extensions.DependencyInjection.ServiceProvider.CreateServiceAccessor (Type serviceType, ServiceProvider serviceProvider ) bei System.Collections.Concurrent.ConcurrentDictionaryExtensions.GetOrAdd [TKey, TValue, TArg] (ConcurrentDictionary2 dictionary, TKey key, Func
3 valueFactory, TArg arg) bei Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService (Type serviceType) bei Microsoft. Extensions.DependencyInjection.Service ProviderServiceExtensions.GetRequiredService (IServiceProvider-Anbieter, Typ serviceType) unter Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService [T] (IServiceProvider-Provider) unter Microsoft.EntityFrameworkCore.Design.DatabaseOperations.ReverseEngineerAsync (String provider, String connectionString, String outputDir, String dbContextClassName, IEnumerable1 schemas, IEnumerable
1 Tabellen, Boolean useDataAnnotations, Boolean overwriteFiles, CancellationToken cancellationToken) bei Microsoft.EntityFrameworkCore.Design.Internal.OperationExecutor.ReverseEngineerAsync (String provider, String connectionString, String outputDir, String dbContextClassName, IEnumerable1 schemaFilters, IEnumerable
1 tableFilters, Boolean useDataAnnotations, Boolean overwriteFiles, CancellationToken cancellationToken) bei Microsoft.EntityFrameworkCore.Tools.Cli.DbContextScaffoldCommand.d__1.MoveNext () --- Ende des inneren Ausnahmestapel-Trace --- at System.Threading.Tasks.Task.Thro wIfExceptional (Boolean includeTaskCanceledExceptions) bei System.Threading.Tasks.Task1.GetResultCore(Boolean waitCompletionNotification) at Microsoft.Extensions.CommandLineUtils.CommandLineApplication.Execute(String[] args) at Microsoft.EntityFrameworkCore.Tools.Cli.Program.Main(String[] args) ---> (Inner Exception #0) System.InvalidOperationException: Unable to resolve service for type 'Microsoft.EntityFrameworkCore.Scaffolding.IScaffoldingModelFactory' while attempting to activate 'Microsoft.EntityFrameworkCore.Scaffolding.Internal.ReverseEngineeringGenerator'. at Microsoft.Extensions.DependencyInjection.ServiceLookup.Service.PopulateCallSites(ServiceProvider provider, ISet
1 callSiteChain, ParameterInfo [] -Parameter, Boolean throwIfCallSiteNotFound) bei Microsoft.Extensions.DependencyInjection.ServiceLookup.Service.CreateCallSite (ServiceProvider-Anbieter, ISet1 callSiteChain) at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetResolveCallSite(IService service, ISet
1 callSiteChain) bei Microsoft.Extensions.DependencyInjection.ServiceProvider.GetServiceCallSite (Type serviceType, ISet1 callSiteChain) at Microsoft.Extensions.DependencyInjection.ServiceProvider.CreateServiceAccessor(Type serviceType, ServiceProvider serviceProvider) at System.Collections.Concurrent.ConcurrentDictionaryExtensions.GetOrAdd[TKey,TValue,TArg](ConcurrentDictionary
2-Wörterbuch, TKey-Schlüssel, Func3 valueFactory, TArg arg) at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(Type serviceType) at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType) at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider) at Microsoft.EntityFrameworkCore.Design.DatabaseOperations.ReverseEngineerAsync(String provider, String connectionString, String outputDir, String dbContextClassName, IEnumerable
1 Schemas, IEnumerable1 tables, Boolean useDataAnnotations, Boolean overwriteFiles, CancellationToken cancellationToken) at Microsoft.EntityFrameworkCore.Design.Internal.OperationExecutor.ReverseEngineerAsync(String provider, String connectionString, String outputDir, String dbContextClassName, IEnumerable
1 schemaFilters, IEnumerable`1 tableFilters , Boolean useDataAnnotations, Boolean overwriteFiles, CancellationToken cancellationToken) bei Microsoft.EntityFrameworkCore.Tools.Cli.DbContextScaffoldCommand.d__1.MoveNext () <--- Ein oder mehrere Fehler sind aufgetreten. (Der Dienst konnte nicht für den Typ 'Microsoft.EntityFrameworkCore.Scaffolding.IScaffoldingModelFactory' aufgelöst werden, während versucht wurde, 'Microsoft.EntityFrameworkCore.Scaffolding.Internal.ReverseEngineeringGenerator' zu aktivieren.)
Ich habe versucht, Versionen meiner Abhängigkeiten hin und her zu ändern, aber ohne Ergebnis. Hat jemand irgendwelche Hinweise?
Habe es einfach zur Arbeit gebracht. Ich aktualisierte zu .net Kern 1.1.0 und änderte mein project.json, um neuere Versionen zu benutzen. Hoffe, das kann jemand anderem helfen
project.json:
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.1.0",
"type": "platform"
},
"Microsoft.AspNetCore.AngularServices": "1.0.0-*",
"Microsoft.AspNetCore.Diagnostics": "1.1.0",
"Microsoft.AspNetCore.Mvc": "1.1.0",
"Microsoft.AspNetCore.Razor.Tools": {
"version": "1.1.0-preview4-final",
"type": "build"
},
"Microsoft.AspNetCore.Server.IISIntegration": "1.1.0",
"Microsoft.AspNetCore.Server.Kestrel": "1.1.0",
"Microsoft.AspNetCore.StaticFiles": "1.1.0",
"Microsoft.Extensions.Configuration.EnvironmentVariables": "1.1.0",
"Microsoft.Extensions.Configuration.Json": "1.1.0",
"Microsoft.Extensions.Configuration.CommandLine": "1.1.0",
"Microsoft.Extensions.Logging": "1.1.0",
"Microsoft.Extensions.Logging.Console": "1.1.0",
"Microsoft.Extensions.Logging.Debug": "1.1.0",
"Microsoft.Extensions.Options.ConfigurationExtensions": "1.1.0",
"Microsoft.EntityFrameworkCore.Design": {
"type": "build",
"version": "1.1.0"
},
"Microsoft.EntityFrameworkCore.SqlServer.Design": "1.1.0",
"Microsoft.EntityFrameworkCore.SqlServer": "1.1.0"
},
"tools": {
"Microsoft.AspNetCore.Razor.Tools": "1.1.0-preview4-final",
"Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.1.0-preview4-final",
"Microsoft.DotNet.Watcher.Tools": "1.1.0-preview4-final",
"Microsoft.EntityFrameworkCore.Tools.DotNet": "1.1.0-preview4-final"
}
Haben Sie versucht, eine RTM-Version von Entity Framework zu verwenden?
{
"Microsoft.EntityFrameworkCore.SqlServer.Design": "1.0.1",
"Microsoft.EntityFrameworkCore.SqlServer": "1.0.1"
}