【发布时间】:2014-01-25 00:41:25
【问题描述】:
我尝试使用 F# 创建可移植类库,例如可以从 C# 代码中使用。但看起来像使用标准 F# 构造,例如 raise 使得 FSharp.Core.dll 成为使用创建的可移植类库所必需的。
raise(ArgumentNullException("parameter")) 转化为
Operators.Raise<Unit>(new ArgumentNullException("source"));
(其中Operators.Raise 位于Microsoft.FSharp.Core 命名空间中)而不仅仅是
throw new Exception
我认为这不是唯一一个从 FSharp.Core.dll 库编译为某个静态方法的 F# 构造。
有什么方法可以创建编译后不需要引用 FSharp.Core.dll 或任何其他 FSharp 特定的 F# 代码(尤其是可移植类库) 图书馆?
【问题讨论】:
-
该参考文献的问题在哪里?
-
您可能想查看this answer 来合并程序集,尽管我不确定这是否适用于 PCL (?)。除此之外,我认为这是不可能的,即使是 F# 中的函数也不使用
Func<>,而是使用FSharp.Core中的FSharpFunc<>。
标签: c# f# portable-class-library