使用F#的Staticlink vs独立怪癖

Sna*_*ark 5 compiler-construction linker f#

在vs2010终极版中,如果将--standalone标志交给项目窗格中的f#编译器,它将不会将空C#项目与配置文件/资源​​文件链接

但是,如果您明确声明--staticlink:Config,它将链接程序集

这感觉就像一个错误......如果它是有意的,请问为什么会这样?

Tom*_*cek 11

这是一种预期的行为:

  • 独立标志静态链接的FSharp.Core.dll(F#运行时),并依赖于它的任何引用程序集(即任何其他F#组件).它们需要链接,因为它们可能与主要组件共享某些类型(例如F#list类型等)

  • staticlink标志链接,您明确指定的任何组件(和依赖于它的任何组件).这意味着您可以使用该选项链接,例如,主F#程序集引用的C#库.

我认为这两种情况是分开处理的,因为内联F#运行时需要稍微特殊的处理(几乎所有F#代码都以某种方式使用它,编译器可能会以不同方式处理它)