我有一个针对VS2010的解决方案,其中包括一些针对F#2.0编译器/ SDK的F#项目,利用fparsec和fsharp powerpack.
然后我将我的主要开发机器升级到VS2012,加载了解决方案并且能够编译得很好.
但是我刚用Windows 8和VS2012重新启动了一个单独的机器,并且在该机器上加载解决方案导致编译失败,因为该项目针对的是F#3.0,并且fparsec / fsharp powerpack似乎不再编译.
是否有可能在这台新的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的机器上.
有任何想法吗?
最佳答案 如果将目标框架设置为“4.0”(或更小),它应该与F#2.0编译相同(具有一些新的不错的功能,例如自动属性).我认为没有理由坚持省略新功能,绝对没有理由忽略F#3.0附带的所有错误修复.