.net - F# 绑定(bind)重定向不适用于 F# 4.3.0-4.3.1

标签 .net f# dependencies f#-data assembly-binding-redirect

我在 VS 2012 中有一个 F# 项目,F# 核心 4.3.0 和 .net 4.5.0 通过 block 包依赖于 FSharp.Data。最近,我们为我们的软件创建了一个新版本分支,并更改了该分支上的 .net 目标和 F# 核心版本,因此该项目现在的目标是 F# 核心 4.3.1 和 .net 4.5.1。

不幸的是,在运行期间我收到以下错误:

{"[A]Microsoft.FSharp.Core.FSharpOption`1[FSharp.Data.Runtime.BaseTypes.XmlElement] cannot be cast to [B]Microsoft.FSharp.Core.FSharpOption`1[FSharp.Data.Runtime.BaseTypes.XmlElement]. Type A originates from 'FSharp.Core, Version=4.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' in the context 'Default' at location 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\FSharp.Core\v4.0_4.3.0.0__b03f5f7f11d50a3a\FSharp.Core.dll'. Type B originates from 'FSharp.Core, Version=4.3.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' in the context 'Default' at location 'C:\Script\AutomatedTestLauncher5.4\FSharp.Core.dll'."}

following stackoverflow question's answer 之后,我尝试在我的 App.config 文件中创建以下绑定(bind)重定向:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1" />
  </startup>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.3.1.0" newVersion="4.3.1.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

不幸的是,我又遇到了同样的错误。有没有办法解决这个问题,或者除了 FSharp.Data 之外,我是否必须找到另一个框架来做我想做的事情?

最佳答案

给我带来问题的项目正在被另一个项目调用,而我没有更改该项目的绑定(bind)重定向。我做到了,它解决了问题。

关于.net - F# 绑定(bind)重定向不适用于 F# 4.3.0-4.3.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32785374/

相关文章:

java - 在java代码中查找传递向后依赖的工具

c# - 检查 `object[] args` 是否满足委托(delegate)实例?

python - 即使手动安装所有依赖项后,也无法使用 pip 安装 Seaborn

c# - 是否可以使用MySql赋值运算符(:=) in a MySqlCommand?

.net - 显式类型成员约束中的 "or"

f# - 我怎样才能摆脱这个 "Can not be generalised"错误?

f# - 为什么算术运算符的参数类型默认为 int?

gradle - Gradle发现POM依赖但不是JAR

c# - .NET 中的 ManualResetEvent 和 AutoResetEvent 有什么区别?

.net - 在安装了 VS2010 的机器上和在安装了 7.1 SDK 的机器上构建之间的差异