Tom*_*cek 13
没有任何功能可以让您直接执行此操作.但是,如果要以编程方式编译F#源文件,可以从应用程序中调用F#编译器.最简单的方法是使用F#CodeDOM提供程序,它作为F#PowerPack(在FSharp.Compiler.CodeDom.dll
程序集中)的一部分提供.但是,请注意您需要在用户的计算机上安装F#编译器.
运行编译器的代码大致如下所示:
open Microsoft.FSharp.Compiler.CodeDom
let provider = new FSharpCodeProvider()
let compiler = provider.CreateCompiler()
let parameters = new CompilerParameters
(GenerateExecutable = true, OutputAssembly = "file.exe")
let results = icc.CompileAssemblyFromFile(parameters, "filename.fs")
Run Code Online (Sandbox Code Playgroud)
将源文件编译为程序集后,您需要使用.NET Reflection加载程序集并从程序集中运行某些特定的函数或类(例如,您可以查找具有某些特殊名称或标记有某些属性的函数) ).
(作为旁注,如果您的源代码相对简单,可能会选择使用引文或编写您自己的解释器,如相关的SO问题中提到的那样,但如果您想支持F#的全部功能,则可能不是这样)
归档时间: |
|
查看次数: |
2404 次 |
最近记录: |