F# TypeLoadException:来自试图与F代码互操作的C代码

F# TypeLoadException:来自试图与F代码互操作的C代码,f#,F#,我正在努力从引用F#PCL的C#PCL中解决此运行时异常: 未处理的异常: System.TypeLoadException:无法解析带有标记0100001d的类型 (来自typeref,类/程序集Microsoft.FSharp.Core.FSharpResult`2, FSharp.Core,版本=3.259.41.0,区域性=中性, PublicKeyToken=b03f5f7f11d50a3a)已发生 注: 我已经确保我的C#和F#项目引用相同的FSharp.Core版本 我记得每当我在

我正在努力从引用F#PCL的C#PCL中解决此运行时异常:

未处理的异常:

System.TypeLoadException:无法解析带有标记0100001d的类型 (来自typeref,类/程序集Microsoft.FSharp.Core.FSharpResult`2, FSharp.Core,版本=3.259.41.0,区域性=中性, PublicKeyToken=b03f5f7f11d50a3a)已发生

注: 我已经确保我的C#和F#项目引用相同的FSharp.Core版本

我记得每当我在F#中的测试项目不能很好地处理我的F#项目时,就必须添加一个XML文件进行版本控制。这是同样的情况吗

我在Xamarin.Forms PCL上的应用程序配置中添加了以下内容:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-999.999.999.999" newVersion="4.4.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>


但是我仍然收到相同的错误。

FSharpResult是(我假设)fsharp4.1中引入的
Result
类型,因此您应该获得FSharp.Core版本4.4.1.0

FSharpResult是(我假设)fsharp4.1中引入的
Result
类型,因此您应该获得FSharp.Core版本4.4.1.0

谢谢你的回复。我的所有项目都指向最新版本的FSharp.Core。不过,我还是遇到了同样的问题。嗯。。。奇怪的哪个是什么版本?在上面的问题中,您肯定展示了F#4.0,其中一个库中的某些东西引用了一个尚不存在的类型,也表示
FSharp.Core,Version=3.259.41.0
。你试过用Nufsharp.Core吗?这可能是由于一些PCL的混淆。有没有可能把它放到GitHub上进行更好的调试?@ScottNimrod-如果你的目标是F#4.1,那么
app.config
中的行
newVersion=“4.4.0.0”
应该是
newVersion=“4.4.1.0”
:谢谢你的回复。我的所有项目都指向最新版本的FSharp.Core。不过,我还是遇到了同样的问题。嗯。。。奇怪的哪个是什么版本?在上面的问题中,您肯定展示了F#4.0,其中一个库中的某些东西引用了一个尚不存在的类型,也表示
FSharp.Core,Version=3.259.41.0
。你试过用Nufsharp.Core吗?这可能是由于一些PCL的混淆。有没有可能把它放到GitHub上进行更好的调试?@ScottNimrod-如果你的目标是F#4.1,那么
app.config
中的行
newVersion=“4.4.0.0”
应该是
newVersion=“4.4.1.0”
:参见