对于F#类型提供程序,如何为依赖程序集执行绑定重定向?

Cam*_*art 9 f# type-providers assembly-binding-redirect

我正在研究一个依赖于FParsec 0.9.2.0的F#Type Provider.它取决于FSharp.Core 4.0.0.0.当我尝试使用F#Type Provider时,出现此错误:

{"无法加载文件或程序集'FSharp.Core,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'或其中一个依赖项.系统找不到指定的文件.":"FSharp.Core,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a"}

===预绑定状态信息===
日志:DisplayName = FSharp.Core,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a(完全指定)
LOG:Appbase = file:/// C:/ Program文件(x86)/ Microsoft Visual Studio 11.0/Common7/IDE/
LOG:初始PrivatePath = NULL
调用程序集:FParsec,Version = 0.9.2.0,Culture = neutral,PublicKeyToken = e5c8267bb3bd1265.

我尝试添加a Froto.Gen.dll.config和a FParsec.dll.config,两者都有这个:

<?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="4.0.0.0" newVersion="4.3.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>
Run Code Online (Sandbox Code Playgroud)

没运气.有任何想法吗?我的下一个行动计划是建立一个新的FParsec.dll,但这并不总是有用.

Gus*_*rra 3

当 args.Name 需要 4.0.0.0 时,您是否尝试过覆盖 AppDomain.CurrentDomain.AssemblyResolve 并在 FSharp.Core 4.3.0.0 的位置上执行显式 Assembly.LoadFrom ?