卸载Microsoft ASP.没有痕迹的.NET SignalR

本文关键字:NET SignalR 痕迹 Microsoft ASP 卸载 | 更新日期: 2023-09-27 18:14:12

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

安装包Microsoft.AspNet.SignalR

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

Uninstall-Package Microsoft.AspNet.SignalR

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

我假设无论安装包在项目中做了什么改变,它都会用卸载命令自动清理。

然而,一天后我在控制台日志中看到一些错误。

WebSocket连接到'ws://localhost:61135/signalr/reconnect?transport=webSockets&messageId=d-74CFF57F-B%2C0%7CF%2C0%7CD%2C0%7CG%2C1&clientProtocol=1.5&connectionToken=moGkKaoibXu6xg4srnQoGTdxp3axLXQ5h5guoaVYP25MgSKutfN8D% 2fyqcjhxamlwjnahbdipmjwueiv7lox % 2bbp6sqcoq98jwuiv7lox %2BO2PcQ%2Fl3WgwYsbQd7J% 2Fl3WgwYsbQd7J%2FL1XFVe3yOvNuzw%3D%3D&connectionData=%5B%7B%22name%22%3A%22notificationhub%22%7D%5D&tid=4' failed: WebSocket握手时错误:异常响应代码:502

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

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

比较我的包。配置文件,我有以下安装命令的包结果:

    + <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包的问题还是我做错了什么来面对这种浪费时间的情况?

卸载Microsoft ASP.没有痕迹的.NET SignalR

您需要卸载带有依赖项的包来删除依赖项。

  • 使用VS UI(在解决方案或项目的属性中管理包)
  • add -RemoveDependencies,参见NuGet Powershell Reference

    Uninstall-Package Microsoft.AspNet.SignalR -RemoveDependencies
    

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