1

.SDFファイルと Entity Frameworkを使用するアプリケーションをデプロイしようとしています。デプロイされたアプリケーションがエンティティを使用しようとする (DB に接続する) たびに、エラーが発生します。

指定されたストア プロバイダーが構成内に見つからないか、無効です。
System.ArgumentException: 要求された .Net Framework データ プロバイダーが見つかりません。インストールされていない可能性があります。
System.Data.Common.DbProviderFactories.GetFactory (文字列 providerInvariantName)
で System.Data.EntityClient.EntityConnection.GetFactory (文字列 providerString) で

私の接続文字列は次のようになります。

<add name="DBEntities" 
    connectionString="metadata=res://*/DB_Model.csdl|res://*/DB_Model.ssdl|res://*/DB_Model.msl;
    provider=System.Data.SqlServerCe.3.5;
    provider connection string=&quot;Data Source=|DataDirectory|\Database\DB.sdf&quot;" 
    providerName="System.Data.EntityClient" />

dllへの参照が必要な場合があることをどこかで読みましたが、よくわかりSystem.Data.SqlServerCe.3.5ません。どんな助けでも大歓迎です!

4

2 に答える 2

1

ターゲットシステムに3.5SP2ランタイムをインストールするか、次の説明に従ってプライベート展開を使用する必要があります:http ://erikej.blogspot.com/2012/05/private-deployment-of-sql-server.html

于 2012-05-29T07:27:15.963 に答える
0
  • プロジェクトのプロパティで、[公開]タブの[アプリケーションファイル]をクリックします。
  • System.Data.SqlServerCe.dllを探します(おそらく[すべてのファイルを表示]チェックボックスをオンにします)。
  • 公開ステータスインクルードであることを確認してください。
于 2012-05-29T00:57:40.103 に答える