【发布时间】:2012-12-17 13:25:27
【问题描述】:
我有一个包含许多 F# 和 C# 项目的解决方案。我的目标是使用 ILMerge 将它们全部合并到一个库中。生成的合并 dll 将放入 NuGet 包并在其他项目中引用。但是,当 F# 项目中引用合并的 dll 时,我遇到了一些问题。
我遇到的问题是,如果提供给 ILMerge 的主程序集是 F#,那么在 F# 项目中引用生成的 dll 只允许访问 F# 类型。如果选择 C# dll 作为合并的主程序集,则在 F# 项目中引用时,合并的 F# 程序集的扩展方法不可用。在打开封闭命名空间时,具有AutoOpen 属性的模块也不再隐式打开。
有没有办法合并 F# 和 C# 程序集,以便所有类型(包括扩展方法)都可用?
【问题讨论】:
-
你找到答案了吗?
-
最后我决定不使用ILMerge。所以不幸的是,我没有成功合并 F# 和 C# 程序集的答案。