In our environment, we have a server farm, each server running a number of tasks. The task binary packages are deployed (and tasks are run) with an in-house scheduling system.
When a new common dependency on Microsoft libraries or runtimes is introduced, that dependency is normally pushed as a server-wide upgrade (for example, a Microsoft Visual C++ redistributable package). Currently, the servers have a package named Microsoft Visual F# 2.0 Runtime installed, and also have FSharp.Core version 4.0.0.0 in the GAC which came I have no idea whence, but FSharp.Core 4.3.0.0 is not commonly available.
Is there a redistributable package for Visual F# 3.0 that would deploy FSharp.Core 4.3.0.0 into the GAC, or should we instead include a copy of FSharp.Core.dll with each task binary? Indeed, I would avoid having hundreds of copies of a common DLL if possible.
There's a NuGet Package for just FSharp.Core, and a redistributable package that also includes compiler tools.
The download linked in Joel Mueller's answer (also here) is the official installer from Microsoft. It contains the compiler, interactive, multiple versions of the runtime, and the Visual Studio integration binaries.
The VS integration bits are only deployed if VS is installed (dev scenario). Otherwise, it will just install the compiler/interactive/runtime (server scenario).
Only the latest version of the runtime (4.3.1.0 at this time) is GACed by the installer, but various other versions are deployed, as well, including 4.3.0.0.
Adding assemblies to the GAC is very easy. Just run gacutil /I "C:\Program Files (x86)\Reference Assemblies\Microsoft\FSharp\.NETFramework\v4.0\4.3.0.0\FSharp.Core.dll"
as admin.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With