Visual Studio - 在配置中找不到指定的商店提供程序,或者无效

时间:2014-12-15 18:01:27

标签: oracle entity-framework visual-studio-2012

当尝试构建/运行我的团队正在使用的解决方案而没有问题时,我不断收到以下错误消息。

  • 在运行时,它在实例化DbContext时抛出异常:"在配置中找不到指定的商店提供者,或者无效"
  • 内部异常:"无法找到请求的.Net Framework数据提供程序。它可能没有安装"

使用完全相同的代码/项目/配置,其他3个队友对此没有任何问题。

我们使用VS2013,EF 5.0,Oracle Client for .NET,Windows 7 x64 连接字符串:

metadata=res://*/BpmModel.csdl|res://*/BpmModel.ssdl|res://*/BpmModel.msl;provider=Oracle.ManagedDataAccess.Client;provider connection string="DATA SOURCE=BpmOracle;PASSWORD=xxxxxxx;PERSIST SECURITY INFO=True;USER ID=xxxxxx;" providerName="System.Data.EntityClient"

到目前为止,我们已经尝试过:

  • 卸载并重新安装VS2013
  • 安装VS2014 Update 4
  • 创建并重新创建解决方案和工作区约3-4次
  • 已安装实体框架
  • TNSNames.ora是正确的

我们可以尝试解决这个难题吗?

3 个答案:

答案 0 :(得分:2)

我已经解决了这个问题。 在IIS中切换到32位应用程序就可以了。

详细说明:

  • 打开IIS
  • 取消旋转连接列表(很可能是计算机名称)
  • 点击“应用程序池”
  • 对于列出的每个应用程序:
    • 右键单击>>高级设置
    • 设置"启用30位应用程序"为真

答案 1 :(得分:1)

您是否在提供程序部分的app.config / web.config中注册了oracle提供程序?请查看thisthis以供参考。

答案 2 :(得分:1)

我解决这个问题的方法是在Web.config中添加所需的配置,通过 NuGet 安装缺少的包。

右键单击您的解决方案或项目,单击Manage NuGet packages,然后安装缺少的Oracle引用。这应该使用引用修改您的Web.config。