I have disabled Browser Link inside Visual Studio 2022, and I have also disabled all the Hot Reload functionality.
Even the Browser Link Dashboard indicates it should be disabled:
I also do not use any of the app.UseBrowserLink();
code anywhere in my code. (as documented in Browser Link in ASP.NET Core .
However, these middlewares still somehow appear in the request pipeline:
Microsoft.AspNetCore.Watch.BrowserRefresh.BrowserRefreshMiddleware
Microsoft.WebTools.BrowserLink.Net.BrowserLinkMiddleware
These middlewares add this to my 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>
And every time I save a file, it reloads the browser. I want to stop this behaviour, and I ran out of options how.
Is this something that the IIS Express or Visual Studio add automatically?
I also checked all the packages and DLLs, and I don't see it included anywhere in my code. It must be included automatically via some "magic" that Visual Studio 2022 does.
How do I stop all this reloading? I do not want any Browser Link or Browser Refresh. Please help, I spent a lot of time on this, and I'm desperate.
Visual Studio uses .NET Core's Startup Hook
feature to inject those middlewares, if you set a breakpoint on the first line of your Program.cs and evaluate System.Environment.GetEnvironmentVariable("DOTNET_STARTUP_HOOKS")
in the debugger, you can see which hooks are getting loaded from where. If you now go and rename the files it's trying to load, it won't be able anymore to do that and you're free from browserLink!.
For example, in my case, it was loading
"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"
so i renamed them, adding a _
in front of them which made the script injection disappear.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.