用于修改 machine.config 文件的 API - 每个配置文件中“DbProviderFactories”部分只能出现一次

2024-03-15

我最近在客户端计算机上遇到以下错误:

“DbProviderFactories”部分在每个配置文件中只能出现一次。

计算机配置似乎包含重复的 DbProviderFactories 元素。

<system.data>
    <DbProviderFactories>
        <add name="IBM DB2 for i .NET Provider" invariant="IBM.Data.DB2.iSeries" description=".NET Framework Data Provider for IBM i" type="IBM.Data.DB2.iSeries.iDB2Factory, IBM.Data.DB2.iSeries, Version=12.0.0.0, Culture=neutral, PublicKeyToken=9cdb2ebfb1f93a26" />
    </DbProviderFactories>
    <DbProviderFactories />
</system.data>

手动删除这个额外的元素可以解决问题,并且我们的软件可以运行。但是,有人要求我们尝试通过忽略我们自己的 app.config 中的重复条目来解决此问题。这是因为很多客户端可能会遇到同样的问题,我们无法修改每个人的配置文件。

我试过添加一个<clear/>system.data 部分内的元素,希望覆盖 machine.config 中已有的内容。然而,这是行不通的。

例如

<system.data>
    <clear />
    <DbProviderFactories>
      <add name="Microsoft SQL Server Compact Data Provider 4.0" 
           invariant="System.Data.SqlServerCe.4.0" 
           description=".NET Framework Data Provider for Microsoft SQL Server Compact" 
           type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
    </DbProviderFactories>
  </system.data>

有没有办法以编程方式忽略重复的 DbProviderFactories 元素?

是否存在允许您修改机器配置的 API?

有人可以帮忙,或者推荐一个解决方案吗?

亲切的问候


我最近在尝试将 SqlServerCe 与实体框架一起使用时遇到了同样的问题。

我已经设法通过使用来解决这个问题基于代码的配置 http://msdn.microsoft.com/en-US/data/jj680699实体框架 6 中提供的功能。

您需要做的就是删除<entityframeowrk> and <system.data>标签来自你的app.config并在您的项目中包含类似于以下内容的类:

using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using System.Data.Entity.SqlServerCompact;
using System.Data.SqlServerCe;

namespace Data
{
    public class DatabaseConfiguration : DbConfiguration
    {
        public DatabaseConfiguration()
        {
            SetExecutionStrategy("System.Data.SqlServerCe.4.0", () => new DefaultExecutionStrategy());
            SetProviderFactory("System.Data.SqlServerCe.4.0", new SqlCeProviderFactory());
            SetProviderServices("System.Data.SqlServerCe.4.0", SqlCeProviderServices.Instance);
        }
    }
}

然后实体框架将自动为您选择并使用它。需要注意的是,配置中app.config将覆盖此类中出现的任何内容。

另外,如果您不想在数据层中包含此类,请参阅移动 DbConfiguration 部分here http://msdn.microsoft.com/en-US/data/jj680699#Moving.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用于修改 machine.config 文件的 API - 每个配置文件中“DbProviderFactories”部分只能出现一次 的相关文章

