C#中的dll问题

时间:2011-03-29 20:34:44

标签: c# dll dllimport

您好 我想用一些函数创建一个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);
        }           
    }      
} 

2 个答案:

答案 0 :(得分:6)

您不需要使用[DllImport]属性。这是调用非托管C / C ++库的原因。对于.NET,您只需将生成的DLL添加到项目引用中并直接使用它:

enter image description here

例如,如果在Visual Studio解决方案中有两个名为Proj1(类库)和Proj2(控制台应用程序)的项目,则右键单击Proj2的引用并从“项目引用”选项卡中选择Proj1。然后你直接使用这个类:

long result = nlClass.Add(1, 3);

将正确的使用添加到命名空间后:

using nlLibrary;

答案 1 :(得分:0)

此外,您无法运行DLL。当您尝试运行DLL(调试)时,它将为您提供该错误消息。如果您想测试DLL,请查看创建test project