发布网友 发布时间:2022-04-22 06:41
共2个回答
懂视网 时间:2022-04-27 18:20
管理员身份运行cmd regsvr32.exe dll的绝对路径
(xp:windows/system32/下)
(Regsvr32命令的作用是将动态链接库文件注册为注册表中的命令组成)
注册成功后,方可添加引用
热心网友 时间:2022-04-27 15:28
一般情况下,如果在新建或添加时选择“windows应用程序”或“控制台应用程序”时,结果都会被编译成exe,而选择“类库”时就会被编译成dll。也可以在项目属性中更改其输出类型,如下图:
下面上一个创建dll并引用的实例.
1.新建一个项目,选择类库,命名DllTest。然后写一个类,里面包含一些方法什么的,为了突出主题,作为例子,我就写了一个简单的类,如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace DllTest
{
// 求两个数或三个数的最大值
public static class TestClass
{
public static int GetMax(int a, int b)
{
return (a > b ? a : b);
}
public static int GetMax(int a, int b, int c)
{
return ((a > b ? a : b) > c ? (a > b ? a : b) : c);
}
}
}
点“生成”后在 bin\debug 文件夹下会出现一个与项目名同名的dll文件
2.再新建一个项目(也可以建一个新的解决方案)命名DllRef这时就不要选类库类型了,Win应用和Console任选一个,然后添加对刚刚生成的dll文件的引用,并using其命名空间。
这时在本项目的bin\Debug文件夹下也出现了一个dll文件,就是我们引用的那个。
写相关调用语句:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DllTest;
namespace DllRef
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(TestClass.GetMax(5, 6));
Console.WriteLine(TestClass.GetMax(7, 8, 9));
}
}
}
将第二个项目设为启动项,试运行成功。就是说我们在新的项目中,用到了封装在dll中的类。
dll为一个程序集,可以被不同的程序重复调用,只要将其成功引用并using其命名空间即可。