What are the differences between in .fsx, .fsi and .fs file in F#?
Solution 1:
.fsx
is for individual files intended to run as a script. In particular, in an .fsx
file you can use things like #r "Foo.dll"
to dynamically load a library and #load "Foo.fsx"
to load another script file.
[Edit: and starting with .NET 5, #r "nuget: FooBar"
to load a NuGet package.]
.fs
is for source files compiled as part of a project.
.fsi
is for signature files, they are optional and describe the API of a corresponding .fs
file. More detail here.