【发布时间】:2011-01-09 01:26:26
【问题描述】:
长期读者,第一个问题。 fsi.exe 是一个 .NET 可执行文件,因此包含它自己的程序集,其中包含所有美味的方法和 fsi 用来执行 F# 脚本的东西。
查看 .NET Reflector 中的程序集(选择你的类,但 Shell 是最好的例子)揭示了一堆看起来像修饰的 C++ 函数的垃圾*名称(例如,来自 Dependency Walker)。顺便说一句,有点题外话,F# 程序集以几乎相同的方式编译,有很多垃圾*名称,这让我认为 fsi.exe 是用 F# 编写的,也许是作为可用性证明?
无论如何,这是我的问题:有没有人研究过 fsi.exe 并想出了如何将它嵌入到 .NET 应用程序中?因为我想使用 F# 作为脚本语言,但是程序编译为(惊喜)程序,并且脚本必须由 fsi.exe 执行,这在我的域中是不可接受的(我需要一个持久的 VM)。我不希望获得有关使用 fsi.exe 的操作指南,但我很想知道是否有人玩过它,如果有,您对它的工作原理有何发现?
感谢您的宝贵时间。
* 一目了然的垃圾。显然,出于某种特殊原因,它们以这种特殊方式格式化。
【问题讨论】:
-
所以基本上,你想要eval?
-
我有点想知道,F# 的许可证是否允许首先嵌入 fsi?
-
@Juliet:为什么会是许可问题?
-
不再是,它是开源的,没有 Apache 许可证。哪个是解决方案,你可以使用源嵌入它。
-
@Martinho:不,我想要一个脚本引擎。
标签: .net f# assemblies embed scripting-language