Ho aggiornato una libreria di classi standard .net da Entity Framework Core 1.1 a Entity Framework 2.0
Sto cercando di eseguire Add-Migration su una libreria di classe Core di Entity Framework che ha come obiettivo il framework .net 4.6.1
Add-Migration MyMigration
Ma poi ho il seguente errore
System.IO.FileLoadException: impossibile caricare il file o l'assembly 'System.ValueTuple, Version = 0.0.0.0, Culture = neutral, PublicKeyToken = cc7b13ffcd2ddd51' o una delle sue dipendenze. La definizione manifest di assembly individuato non corrisponde al riferimento all'assembly. (Eccezione da HRESULT: 0x80131040) Nome file: 'System.ValueTuple, Version = 0.0.0.0, Culture = neutral, PublicKeyToken = cc7b13ffcd2ddd51' su Microsoft.EntityFrameworkCore.Metadata.Conventions.Internal.SharedTableConvention.Apply (InternalModelBuilder modelBuilder) in Microsoft. EntityFrameworkCore.Metadata.Conventions.Internal.ConventionDispatcher.ImmediateConventionScope.OnModelBuilt (InternalModelBuilder modelBuilder) in Microsoft.EntityFrameworkCore.Infrastructure.ModelSource.CreateModel (contesto DbContext, IConventionSetBuilder conventionSetBuilder, validatore IModelValidator) su System.Collections.Concurrent.ConcurrentDictionary
2.GetOrAdd(TKey key, Func
2 valueFactory) in Microsoft.EntityFrameworkCore.Internal.DbContextServices.CreateModel () in Microsoft.EntityFrameworkCore.Internal.DbContextServices.get_Model () in Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor2.VisitCallSite(IServiceCallSite callSite, TArgument argument) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScoped(ScopedCallSite scopedCallSite, ServiceProvider provider) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor
2.VisitCallSite (ISSureCallSite callSite, argomento TArgument) in Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor (ConstructorCallSite constructorCallSite, Provider ServiceProvider) presso Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor2.VisitCallSite(IServiceCallSite callSite, TArgument argument) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScoped(ScopedCallSite scopedCallSite, ServiceProvider provider) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor
2.VisitCallSite (callSite, argomento TArgument di IServiceCallSite) su Microsoft.Extensions.DependencyInjection.ServiceProvider. <> C__DisplayClass22_0.b__0 (Provider ServiceProvider) su Microsoft.Extensions.DependencyInjection.Servi ceProviderServiceExtensions.GetRequiredService (provider IServiceProvider, Type serviceType) in Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService [T] (provider IServiceProvider) in Microsoft.EntityFrameworkCore.DbContext.get_DbContextDependencies () in Microsoft.EntityFrameworkCore.DbContext.get_InternalServiceProvider () in Microsoft. EntityFrameworkCore.Infrastructure.AccessorExtensions.GetService [TService] (IInfrastructure1 accessor) at Microsoft.EntityFrameworkCore.Design.Internal.DbContextOperations.CreateContext(Func
1 factory) in Microsoft.EntityFrameworkCore.Design.Internal.DbContextOperations.CreateContext (String contextType) in Microsoft .EntityFrameworkCore.Design.Internal.MigrationsOperations.AddMigration (Nome stringa, String outputDir, String contextType) in Microsoft.EntityFrameworkCore.Design.OperationExecutor.AddMigrationImpl (Nome stringa, String outputDir, String contextType) in Microsoft.EntityFrameworkCore.Design.OperationExecutor.Op erationBase. <> c__DisplayClass3_0`1.b__0 () su Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute (Azione azione)
Ho aggiunto il pacchetto nuget di System.ValueTuple al mio csproj ma ottengo comunque l'errore
<PackageReference Include="System.ValueTuple" Version="4.4.0" />
Aggiungi AutoGenerateBindingRedirects
e GenerateBindingRedirectsOutputType
alla libreria di classi csproj
per esempio
<PropertyGroup>
<TargetFramework>net461</TargetFramework>
....
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
</PropertyGroup>
Ho avuto lo stesso problema e si è risolto dopo aver installato .NET 4.7.1 framework