将一个dll添加到c#项目并使用dll函数

时间:2017-08-08 06:31:06

标签: c# .net dll

enter image description here我正在尝试在我的c#控制台项目中导入一个dll。 我在项目的参考中添加了dll。右键单击 - >添加引用 - >浏览。 DLL放在我的项目文件夹以及c盘中的程序数据文件夹中。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
using mcp2210;

最后一行“使用mcp2210;”给出错误

  

错误1找不到类型或命名空间名称“mcp2210”(是   你错过了使用指令或程序集   参考?)C:\ Users \ testuser \ AppData \ Local \ Temporary   项目\ ConsoleApplication1 \ Program.cs的

我的项目中是否需要使用[DllImport(“mcp2210.dll”)]? 如何访问此dll的功能?

Please see the images below

修改

您好我可以使用对象浏览器中的命名空间在我的项目中添加dll。但是,当我尝试在调试模式下运行它时,我得到了badImageFormatException处理弹出窗口。

无法加载文件或程序集'mcp2210_dll_m_dotnetv2_x86,Version = 1.0.5980.19136,Culture = neutral,PublicKeyToken = null'或其依赖项之一。尝试加载格式不正确的程序。 为什么会这样?

3 个答案:

答案 0 :(得分:1)

命名空间与DLL的名称无关。仅仅因为DLL被命名为mcp2210并不意味着它包含名称空间mcp2210

在您添加引用后,打开Visual Studio的object browser。在左侧的树视图中找到DLL并展开它以发现其中包含的命名空间和类。

enter image description here

找到后,在using声明中使用其中一个名称空间,您就可以了。

如果你无法浏览到你的DLL,它可能是错误的DLL类型或错误的框架版本。

答案 1 :(得分:0)

确保它是否为托管dll。如果使用非托管构建,则手动将此dll放在bin文件夹中。

只需在bin中复制粘贴

答案 2 :(得分:0)

首先,确保dll项目和单独的项目具有相同的目标平台(32位,64位或任何cpu,方法是转到项目的属性)。

其次,请确保已将dll添加为项目的参考。除此之外,请将文件放在项目的&#bin;>中。调试'夹。 路径应如下所示(.. \ Your Project \ bin \ Debug)。

如果所有这些都失败了,请仔细检查每个项目中Target Framework是否匹配。