.net9 AOT编绎生成标准DLL,输出API函数教程-中国首创

1,安装VS2022预览版(Visual Studio Preview)

https://visualstudio.microsoft.com/zh-hans/vs/preview/#download-preview

2,选择安装组件:使用C++的桌面开发 和 .NET桌面开发


创建、编绎动态DLL:

1,C#命令行创建dll工程:

VS2022菜单:工具》命令行》开发者命令提示,输入:

dotnet new classlib -o CSharpDllExport -f net9.0

2,class1.cs修改代码:

vbnet 复制代码
using System.Runtime.InteropServices;

namespace CSharpDllExport
{
    public static class Class1
    {
        [UnmanagedCallersOnly(EntryPoint = "Add")]
        public static int Add(int a, int b)
        {
            return a + b;
        }
    }
}

3,编绎生成32位标准Dll,输出函数Add(加法计算)

用时12秒左右,DLL大小,1MB

dotnet publish CSharpDllExport -p:PublishAot=true -r win-x86 -c release /p:NativeLib=Shared -f net9.0

4,VB6中调用API

CSharpDllExport\bin\release\net9.0\win-x86\publish\CSharpDllExport.dll

vbscript 复制代码
Private Declare Function Add Lib "CSharpDllExport" (ByVal a As Long, ByVal b As Long) As Long

Private Sub Command1_Click()
    MsgBox Add(3, 4)
End Sub
相关推荐
小邓的技术笔记8 小时前
.NET 10 使用 Microsoft.AspNetCore.OpenApi 实现 API 版本管理
.net
夏霞9 小时前
IIS 应用程序池 3 种标识:ApplicationPoolIdentity / LocalSystem / LocalService 权限区别(超清晰)
c#·.net
回忆2012初秋1 天前
Quartz.NET 全面解析与实战指南
.net
我是唐青枫1 天前
C#.NET ThreadLocal 深入解析:线程独享数据、性能收益与实战边界
c#·.net
唐青枫1 天前
别再把增删改查写成一锅粥!C#.NET CQRS 从原理到实战
c#·.net
唐青枫2 天前
C#.NET ThreadLocal 深入解析:线程独享数据、性能收益与实战边界
c#·.net
SEO-狼术2 天前
Include Scannable Barcodes in Reports
.net
qq_431280702 天前
工作经验总结:半导体上位机软件开发与互联网开发的不同
c#·.net
ironinfo2 天前
.net 高并发服务性能瓶颈排查处理
性能优化·.net·grpc
回忆2012初秋2 天前
【.Net】一文讲清楚SonnetDB 时序库的使用
.net