簡體   English   中英

如何在 ASP.NET Core(.NET 6、VS 2022)中禁用瀏覽器鏈接

[英]How to disable Browser Link in ASP.NET Core (.NET 6, VS 2022)

我在 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>

每次我保存文件時,它都會重新加載瀏覽器。 我想停止這種行為,但我沒有辦法了。

這是 IIS Express 或 Visual Studio 自動添加的嗎?

我還檢查了所有的包和 DLL,我沒有看到它包含在我的代碼中的任何地方。 它必須通過 Visual Studio 2022 所做的一些“魔法”自動包含在內。

如何停止所有這些重新加載? 我不想要任何瀏覽器鏈接或瀏覽器刷新。 請幫忙,我花了很多時間在這上面,我很絕望。

你快到了。 您只需要還配置以下內容(不要忘記重新啟動 VS):

圖像1

圖2

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"

所以我重命名了它們,在它們前面添加了一個_ ,這使得腳本注入消失了。

更多需要取消選中! 在此處輸入圖像描述

這真的很難根除功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM