.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
相关推荐
源之缘-OFD先行者7 分钟前
GMap.NET + WPF:构建高性能 ADS-B 航空器追踪平台
.net·wpf·ads-b
小码编匠5 小时前
.NET 验证码生成神器基于 SkiaSharp 的高性能方案
后端·c#·.net
专注VB编程开发20年5 小时前
Aspose.words,Aspose.cells,vb.net,c#加载许可证,生成操作选择:嵌入的资源
c#·word·.net·vb.net
破罐子不摔5 小时前
【C#使用S7.NET库读取和写入西门子PLC变量】
java·c#·.net
下一秒_待续7 小时前
.Net8项目使用docker、docker-compose部署步骤
docker·容器·.net
Minily18 小时前
35岁程序员的中年求职记:四次碰壁后的深度反思
.net·面试题·35岁危机
吴俊城1 天前
记一个.NET AOT交叉编译时的坑
.net
追逐时光者1 天前
在 Blazor 中使用 Chart.js 快速创建数据可视化图表
后端·.net
鲤籽鲲1 天前
C# System.Net.IPEndPoint 使用详解
网络·microsoft·c#·.net