1

我正在尝试部署一个使用.SDF文件和实体框架的应用程序。每当部署的应用程序尝试使用实体(连接到数据库)时,我都会收到错误消息:

在配置中找不到指定的商店提供程序,或无效。
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.5 SP2 运行时,或使用此处所述的私有部署:http: //erikej.blogspot.com/2012/05/private-deployment-of-sql-server.html

于 2012-05-29T07:27:15.963 回答
0
  • 在您的项目属性下,在Publish选项卡上,单击Application Files
  • 查找System.Data.SqlServerCe.dll(可能通过选中显示所有文件框)。
  • 确保其Publish StatusInclude
于 2012-05-29T00:57:40.103 回答