【问题标题】:Entity Framework and SQL CE private deployment for a DLLDLL 的实体框架和 SQL CE 私有部署
【发布时间】:2013-06-07 08:30:06
【问题描述】:

我们的软件可用作 Autodesk Inventor 的插件。这意味着我们的应用程序(由 DLL 组成)文件夹与 EXE 完全分离。

问题在于实体框架试图加载 SQL CE 提供程序,该提供程序私下安装在我们应用程序中的其余 DLL 旁边。在未安装 SQL CE 的机器上运行应用程序时出现以下错误:

System.ArgumentException: Unable to find the requested .Net Framework Data Provider.  It may not be installed.
at System.Data.Entity.Infrastructure.SqlCeConnectionFactory.CreateConnection(String nameOrConnectionString)
at System.Data.Entity.Internal.LazyInternalConnection.Initialize()
at System.Data.Entity.Internal.LazyInternalConnection.get_ProviderName()
at System.Data.Entity.Internal.LazyInternalContext.InitializeContext()
at System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType)
at System.Data.Entity.Internal.Linq.InternalSet`1.Initialize()
at System.Data.Entity.Internal.Linq.InternalSet`1.get_InternalContext()
at ...

如果我将所有 SQL CE 安装文件复制到 Inventor 的 bin 文件夹(主 EXE 旁边),一切正常,但这不是一个选项。

我已经调查了一些主题,建议修改 app.config,指定不同的提供程序。它们都类似于thisthat。但它在我的情况下不起作用。 app.config 修改不能帮助我指定提供程序的位置,即使这样做,修改配置也不是一种选择(除非我可以有一个单独的配置)。

这可能吗?我想指定我的安装文件夹的位置,以便 Entity Framework 可以在那里查找 SQL CE 提供程序。

【问题讨论】:

    标签: entity-framework sql-server-ce add-in autodesk


    【解决方案1】:

    我认为这不可能,您必须使用提供程序注册更新主 .exe 配置文件,或者安装 SQL CE MSI。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-25
      相关资源
      最近更新 更多