Bonjour,
Cela fait quelques semaines que je cherche sans succès une solution à mon souci.
J'ai développé une DLL de framework (utilisation de factory) d'accès multiDB indépendante de tout projet.
Dedans j'utilise SQLite avec le provider ADO.NET.
J'ai une application qui fait appel à ce Framework.
Mon souci est que lorsque je déploie cette application sur une machine cliente j'ai un message d'erreur
Après certaines recherche j'ai trouvé qu'il manquait la ligne suivante dans le Machine.config (ligne rajoutée via l'installeur du provider uniquement si on a un environnement de développement sur la machine) :Le fournisseur de données .Net Framework demandé est introuvable. Il n'est peut-être pas installé.
à System.Data.Common.DbProviderFactories.GetFactory(String providerInvariantName)
(fichier situé : C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG )<add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite, Version=1.0.66.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139"/>
Une des solutions sur le net est d'ajouter dans le fichier app.config de l'application :
Malheureusement cela ne fonctionne pas et j'obtiens toujours le message d'erreur.<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, Version=1.0.66.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" />
</DbProviderFactories>
</system.data>
En rajoutant la ligne dans machine.config l'application fonctionne.
Or je n'ai pas accès à toutes les machines où devra être déployé l'application et les utilisateurs ne sont pas des pros à qui je peux demander de faire la modif à la main.
Quelle pourrai être la solution?
Cordialement
Athos.
Partager