如何独立安装并命令行运行.NET Native AOT编译器(ilc)?
确定性安装并直接调用.NET Native AOT编译器(ILC)
方法一:通过.NET SDK安装并定位ILC
这种方式依赖官方.NET SDK,能保证环境的一致性与可靠性:
- 下载并安装对应版本的.NET 7或8 SDK(官方离线安装包可避免网络依赖带来的版本不一致问题)。
- 安装完成后,ILC包会被自动缓存到本地NuGet目录,路径格式为:
C:\Users\<你的用户名>\.nuget\packages\runtime.<平台标识>.microsoft.dotnet.ilcompiler\<版本号>\tools- 例如Windows x64平台、7.0.14版本的具体路径为:
C:\Users\frank\.nuget\packages\runtime.win-x64.microsoft.dotnet.ilcompiler\7.0.14\tools
- 例如Windows x64平台、7.0.14版本的具体路径为:
- 直接进入该目录,通过
ilc.exe <编译参数>即可调用编译器。
方法二:直接通过NuGet CLI下载独立ILC包
若无需安装完整.NET SDK,可单独获取ILC包:
- 安装官方独立版NuGet CLI(无需依赖.NET SDK)。
- 执行命令下载指定版本的ILC包:
nuget install runtime.win-x64.microsoft.dotnet.ilcompiler -Version 7.0.14 -OutputDirectory .\ilc-install- 可替换
runtime.win-x64为你的目标平台标识(如linux-x64、osx-x64),7.0.14为需要的版本(.NET 8版本可使用8.0.0及以上稳定版)。
- 可替换
- 下载完成后,进入
.\ilc-install\runtime.win-x64.microsoft.dotnet.ilcompiler\7.0.14\tools目录,即可调用ilc.exe。
裸机内核编译的核心注意事项
- 需手动指定依赖的核心程序集(如
System.Private.CoreLib.dll),该文件可从对应版本的runtime.<平台标识>.microsoft.netcore.app.runtimeNuGet包中获取。 - 需传递裸机专属编译参数,示例命令:
ilc.exe MyKernel.dll --target:baremetal --arch:x64 --output:MyKernel.bin --systemmodule:MyKernel --nostdlib --runtimemetadataversion:v7.0.0
内容的提问来源于stack exchange,提问作者Frank Ray
相关产品推荐
相关产品推荐

