首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >绑定重定向不是重定向?

绑定重定向不是重定向?
EN

Stack Overflow用户
提问于 2017-06-20 19:31:24
回答 1查看 3.1K关注 0票数 4

我遇到了一个问题,在这个问题上,我遇到了一个错误,就是试图加载一个不再在机器上的旧版本的dll。

无法加载文件或程序集“Newtonsoft.Json、Version=6.0.0.0、Culture=neutral、PublicKeyToken=30ad4fe6b2a6aeed”或其依赖项之一。所定位的程序集的清单定义与程序集引用不匹配。(HRESULT例外: 0x80131040)

我已经在webconfig中进行了重定向以处理以下问题:

代码语言:javascript
复制
<dependentAssembly>
  <assemblyIdentity name="NewtonSoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
  <bindingRedirect oldVersion="0.0.0.0-10.0.0.0" newVersion="10.0.0.0" />
</dependentAssembly>

解决方案中没有对6.0.0.0构建的引用。也许是依赖关系?如果是这样,我不知道如何获得运行时间来告诉我谁是有罪的部分。

为什么这仍然是错误的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-22 14:14:37

原来答案就在我面前。assemblyBinding标记具有一个appliesTo属性,该属性指定每个.Net框架版本应该重定向哪个版本。

代码语言:javascript
复制
assemblyBinding appliesTo="v2.0.50727"

由于某种原因,它被设置为v2.0 --应用程序正在运行v4.0,因此重定向在不应用的地方。删除该属性将纠正此问题。

代码语言:javascript
复制
<runtime>
    <assemblyBinding>
        <dependentAssembly>
            <assemblyIdentity name="NewtonSoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-10.0.0.0" newVersion="10.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
</runtime>
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44661567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档