dll 不在我的可执行文件中,在 visual studio 中工作但不在执行中

dll not in my executable file, working in visual studio but not on execution

我是社区的新手。我的一个项目有一个主要问题。我在学校,但这是一个个人项目,所以老师不会有任何帮助。 我在 C# 中使用 Visual Studio。

在我的项目中,我从 POP3 中的特定专用 Gmail 帐户接收邮件。我使用 S22.POP3 是因为它是一个自由程序集,并且与我正在尝试做的事情配合得很好。

所以这是我的问题:当我使用可执行文件时出现错误:

System.IO.FileNotFoundException

错误提示文件或程序集丢失。

经过大量的搜索和尝试,我仍然不知道该怎么做。我查阅了参考资料中关于互操作性的内容,但它似乎不是可行的方法。它在我使用程序集中的 class 的地方产生了一些错误。 然后我查找了 DllImport,但我没有经验,我根本不明白。我试过这样的事情:

[DllImport("S22.Pop3.dll")]
static extern

但我不明白我在这里做什么,很明显它不起作用。我知道我至少需要在 static extern 之后放一些东西,但我不知道是什么?无论如何,这可能不是要走的路。

我也看到有人在谈论ILMerge。但同样的问题在这里我不知道我在做什么。从文档中我发现它用于实现 C++。

请大家帮帮我,有时间的话,试着做一个可以收邮件的可执行文件。因为在 Visual Studio 它工作正常。一旦可执行文件出现错误。

您不需要使用 DllImport,因为该库是托管代码。

this一样使用Nuget安装即可。

然后按照 project page 中的教程进行操作。

这是第一个例子:

using System;
using S22.Pop3;

namespace Test {
    class Program {
        static void Main(string[] args) {
            /* connect on port 995 using SSL */
            using (Pop3Client Client = new Pop3Client("pop.gmail.com", 995, true))
            {
                Console.WriteLine("We are connected!");
            }
        }
    }
}