Skip to content

How to determine version or date/time stamp of currently used FSC.exe, FSI.exe and other F# tools in Visual Studio #3643

@abelbraaksma

Description

@abelbraaksma

More of a question than an issue, but I often find myself wondering what the current version is that I am using in Visual Studio. With multiple branches, nightlies vs RTM releases, multiple PR's often being switched/build all the time and one VS Preview installation, I wonder how I can check this. Thinking of:

  • version/date of used FSC.exe, FSI.exe
  • version/date of compiler / language service (syntax highlighting, error squigglies)
  • anything else

I deliberately mean date here, as I believe version is not updated on each build. I wouldn't mind writing a little script that can be copy/pasted in FSI to query this info, just need to know where to find it by hand.

Showing the logo would perhaps get me closer, but --nologo is the default in VS and cannot be changed I believe.

(edit) This is interesting (works for FSI, and gives a hint on whether the VSIX's installed, but doesn't tell you much about the FSC compiler used for building, which is taken from the SDK paths):

// DO NOT USE: File.GetCreationTime(Assembly.GetEntryAssembly().Location);;
Uri(Assembly.GetEntryAssembly().CodeBase).LocalPath 
|> File.GetCreationTime 
|> sprintf "%A" ;;
val it : string = "13-9-2017 2:05:06"

After doing a VSIXInstaller.exe release\net40\bin\VisualFSharpOpenSource.vsix, I saw the date changing, so that's good. But how to do the same for FSC.exe? I checked internal compiler switches, but nothing yet.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions