日期:2014-05-20  浏览次数:20968 次

请教高手:c#调用dll的一点疑问!!急救!!!
我自己写了个dll(名称是DLL1.dll),代码如下:
_declspec(dllexport)   int   add(int   a,int   b)
{
return   (a+b);
}
并且,该dll也在vs6.0中测试成功,说明dll没有问题;

但用VS.NET   C#调用这个dll,而且该dll已经和调用函数放在了同一目录下,仍出现提示错误:
未处理的“System.EntryPointNotFoundException”类型的异常出现在   MyDllTest.exe   中。
其他信息:   无法在   DLL   DLL1.dll   中找到名为   add   的入口点。

程序如下:
using   System;
using   System.Runtime.InteropServices;

namespace   MyDllTest
{
///   <summary>
///   Class1   的摘要说明。
///   </summary>
class   Class1
{
[DllImport( "DLL1.dll ",   CharSet=CharSet.Auto)]
static   extern   int   add(int   a,int   b);//声明外部的标准动态库,   跟Win32API是一样的

///   <summary>
///   应用程序的主入口点。
///   </summary>
[STAThread]
static   void   Main(string[]   args)
{
//
//   TODO:   在此处添加代码以启动应用程序
//
Console.WriteLine(add(10,20));
}
}
}

------解决方案--------------------
帮顶~
------解决方案--------------------
[DllImport( "C:\\DLL1.dll ")] //用绝对路径先测试看看
private static extern int add(int a, int b);
------解决方案--------------------
try:

http://www.cnblogs.com/KissKnife/archive/2006/11/04/549990.html
------解决方案--------------------
ls:
你那篇文章并没告诉怎么解决问题啊,你不会也要lz着那个eXeScope软件吧,能否说出具体的解决办法?????