在FSharp.Core旁边找不到FSharp.Core.sigdata

时间:2010-04-28 22:00:29

标签: asp.net-mvc f#

我正在尝试将F#用于ASP.NET MVC应用程序。一个我的控制器动作向视图发送一个F#列表,所以我写道:

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

当然,为了实现这一点,我必须将Microsoft.FSharp.Collections添加到我的web.config中的namespaces元素中:

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

并在assemblies元素中添加对FSharp.Core的引用:

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

只要添加此程序集引用,每个视图(无论是否使用F#类型)都会失败,并显示以下错误:

  

错误FS1221:在FSharp.Core旁边找不到FSharp.Core.sigdata

我可以通过在我的视图中没有任何F#特定类型来解决这个问题,但是这个错误的原因是什么?还有,FSharp.Core.sigdata在哪里?它不在我的GAC中,我无法在任何地方找到它。

1 个答案:

答案 0 :(得分: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旁边的那些,它可能会有效。