美文网首页
.net 5 调用 DLL

.net 5 调用 DLL

作者: ansey | 来源:发表于2021-07-21 02:18 被阅读0次

    前置工作:已经操作 .net 5 快速开始

    环境:

    系统 window10 x64

    1.打开项目

    • vs code 打开上一步创建好的目录 xxx\net5Start\
    • 创建 net5Start\lib\ 目录
    • 所有 .dll 放入 \lib 目录

    2.托管 DLL 调用

    C# 工程编译dll 为托管模式dll ,一般调用较为方便,只需要简单配置引用。

    • .csproj 文件中配置 dll 引用
    <Project Sdk="Microsoft.NET.Sdk">
    .....
      <ItemGroup>
      <Reference Include=".\lib\classlibTest.dll"></Reference>
      </ItemGroup>
    .....
    
    • 代码中直接调用dll的内容
    static void Main(string[] args)
            {
                Console.WriteLine("Hello World!");
                //直接调用 dll中的 ADD 函数
                Console.WriteLine("打印 托管 dll 函数调用 ADD:" + classlibTest.Class1.ADD(12, 5));
            }
    
    //Hello World!
    //打印 托管 dll 函数调用 ADD:17
    
    

    3.非托管 DLL 调用

    C++ 编译 dll ,默认为 非托管模式。

    • InteropServices 引用
    using System.Runtime.InteropServices;
    
    • 定义绑定非托管函数
    [DllImport(@".\lib\cpp2DllStyleC.dll")]
    public static extern double add_gcc_c(double a, double b);
    
    • 代码中调用
    static void Main(string[] args)
            {
                Console.WriteLine("Hello World!");
                Console.WriteLine("打印 托管 dll 函数调用 ADD:" + classlibTest.Class1.ADD(12, 5));
                //调用 绑定 非托管dll的函数
                Console.WriteLine("打印 非托管 dll 函数调用 ADD:" + add_gcc_c(8, 6));
            }
    
    //Hello World!
    //打印 托管 dll 函数调用 ADD:17
    //打印 非托管 dll 函数调用 ADD:14
    
    

    相关文章

      网友评论

          本文标题:.net 5 调用 DLL

          本文链接:https://www.haomeiwen.com/subject/musdmltx.html