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

System.IO.FileLoadException

Galera preciso de uma ajuda urgente, e estou com muita dificuldade pra resolver, estou com um projeto nas mãos e estou implementando com o ASP .NET MVC e usando o Entity Framework Core, estou fazendo uns testes pra conexão com o banco de dados, e como já é existente os bancos e com muitas tabelas, tentei seguir a doc da MS para o entity criar e mapear as classes para mim chamado Database First : https://docs.microsoft.com/en-us/ef/core/get-started/aspnetcore/existing-db .

Fiz tudo passo a passo e na hora de testar subindo a aplicação buscando um registro no banco ele da uma exception:

System.IO.FileLoadException: 'Não foi possível carregar arquivo ou assembly 'System.ValueTuple, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' ou uma de suas dependências. A definição do manifesto do assembly localizado não corresponde à referência do assembly. (Exceção de HRESULT: 0x80131040)'

No método buscaVendedor da classe VendedorDAO:

public Vendedor buscaVendedor(int id)
        {
            IList<Vendedor> vendedores = context.Vendedor.ToList(); //exception acontece nessa linha
            return vendedores.ElementAt(id);
        }

Quem puder me ajudar eu agradeço, sou iniciante no .NET e preciso entregar logo esse projeto :/

3 respostas
solução!

Olá Lucas,

encontrei um erro parecido com o seu neste link de uma discussão que que houve dentro do repositório no github do entity core. Aparentemente é um problema de incompatibilidade de versões e eles mostram alguns jeitos de resolver. Veja se ajuda a resolver o seu problema.

Cara valeu, resolveu daquele jeito né, tipo uma gambiarra kkkk, enfim rodei aqui e apareceu outro erro, agora mais comum mano, ele ta dizendo que a coluna cliente requer uma chave primária, sendo que no meu contexto ele já mapeou essa coluna, olha: Classe Cliente:

public partial class Cliente
    {
        public Cliente()
        {
            Fila = new HashSet<Fila>();
        }

        public long IdCliente { get; set; }
        public string Cliente1 { get; set; }
        public string CpfCnpj { get; set; }
        public string RgIe { get; set; }
        public string NomeRazao { get; set; }
        public string NomeFantasia { get; set; }
        public string Cnae { get; set; }
        public string Url { get; set; }
        public string Obs { get; set; }
        public DateTime Inclusao { get; set; }
        public long IdUsuarioInc { get; set; }
        public DateTime? Alteracao { get; set; }
        public long? IdUsuarioAlt { get; set; }

        public ICollection<Fila> Fila { get; set; }
    }

No Contexto do banco ta assim:

protected override void OnModelCreating(ModelBuilder modelBuilder)
        {

            modelBuilder.Entity<Cliente>(entity =>
            {
                entity.HasKey(e => e.IdCliente);

                entity.Property(e => e.Alteracao).HasColumnType("datetime");

                entity.Property(e => e.Cliente1)
                    .IsRequired()
                    .HasColumnName("Cliente")
                    .HasMaxLength(250);

                entity.Property(e => e.Cnae).HasMaxLength(50);

                entity.Property(e => e.CpfCnpj)
                    .IsRequired()
                    .HasMaxLength(15);

                entity.Property(e => e.Inclusao).HasColumnType("datetime");

                entity.Property(e => e.NomeFantasia)
                    .IsRequired()
                    .HasMaxLength(250);

                entity.Property(e => e.NomeRazao)
                    .IsRequired()
                    .HasMaxLength(250);

                entity.Property(e => e.Obs).HasMaxLength(250);

                entity.Property(e => e.RgIe).HasMaxLength(30);

                entity.Property(e => e.Url).HasMaxLength(250);
            });

                // resto do método preenchido...
        }

Estranho né...

Bom consegui resolver aqui , estava usando o outro contexto que tinha criado como tste,, usando o gerado pelo entity funfou corretamente. Valeu Lucas por me ajudar !