Tom*_*rek 42 c# visual-studio browser-link .net-core asp.net-core
我已禁用 Visual Studio 2022 内的浏览器链接,并且还禁用了所有热重载功能。
甚至浏览器链接仪表板也表明应该禁用它:
我也没有在我的代码中的任何地方使用任何代码app.UseBrowserLink();
。(如ASP.NET Core 中的浏览器链接中所述)
然而,这些中间件仍然以某种方式出现在请求管道中:
Microsoft.AspNetCore.Watch.BrowserRefresh.BrowserRefreshMiddleware
Microsoft.WebTools.BrowserLink.Net.BrowserLinkMiddleware
这些中间件将其添加到我的 HTML 中:
<!-- Visual Studio Browser Link -->
<script type="text/javascript" src="https://localhost:44399/0928d478a97d441187231f2a1a7cd5e5/browserLink" async="async" id="__browserLink_initializationData" data-requestId="c94cf93088fb44e98f4e499b20ad7bfe" data-requestMappingFromServer="False"></script>
<!-- End Browser Link -->
<script src="/_framework/aspnetcore-browser-refresh.js"></script></body>
Run Code Online (Sandbox Code Playgroud)
每次我保存文件时,它都会重新加载浏览器。我想阻止这种行为,但我已经没有选择了。
这是 IIS Express 或 Visual Studio 自动添加的内容吗?
我还检查了所有包和 DLL,但我没有看到它包含在我的代码中的任何位置。它必须通过 Visual Studio 2022 所做的一些“魔法”自动包含在内。
我如何停止所有这些重新加载?我不需要任何浏览器链接或浏览器刷新。请帮忙,我花了很多时间在这上面,我很绝望。
ton*_*lla 42
你快到了。您只需要配置以下内容(不要忘记重新启动 VS):
Visual Studio 使用 .NET Core 的Startup Hook
功能来注入这些中间件,如果您在 Program.cs 的第一行设置断点并System.Environment.GetEnvironmentVariable("DOTNET_STARTUP_HOOKS")
在调试器中进行评估,您可以看到哪些钩子从哪里加载。如果您现在去重命名它尝试加载的文件,它将无法再执行此操作,并且您将摆脱 browserLink!。
例如,就我而言,它正在加载
"C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\Extensions\Microsoft\Web Tools\Browser Link\Microsoft.WebTools.BrowserLink.Net.dll"
"C:\Program Files\dotnet\sdk\6.0.201\DotnetTools\dotnet-watch\6.0.201-servicing.22124.17\tools\net6.0\any\middleware\Microsoft.AspNetCore.Watch.BrowserRefresh.dll"
Run Code Online (Sandbox Code Playgroud)
所以我重命名了它们,_
在它们前面添加了一个,这使得脚本注入消失了。
归档时间: |
|
查看次数: |
13326 次 |
最近记录: |