FSharp.Core.sigdata没有在FSharp上找到。核心

FSharp.Core.sigdata没有在FSharp上找到。核心

问题描述:

我试图将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

您将与参考大会找到它,因为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