为什么我在单声道上收到此消息? “警告FS0191:无法确定最高安装框架版本......”.NET“

时间:2009-07-26 19:33:57

标签: .net macos f# mono

我在Mac OS X(10.5.7)上安装了Mono(版本2.4.2.1),我正在尝试进行一些F#编码。我使用的F#版本是1.9.6.16。

在FSharp解释器上,当我输入一些简单的命令(如printfn)时,我收到这条奇怪的消息:

警告FS0191:无法使用版本2.0从注册表项确定最高安装的.NET框架版本

在开始使用之前我已经做过任何配置了吗? 我搜索了这个错误代码,但我认为这是一种通用错误,可以得到正在发生的事情。

提前致谢

3 个答案:

答案 0 :(得分:2)

基于错误:看起来F#解释器正在使用注册表来检查.NET版本。由于Mac OSX没有注册表,因此无法找到该版本。因此错误和默认为.NET FX 2.0。

答案 1 :(得分:2)

其他答案是对的。警告是无害的(并且预计在Mono上)。

请注意搜索例如FS0191目前不是很有用(大约90%的错误诊断报告此数字当前);在Beta2中,错误号将被更新,因此对于不同的条件将有大约1000个不同的FSnnnn错误,这将使诊断更加网络可搜索。

答案 2 :(得分:1)

正如pb所说,可能F#正在检查.NET安装程序写入Windows注册表的注册表项。

Windows注册表是一项非常特定于Windows的功能。 Mono在某种程度上在其他操作系统上模拟它,因此在Mono上运行的.NET应用程序可以存储和检索自己的设置,但显然所有与Windows系统设置和其他Windows应用程序相对应的注册表项根本不存在于OS X或Linux操作系统。