【问题标题】:How to add custom DB provider to be accessible in Visual Studio?如何添加自定义 DB 提供程序以在 Visual Studio 中访问?
【发布时间】:2011-06-21 08:57:15
【问题描述】:

我想在 Visual Studio 中使用自定义 DB 提供程序。我需要它来使用实体框架。

比如我下载了NpgSQL, 在 GAC 中注册:

gacutil  -i  c:\temp\npgsql.dll
gacutil  -i  c:\temp\mono.security.dll

并添加到 machine.config 文件中:

<add name="Npgsql Data Provider"
invariant="Npgsql"  support="FF"
description=".Net Framework Data Provider for Postgresql Server"
type="Npgsql.NpgsqlFactory, Npgsql, Version=2.0.6.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7" />

但是 Npgsql 没有出现在 Visual Studio 的数据源列表中:

如何将自定义数据库提供程序添加到此列表中?

UPD:如果我使用命令字符串 edmgen.exe 我得到错误:

错误 7001:未能找到或加载已注册的 .Net Framework 数据提供程序。

【问题讨论】:

    标签: visual-studio postgresql npgsql dbproviderfactories


    【解决方案1】:

    您需要在配置文件(Web.config、Machine.config 等)中声明 DbFactoryProvider。这是我从一个使用 MySQL 的项目中提取的示例:

    我也更喜欢在应用程序级配置文件中声明这些,并让我的应用程序使用程序集的本地副本。这有助于提高可移植性,因为我们无法保证 GAC 中可以使用第 3 方提供商。

    【讨论】:

    • 我在 machine.config 文件中添加了 Npgsql 提供程序,但注意到发生了。
    • 您必须选择正确的 machine.config 进行编辑。如果是 64 位系统,请编辑 c:\Windows\Microsoft.NET\Framework64\v4.0.*\Config\machine.config,否则使用目录“Framework”而不是“Framework64”来找到正确的配置文件.
    【解决方案2】:

    旧版(自 2013 年 1 月 7 日起):无法在 Visual Studio 中添加可访问的 Npgsql 提供程序,因为 NpgSql 目前不支持 DDEX。

    2013 年 12 月 29 日更新:DDEX 支持似乎是added

    【讨论】:

    • 我们正在为此提供支持。我们希望尽快添加它。
    • 只是跟进:我们在 2.2 beta1 中添加了对此的支持。您可以在此处获取有关如何编译、配置和安装它的更多信息:github.com/npgsql/Npgsql/wiki/… 希望对您有所帮助
    【解决方案3】:

    发件人:http://fxjr.blogspot.com/2011/05/npgsql-design-time-support-preview.html

    你必须做一个非常重要的步骤:在 Npgsql.Designer2 文件夹中,有一个名为 NpgsqlProvider.gen.reg 的文件。每次启动 VS.Net 调试项目时,都必须将此文件合并到注册表中

    【讨论】:

      【解决方案4】:

      如果你想在 Visual Studio 的数据源列表中列出 Npgsql,这个article 可能会有点帮助。

      无论如何,由于 Visual Studio 是由 Microsoft 提供的,显然您需要处理注册表。

      【讨论】:

        猜你喜欢
        • 2017-09-17
        • 2017-12-14
        • 1970-01-01
        • 1970-01-01
        • 2018-05-28
        • 1970-01-01
        • 2021-09-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多