我正在尝试从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
,因此为什么它正在寻找该版本,但我无法理解为什么它不是'重定向。