我需要在运行时将一些f#源文件编译成一个程序集。
目前我正在使用Fsharp.Compiler.CodeDom并且它完成了我需要它做的事情,但似乎这个图书馆还没有得到维护。 我想知道,我使用的是正确的吗?
注意:我看到了与此问题相似的问题的一些答案,但这些问题已有几年了。
答案 0 :(得分:1)
这实际上应该归John Palmer ......来自他的链接的spinet基本上只是工作
[<EntryPoint>]
let main argv =
printfn "%A" argv
let scs = SimpleSourceCodeServices();
let fn = Path.GetTempFileName();
let fn2 = Path.ChangeExtension(fn, ".fs");
let fn3 = Path.ChangeExtension(fn, ".dll");
File.WriteAllText(fn2, """
module File1
let seven =
3 + 4
""");
let errors1, exitCode1 = scs.Compile([| "fsc.exe"; "-o"; fn3; "-a"; fn2 |])
let ex = File.Exists(fn3)
printfn "File %s exists: %b" fn3 ex
我必须承认,看到非fsc.exe选项会很酷:D