您好 我想用一些函数创建一个dll。对于初学者,我试图做一些简单的例子来测试。我正在创建一个新的类库,例如下面的代码。 当我构建它(没有错误)并创建一个dll文件时,我尝试通过
在我的其他项目中使用它[DllImport("nllibrary.dll")]
public static extern long Add(long i, long j);
我可以编译它但是当我尝试运行应用程序时,它会给我错误“无法找到入口点”。当我用depends.exe查看这个dll时,它在dll中没有显示任何功能。 我的dll有什么问题?
dll的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace nlLibrary
{
public class nlClass
{
public static long Add(long i, long j)
{
return (i + j*2);
}
}
}
答案 0 :(得分:6)
您不需要使用[DllImport]
属性。这是调用非托管C / C ++库的原因。对于.NET,您只需将生成的DLL添加到项目引用中并直接使用它:
例如,如果在Visual Studio解决方案中有两个名为Proj1(类库)和Proj2(控制台应用程序)的项目,则右键单击Proj2的引用并从“项目引用”选项卡中选择Proj1。然后你直接使用这个类:
long result = nlClass.Add(1, 3);
将正确的使用添加到命名空间后:
using nlLibrary;
答案 1 :(得分:0)
此外,您无法运行DLL。当您尝试运行DLL(调试)时,它将为您提供该错误消息。如果您想测试DLL,请查看创建test project。