【问题标题】:Project stops working after installing signalr安装信号器后项目停止工作
【发布时间】:2015-07-25 20:31:16
【问题描述】:

在我将 signalr 安装到我的项目并尝试运行项目后,我收到此错误消息

错误信息:

无法加载文件或程序集“Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。 (HRESULT 异常:0x80131040)

我该如何解决这个问题。

【问题讨论】:

  • 错误提示运行时在 bin 目录中缺少 Newtonsoft.Json dll。如果您的 bin 目录中有正确版本的 dll(在您的情况下为 4.5.0.0),请检查该 dll。
  • 是否安装了 JSON.Net 包?
  • 该错误通常意味着您使用的程序集正在使用与加载到您的应用程序域中的版本不同的版本。该错误通常通过添加 来解决。
  • 我在 bin 目录中找到了 Newtonsoft.Json dll,但它的版本是 (6.0.4.17603)。如何解决这个问题?我该如何使用 来解决它

标签: asp.net signalr


【解决方案1】:

在网上搜索了任何解决方案后,我没有找到任何解决方案。 解决问题的唯一方法是安装旧版本的信号器。 我安装版本 2.1.0。此版本不会更改 Newtonsoft.Json 的版本。 感谢所有回复。

【讨论】:

    【解决方案2】:

    再次重新安装 Newtonsoft.Json dll,SignalR 安装旧版本的 Newtonsoft.Json dll,并确保您的 Web 配置文件引用较新的版本。

    【讨论】:

    • 我尝试重新安装 Newtonsoft.Json,但问题没有解决。
    • 确保您的 web.Config 引用的是版本 6 而不是 4.5,还要确保您的项目包没有引用 v 4.5,仅引用 v6。
    • 我照你说的做,但没有任何改变。在 web.Config 中,我添加了这个: 在包中,我找到了这个参考:
    • 你从哪里得到 6.0.7?我觉得应该是6.0.0,最坏的情况卸载newtonsoft.json再重新安装。
    • 6.0.7 是较新的版本。我卸载并重新安装,但没有任何改变。
    【解决方案3】:

    我认为这就是你的意思(我记得也遇到过这个错误,但那是很久以前的事了)。

    尝试添加以下内容

    <dependentAssembly>
        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.1.0.0" />
    </dependentAssembly>
    

    <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    ....
    

    在您的集线器的 web.config 文件中并尝试

    【讨论】:

    • 你能检查一下你的newtonsoft的版本并确保它在4.0 - 6.0.7的范围内吗?
    猜你喜欢
    • 2020-11-18
    • 2018-08-16
    • 1970-01-01
    • 1970-01-01
    • 2022-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多