11
respostas

Erro no Carregamento do Microsoft.Extensions.Logging.Abstraction

Segui a video aula, criei o context e esbarrei em 2 problemas. 1o ao criar o public DbSet Produtos {get; set;} ele nao me permite pois diz que DbSet<Produto> is less accessible than LojaContext.Produtos, Removendo o public do public class LojaContext : DbContext executou. No entanto ele ao executar a aplicacao da erro na linha fot using (var contexto = new LojaContext()) O erro diz : Não foi possível carregar arquivo ou Assenbly 'Microsoft.Extensions.Loggin.Asbtractions, Version=1.1.0.0 ...." Detalhe, quando executei com ADO estava funcionando, e ele acessava e gravava no banco.

11 respostas

Olá, Alessandra

É bem provável que haja incompatibilidade entre os pacotes do seu projeto.

Você pode postar aqui o conteúdo do arquivo .csproj para darmos uma olhada? Obrigado

Nao sei qual parte seria mais relevante, imagino que sejam as referencias.

..\packages\Microsoft.EntityFrameworkCore.1.1.0\lib\net451\Microsoft.EntityFrameworkCore.dll True ..\packages\Microsoft.EntityFrameworkCore.Relational.1.1.0\lib\net451\Microsoft.EntityFrameworkCore.Relational.dll True ..\packages\Microsoft.EntityFrameworkCore.SqlServer.1.1.0\lib\net451\Microsoft.EntityFrameworkCore.SqlServer.dll True ..\packages\Microsoft.Extensions.Caching.Abstractions.1.1.0\lib\netstandard1.0\Microsoft.Extensions.Caching.Abstractions.dll True ..\packages\Microsoft.Extensions.Caching.Memory.1.1.0\lib\net451\Microsoft.Extensions.Caching.Memory.dll True ..\packages\Microsoft.Extensions.DependencyInjection.1.1.0\lib\netstandard1.1\Microsoft.Extensions.DependencyInjection.dll True ..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.1.1.0\lib\netstandard1.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll True ..\packages\Microsoft.Extensions.Logging.1.1.0\lib\netstandard1.1\Microsoft.Extensions.Logging.dll True ..\packages\Microsoft.Extensions.Options.1.1.0\lib\netstandard1.0\Microsoft.Extensions.Options.dll True ..\packages\Remotion.Linq.2.1.1\lib\net45\Remotion.Linq.dll True ..\packages\System.Collections.Immutable.1.3.0\lib\portable-net45+win8+wp8+wpa81\System.Collections.Immutable.dll True ..\packages\System.Diagnostics.DiagnosticSource.4.3.0\lib\net46\System.Diagnostics.DiagnosticSource.dll True ..\packages\System.Interactive.Async.3.0.0\lib\net45\System.Interactive.Async.dll True

Segue o inicio do arquivo <?xml version="1.0" encoding="utf-8"?>

Debug AnyCPU {D59A32D0-B933-45D7-8922-483BF3C08524} Exe Alura.Loja.Testes.ConsoleApp Alura.Loja.Testes.ConsoleApp v4.6.1 512 true AnyCPU true full false bin\Debug\ DEBUG;TRACE prompt 4 AnyCPU pdbonly true bin\Release\ TRACE prompt 4

E caso seja necessário o final rsrs

Alessandra, obrigado pela resposta! Mas nas referências que me passou, faltam ainda as referências do AspNetCore, que podem (devem) estar em conflito com as do EntityFrameworkCore:

Microsoft.AspNetCore.Authentication.Cookies
Microsoft.AspNetCore.Identity.EntityFrameworkCore
Microsoft.AspNetCore.Mvc
Microsoft.AspNetCore.Routing
Microsoft.AspNetCore.Server.IISIntegration
Microsoft.AspNetCore.Server.Kestrel
Microsoft.Extensions.Configuration.EnvironmentVariables
Microsoft.Extensions.Configuration.FileExtensions
Microsoft.Extensions.Configuration.Json
Microsoft.Extensions.Configuration.CommandLine
Microsoft.Extensions.Logging
Microsoft.Extensions.Logging.Console
Microsoft.Extensions.Logging.Debug
Microsoft.Extensions.Options.ConfigurationExtensions

Por favor, veja se essas referenciam a versão 1.1.0, que é a versão do seu EF Core.

Marcelo, pelo que entendi vc quer que eu vá no SolutionExplorer e verifique as referencias. Fiz isso e notei que todas as referencias Microsoft.AspNetCore não existem.

Microsoft.AspNetCore.Authentication.Cookies Microsoft.AspNetCore.Identity.EntityFrameworkCore Microsoft.AspNetCore.Mvc Microsoft.AspNetCore.Routing Microsoft.AspNetCore.Server.IISIntegration Microsoft.AspNetCore.Server.Kestrel Microsoft.Extensions.Configuration.EnvironmentVariables Microsoft.Extensions.Configuration.FileExtensions Microsoft.Extensions.Configuration.Json Microsoft.Extensions.Configuration.CommandLine Microsoft.Extensions.Logging.Console Microsoft.Extensions.Logging.Debug Microsoft.Extensions.Options.ConfigurationExtensions

A instalacao do EntityFramework no Nuget concluiu com sucesso. Assisti novamente as aulas e não vi nenhum passo que tenha 'pulado' , como corrigir isso ?

Ah, sinto muito, eu esqueci que o seu curso é de Entity Framework e não ASP.NET. É que esse erro é comum em projetos ASP.NET Core, então falha minha... Estou baixando o projeto do curso e testando na minha máquina. Logo vou te dar uma resposta.

Baixei o projeto do final do curso, e tem uma diferença com a sua versão:

Sua versão:

Microsoft.Extensions.Loggin.Abstractions, Version=1.1.0.0

Versão do projeto do curso:

Microsoft.Extensions.Logging.Abstractions, Version=1.1.1.0

Você pode clicar no projeto com botão direito e entrar em Manage NuGet Packages, e mudar a versão do Microsoft.Extensions.Logging.Abstractions, Version para 1.1.1.0 para testar, por favor?

Oi Marcelo entrei no Nugget mas o Microsoft.Extensions.Logginf.Asbtraction nao aparece. Tentei instalar mas ele diz que o EntityFrameworkCore nao existe. Está faltando algo mas eu já baixei e refiz as video aulas 2 vezes e nao vejo onde estou errando.

Olá, Alessandra

Tente instalar essa versão pela linha de comando, por favor:

PM> Install-Package Microsoft.Extensions.Logging.Abstractions -Version 1.1.1

Olá Marcelo, me desculpe a demora. Fiz o que vc me pediu e ele me retorna a mensagem.Install-Package : An error occurred while retrieving package metadata for 'NETStandard.Library.1.6.1' from source 'D:\Alura\Programacao\C#\EnttityFramneWorkCoreBancoDeDadosDeFormaEficiente\Alura.Loja\packages'. At line:1 char:1 + Install-Package Microsoft.Extensions.Logging.Abstractions -Version 1. ... + ~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Install-Package], Exception + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand