Skip to content

By default compilations using FCS reference FSharp.Core 4.3.0.0  #156

@quasilord

Description

@quasilord

If no FSharp.Core/mscorlib is referenced when using the "Compile" method in SimpleSourceCodeServices, then FSharp.Core 4.3.0.0 is referenced by default. This has been the cause of some failures on Appveyor.

See https://github.com/fsharp/FSharp.Compiler.Service/blob/13982fa12e0bacaa91e16cced40776fbeb1f77ff/src/fsharp/build.fs#L1563 (FSharp.Compiler.Service.dll itself references FSharp.Core 4.3.0.0, making it usable as widely as possible)

Ramifications:

  • programs compiled with FCS using the implicit default FSharp.Core can't be run on machines where FSharp.Core 4.3.0.0 aren't in the GAC (e.g. machines with only VS2013 installed).
  • the behavior of "FscTest.exe" in FCS differs from the behavior of "fsc.exe" in F# 3.1

FCS should probably default to referencing the version of FSharp.Core in the process hosting FCS, rather than the version referenced in the DLL (these may be different via a binding redirect)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions