【问题标题】:Getting FileNotFound Exception while creating connection to PostgreSQL in Visual Studio?在 Visual Studio 中创建与 PostgreSQL 的连接时出现 FileNotFound 异常?
【发布时间】:2016-03-16 12:16:50
【问题描述】:

我是第一次使用 Visual Studio,我正在尝试创建一个简单的应用程序,我将在其中查询数据库并在屏幕上显示结果。

我已经下载了 npgsql.dll 文件并将它放在我的本地机器中,我正在通过右键单击添加对它的引用并添加引用方法。

当我创建连接并尝试执行时,它在数据库创建行给出 FileNotFound 异常。如果我删除该行并显示一个简单的消息框,那么它工作正常。谁能告诉我这里出了什么问题?

我是否需要将 .dll 文件放在任何特定位置并添加对它的引用?

下面我贴出代码部分:

using System;
using System.Windows.Forms;
using Npgsql;

namespace Test
{
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        NpgsqlConnection conn = new NpgsqlConnection("Server=localhost;Port=5432;User Id=postgres; Password=password; Database=test");
        conn.Open();
        MessageBox.Show("Welcome");
    }
}
}

【问题讨论】:

  • 我猜你缺少 npgsql.dll 的依赖项
  • 从包管理器控制台运行以下命令 Install-Package Npgsql -Version 3.0.5 参考这个文档docs.nuget.org/consume/package-manager-console
  • @Soundararajan 谢谢。它正在工作。请移植你的答案。
  • 您尚未发布创建数据库的代码。请发布完整的异常,包括调用堆栈,而不仅仅是类型名称。您可以使用Exception.ToString() 获得完整的例外情况
  • 你是如何添加 PostgreSQL 驱动的?带包裹?什么时候发生错误?调试时还是运行时?

标签: c# visual-studio postgresql visual-studio-2010


【解决方案1】:

我猜您缺少 npgsql.dll 的依赖项。从包管理器控制台运行以下命令

安装包 Npgsql -Version 3.0.5

有关包管理器控制台的详细信息,请参阅docs

【讨论】:

    【解决方案2】:

    看起来 Npgsql 错过了。您可以从 Nuget 下载它。

    安装包 Npgsql -Version 3.0.5

    Npgsql 3.0.5

    【讨论】:

    • 如果包丢失,OP 是如何编译代码的?如果 OP 忘记复制 dll,则异常会有所不同,尽管在内部异常树的深处会有 FileNotFound 异常
    • 发布完整的、完整的异常或屏幕截图。 Npgsql 的 Copy to Output Dierectory 属性是否设置为 Copy Always?
    猜你喜欢
    • 2023-03-30
    • 1970-01-01
    • 2010-10-30
    • 2021-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多