记一个.NET AOT交叉编译时的坑

记一个.NET AOT交叉编译时的坑

背景:

使用.NET9开发的Avalonia项目需要部署到Linux-arm64

踩坑:

根据官方AOT交叉编译文档配置后执行打包

shell 复制代码
dotnet publish -r linux-arm64

提示error : The PrivateSdkAssemblies ItemGroup is required for _ComputeAssembliesToCompileToNative

找答案:

通过在Github上查找,找到了一个AOT交叉编译的文档

这个文档指出了如果需要交叉编译到对应的编译器,需要对应的ILCompiler包,如果需要交叉编译到Linux-arm64,则需要runtime.linux-arm64.Microsoft.DotNet.ILCompiler

解决:

添加runtime.linux-arm64.Microsoft.DotNet.ILCompilerNUGET包后再执行dotnet publish -r linux-arm64,编译成功

后续:

编译成功后再删除runtime.linux-arm64.Microsoft.DotNet.ILCompiler包引用,再次执行交叉编译,貌似也能成功,可能只是需要这个包把对应的ILCompiler下载回来,后续就不用特别引用了

相关推荐
硅基喵20 小时前
.NET 进阶之路:异步、并发与内存管理的系统性认知
.net
俊俊谢20 小时前
LabVIEW如何排查和修复dll缺失问题
驱动开发·.net·labview·dll
武藤一雄1 天前
C# 设计模式大全(第一弹|7种)
microsoft·设计模式·微软·c#·.net·.netcore
麦壳饼1 天前
JekyllNet .Net 版本的Jekyll , 你博客 文档的静态生成利器 。
.net
步步为营DotNet1 天前
.NET 11 中 ASP.NET Core 10 在分布式系统中的安全通信与性能调优
安全·asp.net·.net
唐青枫1 天前
C#.NET Consul + Steeltoe 深入解析:服务注册发现、健康检查与微服务接入
c#·.net
我是唐青枫1 天前
C#.NET ConcurrentQueue<T> 深入解析:无锁队列原理、FIFO 语义与使用边界
c#·.net
时光追逐者1 天前
一个基于 .NET Core + Vue3 构建的开源全栈平台 Admin 系统
开源·c#·.net·.netcore·admin系统
追逐时光者2 天前
一个基于 .NET Core + Vue3 构建的开源全栈平台 Admin 系统
后端·.net
light blue bird2 天前
多页签Razor组支轴业务整顿组件
数据库·.net·ai大数据·多功能图表报表·web mvc + razor