2
votes

I have installed Mono (version 2.4.2.1) on a Mac OS X (10.5.7) and i am trying to do some F# coding. The F# version i am using is 1.9.6.16.

On the FSharp interpreter i am getting this strange message when i type some simple commands (like printfn):

warning FS0191: Could not determine highest installed .NET framework version from Registry keys, using version 2.0

Shoud i have made any configuration before started using it ? I googled for this error code, but i think it is a kind of generic error and could get what's happening.

Thanks in advance

3

3 Answers

2
votes

Other answers are right. The warning is harmless (and expected on Mono).

Note that searching for e.g. FS0191 is currently not very useful (about 90% of the error diagnostics report this number currently); in Beta2 the error numbers will be updated so there will be about 1000 different FSnnnn errors for different conditions, which will make the diagnostics much more web-searchable.

2
votes

Based on the erro: it looks like the F# interpreter is using the registry to check for the .NET version. Since Mac OSX doesn't have a registry it isn't able to find the version. Hence the error and the defaulting to .NET FX 2.0.

1
votes

As pb said, presumably F# is checking for registry keys that the .NET installer writes into the Windows registry.

The Windows Registry is a very Windows-specific feature. Mono emulates it on other OSes to some extent, so that .NET apps running on Mono can store and retrieve their own settings, but obviously all of the registry keys corresponding to Windows system settings and other Windows applications simply do not exist on OS X or Linux.