【问题标题】:Uninstall Microsoft ASP.NET SignalR with no traces卸载没有任何痕迹的 Microsoft ASP.NET SignalR
【发布时间】:2015-12-21 14:22:17
【问题描述】:

几天前,当我想在项目中使用 SignalR 时,我使用包管理器控制台安装了 Microsoft.AspNet.SignalR。

安装包 Microsoft.AspNet.SignalR

我为项目中不再需要 SignalR 的问题找到了另一个更简单的解决方案。我卸载了包:

卸载-Package Microsoft.AspNet.SignalR

运行上述命令后,我确实注意到包 Microsoft.AspNet.SignalR 已从 package.config 文件中删除。

我假设对安装包所做的任何更改都已在项目中进行,它会使用卸载命令自动清理。

但是,在我在控制台日志中看到一些错误的第二天。

WebSocket连接到“WS://本地主机:61135 / signalr /重新连接运输=的WebSockets&MESSAGEID = d-74CFF57F-B%2C0%7CF%2C0%7CD%2C0%7CG%2C1&clientProtocol = 1.5&connectionToken = moGkKaoibXu6xg4srnQoGTdxp3axLXQ5h5guoaVYP25MgSKutfN8D%2FyQcJhXamlWjnAhBDIPMjWUEoM9W3% 2BP6SQcoQ98jwuiV7lox%2BMNfgyx2x0FOlj6%2BO2PcQ%2Fl3WgwYsbQd7J%2FL1XFVe3yOvNuzw%3D%3D&connectionData=%5B%7B%22name%22%3A%22notificationhub%22%7D%5D&tid=4' 失败:WebSocket 握手期间出错: >

我觉得虽然我不再在 JS 中初始化集线器,但集线器初始化代码仍在某处运行。我删除了作为添加 SignalR 的一部分添加的 StartUp.cs。运行应用程序,发现浏览器出现this 错误。

然后我调查了我的代码库中还剩下什么,发现 SignalR 确实留下了很多依赖包和代码文件。

比较我的 package.config 文件,我有以下安装命令的包结果:

    + <package id="Microsoft.AspNet.SignalR.Core" version="2.2.0"
    targetFramework="net45" />
    + <package id="Microsoft.AspNet.SignalR.JS" version="2.2.0"
    targetFramework="net45" />
    + <package id="Microsoft.AspNet.SignalR.SystemWeb" version="2.2.0"
    targetFramework="net45" />
    + <package id="Microsoft.Owin" version="2.1.0" targetFramework="net45" />
    +  <package id="Microsoft.Owin.Host.SystemWeb" version="2.1.0" targetFramework="net45" />
    + <package id="Microsoft.Owin.Security" version="2.1.0" targetFramework="net45" />

问题 1

我是否必须一一手动卸载这些软件包?有什么捷径吗?

问题 2

即使卸载后,脚本文件夹中也有 js 文件,我不得不手动删除它。这真的需要吗?

jquery.signalR-2.2.0.js 
jquery.signalR-2.2.0.min.js

这是 SignalR 包的问题还是我做错了什么来面对这种浪费时间的情况?

【问题讨论】:

    标签: c# asp.net asp.net-mvc signalr nuget


    【解决方案1】:

    您也需要卸载带有依赖项的软件包才能删除依赖项。

    • 使用 VS UI(在解决方案或项目的属性中管理包)
    • 按照NuGet Powershell Reference 中的说明添加-RemoveDependencies

      Uninstall-Package Microsoft.AspNet.SignalR -RemoveDependencies
      

    (要脱离当前状态,您可能需要重新安装包,然后卸载依赖项)。

    【讨论】:

    • 我在 npm 下安装了 Signalr 并删除了,然后项目构建显示 log4net 在 Microsoft 目标框架中不同版本冲突的警告。您对“-RemoveDependencies”的回答解决了这个问题。我确实再次安装了 SignalR,然后沿着 removedependencies 卸载。为你的答案 +1
    最近更新 更多