建立dll类库
先建立一个类库的项目,
写一个加法的类
在csproj中更改为aot发布
右击项目,进行发布,更改发布的配置
发布完成后,点击打开文件夹,查看发布的文件
此处,注意,必须从头开始打开vs2022,来创建类库项目,而不能在一个项目中点击文件,新建项目,这样会导致发布错误
将dll文件拖拽到dnSpy中,发现是可以防止反编译的
建立控制台应用程序并调用
新建一个控制台应用程序(注意要选中native aot发布)
找到上一步类库发布的dll文件,右击复制,在控制台应用程序中粘贴(一定是复制粘贴操作,拖拽不行),粘贴完成如图所示
右击dll文件,进行属性设置,设置为始终复制
在项目中写入如下代码
注意代码顺序发生改变会报错,Native的类必须在下面
点击运行,结果正确
将这个控制台应用再进行aot发布,发布为exe程序,打开发布文件夹,可以看到如下
点击exe程序,可以直接执行,显示结果
将exe程序拖拽到dnspy中,可以看到,可以防止反编译
结果
综上,可以发现,可以使用C#来调用C#用aot生成的dll类库,并将其重新用aot发布,并直接运行