x64 visual studio setup para netfx46 net framework for data c# sqlite deployment ado.net

c# - visual - No se puede encontrar el proveedor de datos de.Net Framework solicitado-SQLite



sqlite para visual studio 2017 (1)

Pensé que sqlite era simple pero me está haciendo difícil. Solo quiero crear una aplicación donde pueda conectarme a una base de datos sqlite usando las clases de datos de entidad ado.net.

Tengo este problema al probar la aplicación en una computadora virtual que ejecuta Windows XP. La aplicación funciona bien en mi computadora actual y también en mi computadora portátil cuando las implemento.

Esto es lo que sucede en la computadora virtual:

  • La aplicación es capaz de lanzar.
  • La aplicación puede interactuar con la base de datos utilizando System.Data.SQLite
  • La aplicación no puede conectarse a la base de datos utilizando los modelos de datos de la entidad ADO.NET

cuando intento conectarme obtengo la siguiente excepción:

Sé que hay muchas publicaciones que hablan sobre esto y la mayoría dice que necesitas descargar el proveedor de .NET para Sqlite.

Ya instalé el sqlite-netFx40-setup-bundle-x86-2010-1.0.79.0.exe y obtengo el mismo problema. ¿Qué tengo que hacer?

Editar

Logré establecer una conexión agregando:

<system.data> <DbProviderFactories> <remove invariant="System.Data.SQLite"/> <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /> </DbProviderFactories>

a mi archivo app.config

El problema es que ahora no puedo seleccionar datos ni insertar registros en la base de datos. La excepción que recibo cuando intento insertar un nuevo registro ahora es:

Se devolvió un nulo después de llamar al método ''GetService'' en una instancia del proveedor de la tienda del tipo ''System.Data.SQLite.SQLiteFactory''. Es posible que el proveedor de la tienda no esté funcionando correctamente.


tuve que añadir:

<system.data> <DbProviderFactories> <remove invariant="System.Data.SQLite"/> <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /> </DbProviderFactories> </system.data>

a mi archivo de configuración de la aplicación. y ahora se ve como:

<?xml version="1.0" encoding="utf-8" ?> <configuration> <startup useLegacyV2RuntimeActivationPolicy="true"> <supportedRuntime version="v4.0.30319" sku=".NETFramework,Version=v4.0,Profile=Client" /> </startup> <system.data> <DbProviderFactories> <remove invariant="System.Data.SQLite"/> <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" /> </DbProviderFactories> </system.data> </configuration>

En la ubicación donde se instaló sqlite tuve que copiar

a mi directorio de salida donde se encuentra mi exe programa