f#如何编译然后释放文件.fsx

时间:2015-11-01 23:11:23

标签: compilation f# release f#-interactive

您好我在f#和windows窗体中创建了一个简单的程序,如何构建exe然后将其发送给朋友进行测试?在调试文件夹中我什么也没找到。

2 个答案:

答案 0 :(得分:3)

可以从FSX文件创建可执行文件,但Visual Studio不支持此方案。如果您已经达到这个阶段,因为您是第一次使用F#,并且fsx和fs文件之间的区别不明确我建议您将代码转换为.fs文件并从那里开始

如果您有理由编译fsx文件(有一些!),请继续阅读...

F#编译器本身非常乐意接受FSX文件作为源文件,但你需要发挥一些技巧。

首先,如果脚本文件中有任何#load或#r行,则需要将它们包装在#if INTERACTIVE块中。

其次,您现在必须以正确的顺序管理编译器命令行可执行的所有相关引用和您的代码文件:记住F#是一种依赖于顺序的语言。

您可以找到compiler options on MSDN,但值得注意的是,如果您使用F#的开源构建,编译器将被称为fsharpc而不是fsc,因为它在Visual Studio中安装。

所以你最终可能会运行一个看起来像这样的命令:

fsc.exe -r System.Xml --target:exe myProgram.exe MyScript.Things.fsx MyScript.fsx

答案 1 :(得分:3)

我一直在处理.fsx脚本,最近,对于DevOps任务,我发现自己需要这个,到:

  1. 通过CI检查我的脚本的正确性,以便在我对其进行更改时不会错误地将其破坏。
  2. 让他们更快地执行
  3. 所以,我决定开始自动化@mavnn在答案中解释的内容。

    我的编译脚本工具本身就是一个元素(因此它可以自行编译,因此如果你想为了性能而使用它,就不会产生性能影响)。

    我正在公开研究这个项目,我发表了它here in GitLab。欢迎捐款。