目前尚不可行。从最初的 Core 版本开始,.NET 禁止将动态生成的程序集保存到文件中。这一规定一直持续到 .NET 8。我尝试过的所有第三方解决方案都无法完成这项任务。
好消息是,Save 方法似乎将在 .NET 9 中回归:[https://learn.microsoft.com/en-us/dotnet/fundamentals/runtime-libraries/system-reflection-emit-assemblybuilder#persisted-dynamic-assemblies-in-net-framework](https://learn.microsoft.com/en-us/dotnet/fundamentals/runtime-libraries/system-reflection-emit-assemblybuilder#persisted-dynamic-assemblies-in-net-framework)
我将为 ClojureCLR 的下一个版本而努力使保存功能再次启用。
(相关文档中有一些注意事项表明,只是恢复了 Save 调用它并不能简单地重新启用此功能。如果您对这个 Clojure 模型实现中可能出现的问题感兴趣,我很乐意分享。)