F#Binding Redirect不适用于F#4.3.0-4.3.1

时间:2015-09-25 15:14:56

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

我在VS 2012中有一个F#项目,其中F#core 4.3.0和.net 4.5.0通过nugget包依赖于FSharp.Data。最近,我们已经分支了我们软件的新版本,我们在该分支上更改了.net目标和F#核心版本,因此该项目现在针对F#core 4.3.1和.net 4.5.1。

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

  

{“[A] Microsoft.FSharp.Core.FSharpOption`1 [FSharp.Data.Runtime.BaseTypes.XmlElement]无法转换为[B] Microsoft.FSharp.Core.FSharpOption`1 [FSharp.Data.Runtime .BaseTypes.XmlElement]。类型A源自'FSharp.Core,Version = 4.3.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a',位于'默认'位置'C:\ Windows \ Microsoft.Net \ assembly \ GAC_MSIL \ FSharp.Core \ v4.0_4.3.0.0__b03f5f7f11d50a3a \ FSharp.Core.dll'。类型B源自'FSharp.Core,Version = 4.3.1.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a',在上下文'Default'中location'C:\ Script \ AutomatedTestLauncher5.4 \ FSharp.Core.dll'。“}

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

<?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以外的其他框架?

1 个答案:

答案 0 :(得分:0)

给我提出问题的项目正被另一个项目调用,我没有更改该项目的绑定重定向。我做了,它解决了这个问题。

相关问题