Como resolver o erro da falta SQLite.Interop.dll em aplicações utilizando C#

Hoje vou mostrar como solucionar o problema relacionado ao SQLite no C#.

Se você desenvolveu alguma aplicação no Visual Studio em C#, e utilizou o SQLite com o NuGet, ao gerar um instalador pode se deparar com o seguinte problema:

Unable to load DLL ‘SQLite.Interop.dll’: The specified module could not be found.

Para resolver isso, vamos seguir os passos abaixo:

  1. Clique com o botão direito no Projeto, vá em Gerenciar Pacotes do NuGet, confirme se você está usando corretamente os pacotes referentes ao SQLite

Procurando SQLite

  1. Se estiver tudo ok, clique com o botão direito em cima da solução e adicione um projeto do tipo Setup (caso já tenha, ignore esse passo)

Adicionando Setup Project

  1. Agora clique com o botão direito em cima do Setup, vá em View > Sistema de Arquivos

Sistema de Arquivos

  1. Dentro da Application folder, crie duas pastas, a x86 e x64

Criando pastas

  1. Dentro dessas pastas, clique com o botão direito e em Add, selecione Arquivo

Adicionando arquivos

  1. Procure pelo arquivo, dentro da pasta bin, do executável do seu código, e adicione o arquivo

Pegando a dll

Agora você pode gerar o instalador via Setup. Esse problema acontece, pois por algum motivo, ele não leva a dll SQLite.Interop para a instalação, e dessa forma, a gente força ela a levá-la.

Bom pessoal, por hoje é só.

Abraços e até a próxima.

Dan (Daniel Atilio)
Cristão de ramificação protestante. Especialista em Engenharia de Software pela FIB, graduado em Banco de Dados pela FATEC Bauru e técnico em informática pelo CTI da Unesp. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor e mantenedor do portal Terminal de Informação.

4 Responses

  1. Guilherme Marques disse:

    MUITO OBRIGADO!!! Ja tava desistindo ja obrigado pela ajuda

  2. Edilson lemos disse:

    Dan (Daniel Atilio) valeu pela dica, eu fico muito agradecido, você me tirou de um apuro. OBRIGADO.

Deixe uma resposta para Guilherme MarquesCancelar resposta

Terminal de Informação