- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
(配置:VS 2015社区,Windows 10 64位,.Net 4.6.1)
有一次我安装了
Npgsql Data Provider .Net Data Provider for PostgreSQL Npgsql Npgsql.NpgsqlFactory, Npgsql, Version=3.0.7.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7
供
使用DbProviderFactories.GetFactoryClasses().
我现在正在尝试删除它。
我已从项目的 App.config 中删除所有连接字符串和 xml 元素。
来自两者
%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\CONFIG\machine.config
和
%SystemRoot%\Microsoft.NET\Framework64\v4.0.30319\CONFIG\machine.config
我删除了 DbProviderFactories 中的提供者声明
add name="Npgsql Data Provider" invariant="Npgsql" support="FF" description=".Net Framework Data Provider for Postgresql Server" type="Npgsql.NpgsqlFactory, Npgsql"
gacutil /l Npgsql Microsoft (R) .NET Global Assembly Cache Utility. Version 4.0.30319.0 Copyright (c) Microsoft Corporation. All rights reserved.
The Global Assembly Cache contains the following assemblies:
Number of items = 0
因此,从 machine.config、App.config 和 GAC 中删除 Npgsql 提供程序后,DbProviderFactories.GetFactoryClasses() 仍然报告:
Npgsql Data Provider .Net Data Provider for PostgreSQL Npgsql Npgsql.NpgsqlFactory, Npgsql, Version=3.0.7.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7
我还需要做什么才能让 DbProviderFactories 相信 Npgsql 不是提供者?
非常感谢您对此提供的任何帮助。
编辑#1:我永远无法“删除”Npgsql 提供程序,但使用 NET 4.5.2(而不是 NET 4.6.1)的目标框架重新构建确实解决了很多其他问题。
编辑#2:我需要回到这个问题上,但有趣的是 Visual Studio 2015 社区在
上有自己的 DbProvderFactories 配置C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe.config
最佳答案
在一般意义上,我打赌将其从 devenv.exe.config 中删除将完成删除。但是,在这种特定情况下,事实证明 Npgsql 开发团队已经在以下位置安装了卸载程序:
C:\Program Files (x86)\The Npgsql Development Team\Npgsql
标记为uninstall.exe。
(我找不到这方面的信息)。
延迟更新在使用 PetaPoco 时,无法找到 Npgsql 提供程序,尽管它被添加到 GAC 和 machine.config 文件中。查看 devenv.exe.config,发现:
<remove invariant="Npgsql" />
<add name="Npgsql Data Provider" invariant="Npgsql" description=".Net Data Provider for PostgreSQL" type="Npgsql.NpgsqlFactory, Npgsql, Version=3.0.7.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7" />
指的是错误的 Npgsql 版本。从 devenv.exe.config 文件中删除它并重新启动 Visual Studio 允许 PetaPoco 从 machine.confg 和 GAC 中正确找到 Npgsql 提供程序。
关于c# - 如何从 DbProviderFactories 中删除提供者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38620788/
我对单元测试比较陌生,对模拟完全陌生。我有一个数据库类,它包装了 DbProvider 工厂,我想在不连接到数据库的情况下为其创建单元测试。 我如何模拟 DbProvider 工厂,以便我可以将它传递
我的电脑上安装了 C#、Framework 4.5 和 MySqL 连接器 如果我尝试过 using MySql.Data.MySqlClient; ... MySqlConnection tst =
(配置:VS 2015社区,Windows 10 64位,.Net 4.6.1) 有一次我安装了 Npgsql Data Provider .Net Data Provider for Postgre
我正在重构一些基于 DbProviderFactory 的旧代码利用连接池,但我遇到了一个简单的问题: DbProviderFactories.GetFactory() 返回的对象是线程安全? 现在的
我在使用 dotnet 框架 4 的 VB.NET 类库中的 Visual Studio 2010 SP1 中使用 MySQL .Net 连接器版本 6.3.6。MySql.Data 是使用 NuGe
我有一个项目正在尝试从 SQL Server 移植到 PostgreSQL。除了我无法让 DbProviderFactory 与 Npgsql 一起工作之外,我几乎已经完成了我认为的所有事情。 Fac
对于下面的方法,我想传入 DbProviderFactories 类的模拟,但不能,因为它是一个静态类: private DbConnection GetConnection() {
我将 .NET MySQL Connector 与 Entity Framework 4 一起使用,一切都运行良好,但我想在服务器上部署时将 MySQL 客户端 DLL 文件与我的应用程序打包在一起,
我有一个需要 DbProviderFactory 的 .net 核心库作为依赖传递到服务中。在可预见的 future 它应该是 SQL Server,所以我想我可以做这样的事情: services.A
我实现了一个自定义的 DbProviderFactory,它返回了 SqlX 类型,除了我将以下逻辑添加到 CreateCommand public override DbCommand Create
我在使用 RavenDB 3.5 SQL 复制到 MySQL 服务器时遇到问题。我使用的是 Windows 10、RavenDB 3.5 和 MySQL 8.0.12。我尝试过回归基础,没有 SSL,
我需要让 DbProviderFactories.GetFactory() 返回 Sqlite 的提供程序。但是,我通过 NuGet 将 Sqlite 添加到我的项目中,并希望避免将其放入 GAC 并
根据 MSDN .NET 4 中有 GetFactory(DbConnection) 的重载。但是,我无法调用它 - 在编译时失败说: error BC30518: Overload resoluti
我想使用 DbProvider 类来构造一个通用 DAL 组件。这在不同的数据库提供者之间切换时会很方便。在安装了 Oracle 2.2 的机器上,当尝试列出机器上所有可用的数据库提供程序时,未列出
我在我的数据层(基于 Entity Framework )中使用 DbProviderFactories 并在我的数据库中使用 SQLite,但我不需要 App.Config 来拥有以下代码:
我最近在客户端机器上遇到了以下错误: “DbProviderFactories”部分在每个配置文件中只能出现一次。 机器配置似乎包含重复的 DbProviderFactories 元素。
当我在 ADO.Net 中实例化一个 SqlConnection 对象时,这段代码会导致执行相应的 DbProviderFactory 代码吗?所以当 block 2 中的代码被执行时,我们实际上最终
如何将 ADO.NET DbProviderFactory 与 MySQL 一起使用? 最佳答案 首先,您必须安装 MySQL .Net Connector . MySQL Provider 工厂具有
我在两个 .net 框架的 machine.config 文件中修复了此问题,但我仍然遇到相同的错误,谢谢。 最佳答案 如果您打开 SSMS (Sql Server Management Studio
我正在尝试让 EF6 基于代码的配置与 .NET 4.0 中的 SQLite 一起使用。在我的目标应用程序中 App.config是自动生成的,因此编辑非常痛苦。最初,当通过 NuGet 将 EF6
我是一名优秀的程序员,十分优秀!