FSharp.Core.sigdata не найден рядом с FSharp.Core
Я пытаюсь использовать F # для приложения ASP.NET MVC. Один из моих действий с контроллером отправляет список F # в представление, поэтому я пишу:
<%@ Page Language="C#" Inherits="ViewPage<FSharpList<int>>" %>
Конечно, для этого я должен добавить Microsoft.FSharp.Collections
в элемент namespaces в моем web.config:
<add namespace="Microsoft.FSharp.Collections"/>
и добавьте ссылку на FSharp.Core
в элементе ассемблеры:
<add assembly="FSharp.Core, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
Как только я добавлю ссылку на сборку, каждое представление (независимо от того, использует ли он тип F # или нет) с этой ошибкой:
error FS1221: FSharp.Core.sigdata не найден рядом с FSharp.Core
Я могу обойти это, не имея каких-либо конкретных типов F # в моих представлениях, но в чем причина этой ошибки? Кроме того, где FSharp.Core.sigdata
? Это не в моем GAC, и я ничего не могу найти.
Ответы
Ответ 1
Вы найдете его с помощью Reference Assemblies, поскольку 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, которые использует приложение, это, вероятно, будет работать.