migrate.exe忽略绑定重定向

时间:2017-04-28 11:56:31

标签: c# entity-framework .net-assembly assembly-binding-redirect

我正在尝试从migrate.exe对特定DLL运行EntityFramework应用程序。此DLL引用Microsoft.Azure.KeyVault.WebKey nuget包。

当我尝试运行命令

./migrate MyProject.Data /startUpDirectory=C:\myDir /startUpConfigurationFile=C:\myDir\Redirect.config

我收到以下错误

  

错误:无法加载文件或程序集'Newtonsoft.Json,   Version = 6.0.0.0,Culture = neutral,PublicKeyToken = 30ad4fe6b2a6ae ed'或   其中一个依赖项。定位程序集的清单定义   与装配参考不匹配。 (HRESULT除外:   0x80131040)

通常我会说这是因为它正在寻找Newtonsoft.Json的第6版而无法找到它。但我有一个绑定重定向指向最新版本。

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <dependentAssembly>
    <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
  </dependentAssembly>
</assemblyBinding>

所以,我不明白为什么这不会重定向到版本9.0.0.0,而只会查找版本6.0.0.0

我已对Microsoft.Azure.KeyVault.WebKey.dll进行了反编译,我可以看到它正在引用版本6.0.0.0,因此为什么它正在寻找该版本,但我无法理解为什么它不是'重定向。

0 个答案:

没有答案