我正在尝试从VSTS版本管理执行实体框架迁移,为此我遵循了link。
我在应用程序的部署任务之前以这种方式配置此任务:
在发布过程中,我在执行上述任务后得到了异常。
System.IO.FileLoadException:无法加载文件或程序集“Newtonsoft.Json,Version = 6.0.0.0,Culture = neutral,PublicKeyToken = 30ad4fe6b2a6aeed”或其中一个依赖项。定位的程序集的清单定义与程序集引用不匹配。 (HRESULT异常:0x80131040)
在我的项目中,我将 Newtonsoft.Json 版本用作 9.0.1 ,因为其他DLL依赖于此版本。所以我严格使用相同版本的 Newtonsoft.Json 。
的app.config
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.1" newVersion="9.0.1" />
</dependentAssembly>
在此处发布问题之前,我会在Google中搜索一些与我的问题相关的链接,但这些链接对解决此问题没有帮助。
我在堆栈溢出中发现了类似的问题,但是没有人不能发布答案。这是该问题的链接 migrate.exe ignoring binding redirects
您能否告诉我如何尽快解决上述错误?
答案 0 :(得分:0)
我猜你有类似
的东西<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30AD4FE6B2A6AEED" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0"/>
</dependentAssembly>
在你的app / web.config
中您需要确保将6
更改为9
,以便您的应用查找正确/已安装的版本,例如
<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>