Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Erro ao executar Add-Migration Unidade - Formação .NET

Estou com o seguinte erro ao executar o comando Add-Migration Unidade na parte de Entity Framework da formação de desenvolvedor .NET. Já tentei instalar o pacote sem a versão e também tentei com a versão 1.1.1 e nenhuma funcionou.

System.Reflection.TargetInvocationException: Uma exceção foi acionada pelo destino de uma chamada. ---> System.TypeLoadException: Método Clone no tipo Microsoft.EntityFrameworkCore.Infrastructure.Internal.SqlServerOptionsExtension do assembly Microsoft.EntityFrameworkCore.SqlServer, Version=1.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60 não tem uma implementação.
   em System.Signature.GetSignature(Void* pCorSig, Int32 cCorSig, RuntimeFieldHandleInternal fieldHandle, IRuntimeMethodInfo methodHandle, RuntimeType declaringType)
   em System.Reflection.RuntimeMethodInfo.FetchNonReturnParameters()
   em System.Reflection.RuntimeMethodInfo.GetParameters()
   em System.Diagnostics.StackTrace.ToString(TraceFormat traceFormat)
   em System.Exception.GetStackTrace(Boolean needFileInfo)
   em System.Exception.ToString(Boolean needFileLineInfo, Boolean needMessage)
   em Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action)
   --- Fim do rastreamento de pilha de exceções internas ---
   em System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   em System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   em System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, StackCrawlMark& stackMark)
   em System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
   em System.Activator.CreateInstance(String assemblyString, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityInfo, StackCrawlMark& stackMark)
   em System.Activator.CreateInstance(String assemblyName, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
   em System.AppDomain.CreateInstance(String assemblyName, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
   em System.AppDomain.CreateInstance(String assemblyName, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
   em Microsoft.EntityFrameworkCore.Tools.AppDomainOperationExecutor.Execute(String operationName, Object resultHandler, IDictionary arguments)
   em System.Dynamic.UpdateDelegates.UpdateAndExecuteVoid4[T0,T1,T2,T3](CallSite site, T0 arg0, T1 arg1, T2 arg2, T3 arg3)
   em Microsoft.EntityFrameworkCore.Tools.OperationExecutorBase.InvokeOperationImpl(String operationName, IDictionary arguments)
   em Microsoft.EntityFrameworkCore.Tools.OperationExecutorBase.AddMigration(String name, String outputDir, String contextType)
   em Microsoft.EntityFrameworkCore.Tools.Commands.MigrationsAddCommand.Execute()
   em Microsoft.DotNet.Cli.CommandLine.CommandLineApplication.Execute(String[] args)
   em Microsoft.EntityFrameworkCore.Tools.Program.Main(String[] args)
Uma exceção foi acionada pelo destino de uma chamada.
2 respostas
solução!

Fala, xará, tudo bem?

O pacote Microsoft.EntityFrameworkCore.SqlServer está instalado, certo?

Para rodar o Add-Migration você precisa dos pacotes Tools e SqlServer (esse porque estamos usando o banco SQL Server). Garanta que os dois foram instalados com a mesma versão. Teste com a 1.1.1.

Por desencargo, crie um projeto zerado para testar.

Me dê um feedback aqui, por favor.

Opa, a princípio resolvi o problema. Fiz como tu falou, criei um projeto novo, e instalei o Entity Core 1.1 e depois o Tools 1.1, funcionou. Acho que de alguma forma acabei atualizando alguma coisa e por isso estava dando erro.

Muito obrigado pela ajuda!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software