在 Visual Studio 2019 中禁用 .NET Core 项目的热重载

Bri*_*ian 28 .net visual-studio asp.net-core

前段时间,Visual Studio 更新添加了热重载功能。它很方便,但也可能很烦人,特别是当您正在测试并且不想重置前端的当前状态时。无论您是否正在调试,Visual Studio 都会注入脚本。

如何禁用热重载?我的Visual Studio版本是16.10.3

https://devblogs.microsoft.com/visualstudio/speed-up-your-dotnet-and-cplusplus-development-with-hot-reload-in-visual-studio-2022/

Sha*_*Orr 26

您可以在此处更改此功能:

Tools > Options > Projects and Solutions > ASP.NET Core > Auto build and refresh option

如果对项目进行更改时 Web 服务器正在运行,则自动构建和刷新浏览器的选项。

您在此下拉列表中的选项如下:

  1. 没有任何
  2. 根据浏览器请求自动构建(仅限 IIS)
  3. 构建后刷新浏览器
  4. 保存更改后自动构建并刷新浏览器

另请注意我的 VS 版本是16.11.1.

  • 我将其设置为 none,甚至在重新启动 Visual Studio 后,它仍然继续将 /_framework/aspnetcore-browser-refresh.js 添加到我的 index.html 的底部。令人抓狂。 (8认同)
  • 是的,不幸的是,即使在 VS 2022 RTM 中,此设置也不起作用。微软继续否认此支持线程中的问题:https://developercommunity.visualstudio.com/t/how-to-disable-hot-reload-for-aspnet-core-projects/1506697?from=email&viewtype=all#T -ND1578834 我最终向 uBlock 添加了一条规则来阻止此操作 - 在“我的过滤器”下,添加“\*aspnetcore-browser-refresh.js\*”(无引号) (4认同)

Rom*_*kov 9

在 VS2022 中,取消选中项目“调试属性”下的“启用热重载”设置将禁用脚本注入aspnetcore-browser-refresh.js

这些屏幕截图显示了访问该设置的一种方法:

Visual Studio 调试菜单

Visual Studio 调试配置文件


Rub*_*nov 9

使用 CLI 你必须做

dotnet watch --no-hot-reload
Run Code Online (Sandbox Code Playgroud)


Ant*_*ton 8

在 VS 2022 中打开 Properties 文件夹中的 launchSettings.json

找到您的个人资料并添加(参见箭头,不要添加箭头)

{
  "$schema": "https://json.schemastore.org/launchsettings.json",
  "profiles": {
    "Gang.Bingo.Web": {
      "commandName": "Project",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      },
      "applicationUrl": "https://localhost:7249;http://localhost:5249",
      "dotnetRunMessages": true,
      "hotReloadEnabled": false   <===========
    }
  }
}```
Run Code Online (Sandbox Code Playgroud)


Bri*_*ian 7

这不是一个很好的解决方案,但它是一个可行的解决方法。

在 Chromium Edge 开发者工具的“网络”选项卡中,我找到了加载aspnetcore-browser-refresh.js. 我右键单击它并选择“阻止 URL”。这会阻止脚本加载。