2012-10-24 91 views
4

我有一個針對VS2010的解決方案,它包含一些針對F#2.0編譯器/ SDK的F#項目,它利用fparsec和fsharp powerpack。編譯VS2012中的F#2.0項目

然後我升級了我的主開發機器到VS2012,加載瞭解決方案,並且能夠編譯得很好。

不過,我只是重新鋪設一個單獨的機器使用Windows 8和VS2012,並加載該機器上的解決方案會導致編譯失敗,作爲該項目的目標是F#3.0和fparsec/fsharp的PowerPack不會出現編譯了。

是否有可能在這個新的Windows上安裝FSharp 2.0 SDK(如果是這樣,我在哪裏得到它?)8位機,並得到解決再編譯,或者我需要做別的事情來獲得這在舊的和新的機器上工作?

更新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的機器上。

任何想法?

+0

看起來像我的新問題一樣,這裏記錄: https://bitbucket.org/riles01/fparsec/issue/1/nuget-package-not-working-with-vs2012去嘗試綁定重定向,並確認是否可以解決問題。從VS2010升級的猜測環境已經在GAC中安裝了F#2.0核心庫? – Bittercoder

+0

請注意,NuGet包當前不包含最新版本的FParsec。如果您有與NuGet包問題,請從https://bitbucket.org/fparsec/main/overview嘗試最新版本FParsec的,如果你那麼仍然有問題,請提交一票。 –

回答

2

如果你設定的目標框架,以「4.0」(或更小),它應該編譯與F#2.0(有一些不錯的新功能,如自動屬性)。我沒有理由堅持要放棄這些新功能,絕對沒有理由忽略F#3.0附帶的所有錯誤修復。

+0

我發現重新啓動機器後初始編譯錯誤消失了,它已經是目標.Net Framework 4.0。但是,我現在有一個新問題 - 將更新問題。 – Bittercoder

+0

@Bittercoder看來Ryan Riley已經解決了你的新問題。 –