据我了解,F# 类型提供程序始终是一个不可移植的类库(例如,它将使用 WinRT 中不可用的 Reflection.Emit)。要在我的 F# 类库中使用它,我需要添加对类型提供程序 DLL 的引用,因此该库必须是不可移植的才能编译。
在这种情况下,我很乐意将其分成一个可移植程序集和一个使用类型提供程序的程序集。我可以编译它的唯一方法是向我的 C# 应用程序项目 (.NET 4.5) 添加对 Fsharp.Core 的引用 - 但在运行时 FSharp.Core 的版本之间仍然存在冲突。
{"Could not load file or assembly 'FSharp.Core, Version=2.3.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.":"FSharp.Core, Version=2.3.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"}
我可以解决冲突吗,我是否错误地使用了类型提供程序,或者它是否还不能完成?