C#中的dll问题

rod*_*dro 0 c# dll dllimport

您好我想用一些函数创建一个dll.对于初学者,我试图做一些简单的例子来测试.我正在创建一个新的类库,例如下面的代码.当我构建它(没有错误)并创建一个dll文件时,我尝试在我的其他项目中使用它

[DllImport("nllibrary.dll")]  
 public static extern long Add(long i, long j);
Run Code Online (Sandbox Code Playgroud)

我可以编译它,但当我尝试运行应用程序时,它给我错误"找不到入口点".当我用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);
        }           
    }      
} 
Run Code Online (Sandbox Code Playgroud)

Dar*_*rov 6

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

在此输入图像描述

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

long result = nlClass.Add(1, 3);
Run Code Online (Sandbox Code Playgroud)

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

using nlLibrary;
Run Code Online (Sandbox Code Playgroud)