Visual Studio 2010 Ultimate、C# WPF、MVVM、Sqlite を使用しています。
このプロジェクトは問題なく実行されていますが (Windows 8 x64、.NET Framework 4 クライアント プロファイル)、インストールされたアプリケーションを実行すると (Windows 7 x32、.NET Framework 4 クライアント プロファイル)、次のすべての例外が発生します。
Exception: System.Windows.Markup.XamlParseException: 'The invocation of the constructor of type' GestorDocument.UI.DeterminanteView 'that matches the specified binding constraints threw an exception.' (Line number: '3 ', line position '9'). ---> System.ArgumentException: The specified store provider can not be found in the configuration or is not valid. ---> System.ArgumentException: Could not find the data provider. NET Framework requested. It may not be installed.
これは私の接続文字列です:
<?xml version="1.0"?>
<configuration>
<connectionStrings>
<add name="GestorDocumentEntities" connectionString="metadata=res://*/GestorDocument.csdl|res://*/GestorDocument.ssdl|res://*/GestorDocument.msl;provider=System.Data.SQLite;provider connection string="data source=C:\SQLITE\BD\GestorDocument.s3db"" providerName="System.Data.EntityClient"/>
</connectionStrings>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/></startup></configuration>
どうぞ、何か考えはありますか?
今それは動作します!私の解決策は次のとおりです。
プロジェクトの App.config:
<configuration>
<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.85.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" />
</DbProviderFactories>
</system.data>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/>
</startup>
</configuration>
次の参照を含めます: (アプリケーションがインストールされるマシンのバージョン。)
- SQLite.Designer.dll
- System.Data.SQLite.dll
- System.Data.SQLite.Linq.dll
「ローカルのコピー」プロパティを True に設定します。
system.data と DbProviderFactories の間にこの行を machine.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.85.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" />
のバージョンであることを確認します。テストマシンには、アプリケーションを開発した.NET Frameworkがインストールされています。