首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从DbProviderFactories中删除提供程序?

如何从DbProviderFactories中删除提供程序?
EN

Stack Overflow用户
提问于 2016-07-27 18:39:31
回答 1查看 1.2K关注 0票数 4

(配置: VS 2015社区,Windows 10 64位,.Net 4.6.1)

我曾经安装过

Npgsql数据提供程序.Net数据提供者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中的提供者声明

添加name="Npgsql数据提供程序“”invariant="Npgsql“support="FF”description=".Net Framework数据提供程序,用于Postgresql“type="Npgsql.NpgsqlFactory,Npgsql

  • 使用gacutil /u npgsql,我从GAC中删除了所有npgsql引用:

gacutil /l Npgsql微软(注册商标) .NET全局程序集缓存实用程序。版本4.0.30319.0版权(c)微软公司。版权所有。 全局程序集缓存包含以下程序集: 项目数=0

因此,在从Machine.config、App.config和GAC中删除Npgsql提供程序之后,DbProviderFactories.GetFactoryClasses()仍然报告:

Npgsql数据提供程序.Net数据提供者PostgreSQL Npgsql Npgsql.NpgsqlFactory,Npgsql,Version=3.0.7.0,Culture=neutral,PublicKeyToken=5d8b90d52f46fda7

,我还需要做什么才能让DbProviderFactories相信Npgsql不是提供者??

非常感谢你在这方面的帮助。

Edit#1:我永远无法“删除”Npgsql提供程序,但是使用NET4.5.2(而不是ofNET 4.6.1)的目标框架进行重新构建确实解决了许多其他问题。

Edit#2:我需要回到这里,但是有趣的是VisualStudio2015Community有自己的DbProvderFactories配置

C:\程序文件(x86)\Microsoft 14.0\Common7\IDE\devenv.exe.config

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-31 02:30:38

在一般意义上,我打赌从devenv.exe.config中删除它将完成它的删除。但是,在这个特定的例子中,Npgsql开发团队已经在以下位置安装了一个卸载程序:

C:\Program (X86)\ Npgsql开发团队\Npgsql

标记,uninstall.exe.

(我找不到这方面的任何资料)。

在使用PetaPoco时,无法找到Npgsql提供程序将其添加到GAC和machine.config文件中。查看devenv.exe.config,发现了以下内容:

代码语言:javascript
复制
<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使PetaPoco能够正确地从machine.confg和GAC中找到Npgsql提供程序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38620788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档