在VS2012中编译F#2.0项目

时间:2012-10-24 19:28:53

标签: visual-studio-2010 f# visual-studio-2012 fparsec

我有一个针对VS2010的解决方案,其中包括一些针对F#2.0编译器/ SDK的F#项目,利用fparsec和fsharp powerpack。

然后我将我的主要开发机器升级到VS2012,加载了解决方案并且能够编译得很好。

但是我刚用Windows 8和VS2012重新安装了一台单独的机器,并且在该机器上加载解决方案会导致编译失败,因为该项目针对F#3.0,而fparsec / fsharp powerpack似乎不再编译。 / p>

是否可以在这台新的Windows 8机器上安装FSharp 2.0 SDK(如果是这样,我从哪里获取?)并获得再次编译的解决方案,或者我是否需要做其他事情才能获得这个在旧机器和新机器上工作?

2012-10-25更新

重启VS2012后编译现在正在运行,但是在执行代码时我遇到了与我的F#代码有关的意外错误:

Method not found: 'ParserResult`2<!!0,Microsoft.FSharp.Core.Unit> FParsec.CharParsers.run(
Microsoft.FSharp.Core.FSharpFunc`2<FParsec.CharStream`1<Microsoft.FSharp.Core.Unit>,
FParsec.Reply`1<!!0>>, System.String)'.

在首次安装了F#的VS2010并且升级到vs2012的机器上编译/执行相同的代码时,不会发生这种情况 - 只发生在安装了vs2012的机器上。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

如果将目标框架设置为“4.0”(或更小),它应该与F#2.0编译相同(具有一些新的不错的功能,例如自动属性)。我认为没有理由坚持遗漏新功能,绝对没有理由忽略F#3.0附带的所有错误修复。