Я думаю, что это должно работать. Если вы не предоставляете какой-либо специфичный для F # тип в публичной подписи, вам не нужно ссылаться на сборку FSharp.Core.dll
в вашем проекте C # (вам все равно придется распространять его с библиотекой F #). 1002 *
Я попытался написать простой пример, и я могу скомпилировать проект C # без ссылки на FSharp.Core
. Не могли бы вы попробовать, если у вас работает следующий проект:
http://dl.dropbox.com/u/5676796/test.zip?
Он объявляет простой модуль F #:
module Module1
open System.Collections.Generic
let getDictionary() =
let d = new Dictionary<_, _>()
d.[10] <- 1
d :> IDictionary<int, int>
И код, который ссылается на него из C #, выглядит так:
var d = Module1.getDictionary();
Console.WriteLine("d 10 = " + d[10]);
Есть ли у вас какой-либо другой открытый член F #, который предоставит какой-то определенный тип F # (это может включать такие вещи, как записи F # и различающиеся объединения, список F # и т.