関連する質問: 別のマシンでアプリケーションを実行するとエラーが発生する
これは私の App.config ファイルがどのように見えるかです:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
<add name="DocumentsDBEntities" connectionString="metadata=res://*/Documents.csdl|res://*/Documents.ssdl|res://*/Documents.msl;provider=System.Data.SQLite;provider connection string="data source=C:\Users\Sergio.Tapia\Desktop\DocumentScannerDanyly\DocumentScannerDanyly\DocumentsDB.sqlite"" providerName="System.Data.EntityClient" />
</connectionStrings>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" />
</startup>
<appSettings>
<add key="Username" value="administrador"/>
<add key="Password" value="123456"/>
</appSettings>
</configuration>
これを開発マシンで実行すると機能しますが、別のコンピューターにデプロイすると、データ プロバイダー エラーが発生します。(上記の関連する質問を参照してください)。
提案された解決策は、これを App.config ファイルに追加することでした。
<system.data>
<DbProviderFactories>
<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>
これを App.config ファイルに追加すると、Visual Studio 2010 でアプリケーションを起動するときに次のエラーが発生します。
system.data の構成セクション ハンドラーの作成中にエラーが発生しました: 列 'InvariantName' は一意に制限されています。値 'System.Data.SQLite' は既に存在します。(C:\Users\Sergio.Tapia\Desktop\DocumentScannerDanyly\DocumentScannerDanyly\bin\Debug\DocumentScannerDanyly.vshost.exe.Config 行 13)
このエラーが何であるかについて何か提案はありますか? また、.sqlite ファイルの場所はそれがインストールされている場所に相対的であるため、AppConfig ファイルの connectionString をより動的なものに変更する必要がありますか?
助けてくれてありがとう。
編集:
ここで誰かが提案したようにこれを構成に追加すると、エラーが発生します。
<system.data>
<DbProviderFactories>
<clear />
<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>
登録された .Net Framework Data Provider の検索または読み込みに失敗しました。