2010-04-28 79 views
10

我試圖將F#用於ASP.NET MVC應用程序。我的一個控制器動作發送一個F#列表視圖,所以我寫:FSharp.Core.sigdata沒有在FSharp上找到。核心

<%@ Page Language="C#" Inherits="ViewPage<FSharpList<int>>" %> 

當然,對於這個工作,我要補充Microsoft.FSharp.Collectionsnamespaces元素在我的web.config:

<add namespace="Microsoft.FSharp.Collections"/> 

,並添加一個參考FSharp.Core,在assemblies元件:當我添加此組件參考

<add assembly="FSharp.Core, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> 

,每個視圖(是否使用了F#類型與否)失敗,此錯誤:

error FS1221: FSharp.Core.sigdata not found alongside FSharp.Core

我可以解決此通過不必在我的意見的任何F#的具體類型,但什麼是這個錯誤的原因是什麼?另外,FSharp.Core.sigdata在哪裏?這不在我的GAC中,我無法在任何地方找到它。

+0

你能上傳你目前的項目嗎?我很樂意嘗試,但有一些項目以:-)開頭會很有用。 – 2010-04-29 09:26:17

+0

@Tomas:謝謝,我會嘗試創建一個能夠再現這一點的小型項目。 – 2010-04-29 14:57:31

+0

@Tomas:這裏的項目:http://www.box.net/shared/7xnkfg5yps – 2010-04-30 02:22:19

回答

13

您將與參考大會找到它,因爲sigdata和optdata是設計時的東西(但我猜的CodeDOM需要他們嗎?),例如:

C:\Program Files\Reference Assemblies\Microsoft\FSharp\2.0\Runtime\v2.0\FSharp.Core.dll 
C:\Program Files\Reference Assemblies\Microsoft\FSharp\2.0\Runtime\v2.0\FSharp.Core.optdata 
C:\Program Files\Reference Assemblies\Microsoft\FSharp\2.0\Runtime\v2.0\FSharp.Core.sigdata 

如果複製旁邊的那些FSharp.Core該應用程序正在使用,它可能會工作。

+0

試圖將optdata和sigdata複製到我的應用程序的bin,同樣的錯誤。我也嘗試將它們複製到GAC中的FSharp.Core目錄中,同樣的事情。 – 2010-04-28 22:18:01

+2

在將optdata和sigdata複製到FSharp.Core.dll後解決了我的問題。 – t0yv0 2010-04-29 13:04:28

+0

@tovyo:用於Web應用程序? – 2010-04-29 14:56:30

相關問題