随机推荐

  • 从日期时间中删除分钟 - sql

    DECLARE MinutesToAdd int 20 DECLARE StartTimeDate datetime 2017 06 05 14 37 56 113 DATEADD minute MinutesToAdd StartTime
  • 在 React/Redux 中分派操作时有没有好的方法来防止默认情况?

    我正在调度一个操作 该操作运行一个减速器 在表单提交时将一些文本推送到我的 redux 状态 我知道在 Vue 中你可以preventDefault就在 DOM 中 但我在 React 中没有看到任何东西可以让这看起来成为可能 我想知道阻止
  • WordPress 网站中的 jQuery UI 工具提示

    尝试让工具提示使用图片而不是文本 到目前为止 它适用于我网站中的文本 a href title hello world ALOHA a 这工作正常 它在链接悬停时显示 hello world 但如果我尝试以下操作 工作 jsfiddle 示
  • 如何调试生成格式错误的可执行文件的实验工具链

    我正在使用交叉编译一个实验性的 GNU 免费 Linux 工具链clang http clang llvm org 代替gcc compiler rt http compiler rt llvm org 代替libgcc libunwind
  • sql 将单行转换为键/值列

    我有一个返回 1 行的 SQL 查询 其中包含多个列标题 Col 1 Col 2 Col 3 val 1 Val 2 Val 3 有没有办法将此行转换为 2 列 即 Col 1 Val 1 Col 2 Val 2 Col 3 Val 3 这
  • 严格别名警告,创建对 unsigned char 数组 + 偏移量的 uint32_t 引用

    在 GNU GCC 4 7 0 中 我收到了一些严格的别名警告 我想解决这些警告 我有一个有效负载 来自硬件 unsigned char payload davidlt PAYLOAD SIZE 我有这一行 uint32 t payload
  • 新类型的一个覆盖如何显示?

    我想重写 Haskell 中的默认整数构造函数 以便它们生成字符串 主要是出于好奇 但暂时为 LaTeX 的 frac 不便提供一个很好的输入替代方案 我希望能够使用语言本身 而不是特殊的解析器 但我想这可能行不通 module Main
  • 如何使用 Python 和 MySQLdb 检索 mysql 数据库中的表名?

    我有一个 SQL 数据库 想知道您使用什么命令来获取该数据库中的表名列表 更完整一点 import MySQLdb connection MySQLdb connect host localhost user myself passwd m
  • 关于访问 Tuple2 内的字段时发生错误

    我正在尝试访问 Tuple2 中的字段 但编译器返回错误 该软件尝试在 kafka 主题中推送一个案例类 然后我想使用 Spark Streaming 恢复它 这样我就可以提供机器学习算法并将结果保存在 mongo 实例中 Solved 我
  • 简单的数值表达式求解器

    首先 抱歉我的英语不好 对于我的算法和数据结构类的最后一个项目 我需要用 C 创建一个简单的数值表达式求解器 它需要解决简单的表达式 例如3 12 4 6 我设法拆分表达式并将运算符与数字分开 但我无法继续下去 诀窍是将运算符放在二叉树上
  • ELMAH:Elmah 页面未设计样式,使其难以阅读

    Setup 我通过 NuGet 在 ASP NET MVC 4 站点上安装了 ELMAH 在开发机器上 应用程序安装在根目录下 一切正常 并且样式与 ELMAH 页面通常一样 它总是这样做 我的意思是在开发机器上工作 不是吗 但在服务器上
  • PDFView printWithInfo:autoRotate: 失败

    我正在尝试打印一个由一系列图像构建的 PDF 文档 如果重要的话 我会在 Mozilla 插件中完成所有这些工作 我创建 PDFDocument 并将其放入 PDFView 然后调用 printView printWithInfo NSPr
  • Map.keySet 和 Map.values 上的迭代顺序相同吗?

    对于这样的地图 Map
  • dotfuscator并行优化?

    我的公司使用 Dotfuscator 进行 NET 应用程序混淆 它工作得很好 但是我注意到在我们的构建过程中它是一个单线程操作 Dotfuscator exe 始终在我们 8 核构建机器的单个核心上运行 这让我内心有些哭泣 有什么魔法可以
  • Gunicorn 内存使用量和线程不断增长

    我正在 Kubernetes 环境中使用 Gunicorn 运行 Django 应用程序 几周以来 Pod 的内存使用量持续增长 查看进程列表后 我注意到有许多 Gunicorn 进程看似已死 但仍在使用内存 我启动 Gunicorn 的命
  • android - 以编程方式将 ID 设置为视图

    我正在添加Buttons以编程方式和数量Buttons取决于一些条件 添加规则相对布局 LayoutParams that Buttons彼此顶部对齐我需要设置它们IDs 2 3年前的所有答案都说设置 ID int 没问题 例如setId
  • 如何在 Django 中使用 Matplotlib?

    根据网上的一些例子 我编写了下面的测试代码 有用 但是如果我重新加载页面 饼图将使用相同的图像自行绘制 每次重新加载页面时 某些部分都会变得更暗 当我重新启动开发服务器时 它被重置 我该如何正确绘画Matplotlib http en wi
  • 用户通知:自定义振动模式

    是否可以为用户通知警报创建自定义振动模式 例如 我们可以选择为用户通知使用不同的音频 是否也可以有自定义振动模式 我的意思是使用 swift 在 iOS 上以编程方式执行此操作 用于在 iOS 中创建自定义振动 使用 AudioServic
  • ruby 编码::未定义转换错误

    大家好 我正在尝试运行我的第一个 ror 应用程序 并得到以下错误 C Sites myapp gt rails server Could not find gem tzinfo data gt 0 x86 mingw32 in the g
  • 用于修改 machine.config 文件的 API - 每个配置文件中“DbProviderFactories”部分只能出现一次

    我最近在客户端计算机上遇到以下错误 DbProviderFactories 部分在每个配置文件中只能出现一次 计算机配置似乎包含重复的 DbProviderFactories 元素