C#入门教程08.02:托管dll调用

系列索引:C#开发入门系列教程索引

上一篇:C#开发入门教程08.01:hello world

说明

  • 托管DLL:由C#平台编译生成的库文件,使用方法(1.添加引用 2.使用代码动态加载卸载)
  • 非托管DLL:由其他平台(通常为C++)编译生成的库文件,使用方法(1.使用代码静态加载 2.使用代码动态加载。均不能直接添加引用)

dll

打开VS2019,创建一个新工程,工程类型为.net class library

选择工程类型

设置工程属性,显示工程内容

工程内容

添加代码

1
2
3
4
5
6
7
8
9
10
namespace sumdll
{
public class Sum
{
public static int getSum(int a, int b)
{
return a + b;
}
}
}

打开工程属性

工程属性

点击程序集信息页面

程序集信息页面

勾选程序集COM可见

程序集com可见

如果此dll需要被C/C++等语言调用,就需要开启此功能

其他配置根据需要修改。

编译生成dll

结果文件

程序

打开VS2019,创建一个新工程,工程类型为.net console

选择工程类型

设置工程属性,显示工程内容

工程内容

在工程引用处点击右键的添加引用

添加引用

显示引用管理器

引用管理器

因为要添加的引用是自定义的,所以要使用浏览按钮对应的文件选择功能,选择刚刚编译的dll

浏览dll文件

选择后

选择dll后

点击OK,就能在工程树中看到

工程树引用列表

添加代码

1
2
3
4
5
6
7
8
9
10
11
namespace getsum2
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("The answer of 2+8 = {0}", sumdll.Sum.getSum(2, 8));
Console.ReadKey();
}
}
}

sumdll是dll名,也是dll中的命名空间名,当然这里应该是命名空间;Sum是类名,getSum是函数名。

编译运行,输出为

运行效果

可以看到dll成功调用,调用结果也正确。

下一篇:C#开发入门教程08.03:非托管dll调用


C#入门教程08.02:托管dll调用
https://feater.top/csharp/call-native-csharp-dll/
作者
JackeyLea
发布于
2023年9月25日
许可协议