.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
相关推荐
魏杨杨7 小时前
一个程序员眼中的 AI 核心概念,讲透 LLM 、Agent 、MCP 、Skill 、RAG...
ai·.net·agent·claude code
AI行业学习16 小时前
.NET Framework 3.5 官方离线包下载+完整安装教程【2026.5.19】
.net
切糕师学AI18 小时前
.NET 中 CallerMemberName 与 StackTrace 的深度对比
.net·调用栈·stacktrace·callermember
步步为营DotNet1 天前
解锁.NET 11 新境:ASP.NET Core 10 在微服务安全通信的深化与实践
微服务·asp.net·.net
唐青枫1 天前
C#.NET YARP + OpenTelemetry:网关链路追踪实战
c#·.net
rockey6271 天前
AScript异步执行与await关键字
c#·.net·script·eval·expression·异步执行·动态脚本
叫我少年1 天前
ASP.NET Core 最小 API 快速参考
.net·api
步步为营DotNet2 天前
深入.NET 11:C# 14 在边缘计算数据处理的优化与实践
c#·.net·边缘计算
步步为营DotNet3 天前
洞悉.NET 11:Blazor 与 Microsoft.Extensions.AI 的融合创新实践
人工智能·microsoft·.net
回忆2012初秋3 天前
.NET 8.0 实战:基于 MQTTnet 封装高可用的 MQTT 发布/订阅工具类
开发语言·mqtt·.net