首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dll不在我的可执行文件中,在visual studio中工作,但不在执行中。

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

Stack Overflow用户
提问于 2017-05-19 14:44:03
回答 1查看 113关注 0票数 0

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

在我的项目中,我从POP3中的一个特定的专用Gmail帐户收到邮件。我使用S22.POP 3,因为它是一个免费的程序集,并且能很好地完成我想要做的事情。

所以我的问题是:当我使用可执行文件时,我会得到一个错误:

代码语言:javascript
复制
System.IO.FileNotFoundException

错误说明文件或程序集丢失。

经过大量的探索和尝试,我仍然不知道该做什么。我查了一下互操作的东西,这是在适当的参考,但它似乎不是走的路。它在使用程序集中的类时会产生一些错误。然后我查了一下DllImport,但是我非常缺乏经验,我完全不明白。我试过这样的方法:

代码语言:javascript
复制
[DllImport("S22.Pop3.dll")]
static extern

但我不明白我在这里做什么,很明显,它不起作用。我知道我至少需要在static extern之后放点什么,但我不知道是什么?不管怎么说,也许这不是该走的路。

我也见过一些人在谈论ILMerge。但同样的问题我不知道我在做什么。从文档中我发现它是用于实现C++的。

请帮助我,如果你有时间,试着做一个可执行文件,能够得到邮件。因为在Visual中,它工作得很好。一旦成为可执行文件,我就会得到错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-19 15:23:04

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

只需使用Nuget就可以像一样安装它。

然后按照项目页中的教程进行操作。

下面是第一个例子:

代码语言:javascript
复制
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!");
            }
        }
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44072970

复制
相关文章

相似问题

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