如何从单个字符串编译原始 IL 代码?

How do I compile raw IL code from a single string?

我正在尝试编写一个 MSBuild 任务,让我将 IL 代码内联到方法中,类似于 Glenn Slayden's answer to this question。我写了反编译和修改IL的代码,但是我不知道如何重新编译
我发现的任何库(包括 Mono.Cecil)都不允许您从单个字符串编译原始 IL 代码。 Glenn Slayden 使用 ILAsm,但我找不到适用于 .NET 5 的 ILAsm。

如何从单个字符串编译原始 IL 代码?

我找到了问题的答案。 3F,制作ILAsm和ILDasm附带的DllExport, has a modified version of CoreCLR的人

Microsoft 现在在 NuGet 上发布 ILAsm and ILDasm,使用以下 ID:

Microsoft.NETCore.ILAsm
Microsoft.NETCore.ILDAsm

您可以使用 nuget install {ID} 将它们安装到当前目录,然后使用 {ID}.{version}\runtimes\native\{exe name}.exe 运行 安装它们。