记一个.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下载回来,后续就不用特别引用了

相关推荐
一抓掉一大把3 小时前
.net实现秒杀商品(Redis高并发)
.net
mudtools6 小时前
解放双手!使用Roslyn生成代码让你的 HTTP 客户端开发变得如此简单
低代码·c#·.net
主宰者9 小时前
WPF CalcBinding简化判断逻辑
c#·.net·wpf
【D'accumulation】9 小时前
.NET Framework 4.8 + Microsoft.Data.Sqlite 报 Library e_sqlite3 not found
microsoft·sqlite·.net
数据的世界0121 小时前
技术变革:为何C#与.NET是未来的开发方向
java·c#·.net
大龄Python青年21 小时前
C#快入教程:Linux安装.NET
linux·c#·.net
向上的车轮21 小时前
Actix Web适合什么类型的Web应用?可以部署 Java 或 .NET 的应用程序?
java·前端·rust·.net
我是唐青枫1 天前
C#.NET Random 深入解析:随机数生成原理与最佳实践
c#·.net
咕白m6251 天前
如何通过 C# 提取 PDF 图片?单页与全文档提取
c#·.net