欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

在運(yùn)行時(shí)編輯代碼的 .NET 熱重載的操作方法

 更新時(shí)間:2021年07月10日 08:55:26   作者:MeteorSeed  
今天通過(guò)本文給大家分享 Visual Studio 2019 中 16.11(預(yù)覽版1)中的 .NET 熱重載(通過(guò) .NET 6(預(yù)覽版4)中的 dotnet watch 命令行工具),介紹什么是 .NET 熱重載,如何使用這個(gè)特征,感興趣的朋友跟隨小編一起學(xué)習(xí)下吧

今天,我們很高興向你介紹 Visual Studio 2019 中 16.11(預(yù)覽版1)中的 .NET 熱重載(通過(guò) .NET 6(預(yù)覽版4)中的 dotnet watch 命令行工具)。在這篇文章的其余部分,我們會(huì)介紹什么是 .NET 熱重載,您如何開(kāi)始使用這個(gè)特性,我們對(duì)未來(lái)計(jì)劃改進(jìn)的設(shè)想,以及目前支持哪種編輯和語(yǔ)言的明確性。

  今天,我們很高興向你介紹 Visual Studio 2019 中 16.11(預(yù)覽版1)中的 .NET 熱重載(通過(guò) .NET 6(預(yù)覽版4)中的 dotnet watch 命令行工具)。在這篇文章的其余部分,我們會(huì)介紹什么是 .NET 熱重載,您如何開(kāi)始使用這個(gè)特性,我們對(duì)未來(lái)計(jì)劃改進(jìn)的設(shè)想,以及目前支持哪種編輯和語(yǔ)言的明確性。

什么是 .NET 熱重載

  使用熱重載,您現(xiàn)在可以在應(yīng)用程序運(yùn)行時(shí)修改應(yīng)用程序托管的源代碼,而不需要手動(dòng)暫?;蛎袛帱c(diǎn)。只需在應(yīng)用程序運(yùn)行時(shí)進(jìn)行受支持的更改,并在我們新的 VisualStudio 體驗(yàn)中使用“apply code changes”按鈕應(yīng)用您的編輯。

  熱重載支持已經(jīng)存在的和即將到來(lái)的項(xiàng)目類型,例如 WPF、Windows Forms、.NET MAUI 預(yù)覽版、ASP.NET Core、Console 、WinUI 3 等等。這種支持非常廣泛,支持與任何由 .NET Framework 或 CoreCLR 運(yùn)行時(shí)驅(qū)動(dòng)的項(xiàng)目。(This support is very broad with the core experience working with any project that is powered by .NET Framework or CoreCLR runtimes.)

  通過(guò)熱重載,我們的目標(biāo)是讓這種體驗(yàn)可用,無(wú)論您喜歡如何啟動(dòng)您的應(yīng)用程序。通過(guò)今天的發(fā)布,您現(xiàn)在可以通過(guò)完全集成的 Visual Studio 調(diào)試器體驗(yàn)或 dotnet watch 命令行工具使用此體驗(yàn),稍后版本將有更多的選項(xiàng)。

開(kāi)始

  你可以選擇使用 Visual Studio 的最新預(yù)覽版,也可以選擇使用 .NET 6 預(yù)覽4,介紹如下。

Visual Studio

  在 Visual Studio 中使用調(diào)試器時(shí)嘗試熱重載:

  • 下載并安裝 Visual Studio 2019 16.11 預(yù)覽版1。
  • 打開(kāi)支持的項(xiàng)目類型,例如 WPF 應(yīng)用程序。
  • 通過(guò) F5 啟動(dòng)附加調(diào)試器的應(yīng)用程序(確保在調(diào)試器配置中“enable native code debugging”為禁用)。
  • 打開(kāi)一個(gè) C# 代碼文件,其中有些代碼可以通過(guò)正在運(yùn)行的應(yīng)用程序的用戶界面重新執(zhí)行(例如:一個(gè)按鈕的邏輯代碼或一個(gè) ViewModel 的 command),或者通過(guò) Timer 間隔觸發(fā)一些東西,然后更改代碼。
  • 使用 Visual Studio 中的工具欄新的“應(yīng)用代碼更改(ALT-F10)按鈕”(Continue 按鈕旁邊)來(lái)應(yīng)用代碼更改。請(qǐng)注意,在使用 Visual Studio 時(shí)并不需要保存文件,這給了您快速更改代碼并繼續(xù)進(jìn)行調(diào)試的靈活性。

  如果您所做的更改得到支持,那么您的應(yīng)用程序現(xiàn)在將使用新邏輯在運(yùn)行時(shí)進(jìn)行修補(bǔ),并且您應(yīng)該在下一次通過(guò)您的操作或類似計(jì)時(shí)器的觸發(fā)代碼,重新執(zhí)行更新的代碼時(shí)看到應(yīng)用程序行為的更改。

  您還可以繼續(xù)使用其他調(diào)試器特性,如斷點(diǎn)、編輯并繼續(xù)、XAML 熱重載等。您現(xiàn)在所習(xí)慣的一切都應(yīng)該與 .NET 熱重載完全并行。如果有些東西對(duì)你不起作用,請(qǐng)讓我們知道!

CLI

  使用 dotnet watch 從命令行啟動(dòng)應(yīng)用時(shí)使用熱重載:

  • 安裝 .NET 6 預(yù)覽4。
  • 更新你的 ASP.NET Core 項(xiàng)目到 .NET 6。
  • launchSettings.json 中添加 “hotReloadProfile”: “aspnetcore” 屬性。
{
  "profiles": {
    "dotnet": {
      "commandName": "Project",
      "hotReloadProfile": "aspnetcore"
    }
  }
}
  • 使用 dotnet watch 運(yùn)行項(xiàng)目并查看輸出,它應(yīng)該顯示啟用了熱重載。
  • 對(duì)您的應(yīng)用程序托管代碼進(jìn)行熱重載支持的代碼更改,并保存文件以應(yīng)用。

  就像 Visual Studio 的體驗(yàn)一樣,你的新邏輯現(xiàn)在應(yīng)該被應(yīng)用了,你應(yīng)該會(huì)在下次更新的代碼被重新執(zhí)行時(shí)看到應(yīng)用程序行為的變化。

  您也可以通過(guò)這種方式修改“blazorwasm”熱重載配置文件,在您的 Blazor WebAssembly 項(xiàng)目中使用上面類似的步驟。你甚至可以在 WindowsForms 或其他由 CoreCLR 支持的項(xiàng)目中嘗試它,只需手動(dòng)在 Properties 文件夾下添加一個(gè)帶有上面示例內(nèi)容的名為 launchSettings.json 的文件。

  這一功能仍在開(kāi)發(fā)中,我們正在跟蹤未來(lái)的改進(jìn),將更容易使用 dotnet watch 來(lái)熱重載所有類型的 .NET Core 應(yīng)用程序,而無(wú)需 launchSettings.json 文件,這在當(dāng)前版本中的還是一個(gè)限制。

將在 Visual Studio 2022 和 .NET 6 中的實(shí)現(xiàn)最佳

  今天的發(fā)布只是我們?yōu)?.NET 開(kāi)發(fā)人員提供的熱重載的預(yù)覽版。在 .NET 6 預(yù)覽版和 Visual Studio 2019 中,只有部分功能可用。該特性的全功能會(huì)在 .NET 6(和未來(lái)版本的 .NET)以及 Visual Studio 2022 中作為框架和工具集提供最完整功能和最佳經(jīng)驗(yàn)。

  為了讓你大致了解我們計(jì)劃在未來(lái)的預(yù)覽版和最終版本中提供哪些特性,這里有一些例子:

  • .NET Multi-platform App UI (.NET MAUI):借助 .NET 6 Preview 4,開(kāi)發(fā)人員構(gòu)建 .NET MAUI 應(yīng)用程序時(shí),現(xiàn)在可以使用 .NET 熱重載來(lái)實(shí)現(xiàn)針對(duì) WinUI 3 的項(xiàng)目。在未來(lái)的版本中,我們將在 iOS、Android 和 Mac Catalyst 場(chǎng)景中引入 .NET 熱重載支持。
  • Razor Pages:在未來(lái)的版本中,將支持熱重載和編輯并繼續(xù) (Edit and Continue,EnC),用于為 .NET 6 或更高版本的網(wǎng)站或 Blazor 應(yīng)用編輯 Razor。
  • 無(wú)需調(diào)試器:在 Visual Studio 2022 的未來(lái)版本中,我們正在努力添加對(duì)使用熱重載而不需要調(diào)試器的支持,這意味著開(kāi)發(fā)者將能夠使用 CTRL-F5 啟動(dòng)他們的應(yīng)用程序,并且仍然使用熱重載來(lái)修補(bǔ)他們正在運(yùn)行的應(yīng)用程序。
  • 減少不受支持的更改:在 Visual Studio 2022 和 .NET 6+ 的未來(lái)版本中,我們計(jì)劃跨多個(gè)團(tuán)隊(duì)進(jìn)行工作,以減少運(yùn)行時(shí)不受支持的編輯的數(shù)量。
  • 優(yōu)化框架以更好地支持熱重載:在.NET 6 中,我們正在研究如何改進(jìn)某些框架以更好地支持熱重新加載。將包括對(duì) ASP.NET Core, .NET MAUI 和其他框架的調(diào)整和優(yōu)化將使熱重載在更多的情況下更有用。

  以上是我們目前的計(jì)劃,請(qǐng)注意,計(jì)劃可能會(huì)根據(jù)客戶的反饋和時(shí)間表進(jìn)行更改。

支持/不支持的更改和語(yǔ)言

  無(wú)論你如何使用 .NET 熱重載,請(qǐng)注意,有些更改在運(yùn)行時(shí)是不支持的,會(huì)提示你一個(gè)粗糙的編輯對(duì)話框,并要求你重新啟動(dòng)應(yīng)用程序。我們?nèi)灾铝τ谠撎匦院臀臋n,以詳細(xì)說(shuō)明支持哪些編輯?,F(xiàn)在,首先查看現(xiàn)有的編輯并繼續(xù)(EnC)列表等效功能。由于熱重載是由 EnC 驅(qū)動(dòng)的,這將為你更好地理解這個(gè)新特性提供一個(gè)很好的起點(diǎn)。具體請(qǐng)參見(jiàn):EnC 文檔。

  此外,雖然上面的例子是特別提到 C# 的,但在 Visual Studio 的調(diào)試器下運(yùn)行時(shí),在各種情況下也支持 Visual Basic。F# 目前在 .NET 6 中還不支持,但我們計(jì)劃在未來(lái)的版本中根據(jù)客戶的反饋提供支持。

到此這篇關(guān)于在運(yùn)行時(shí)編輯代碼的 .NET 熱重載的操作方法的文章就介紹到這了,更多相關(guān).NET 熱重載內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • .net core如何利用ConcurrentTest組件對(duì)方法進(jìn)行壓力測(cè)試詳解

    .net core如何利用ConcurrentTest組件對(duì)方法進(jìn)行壓力測(cè)試詳解

    這篇文章主要給大家介紹了關(guān)于.net core如何利用ConcurrentTest組件對(duì)方法進(jìn)行壓力測(cè)試的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧
    2018-11-11
  • ASP.NET深度復(fù)制和淺度復(fù)制分析

    ASP.NET深度復(fù)制和淺度復(fù)制分析

    這篇文章主要介紹了ASP.NET深度復(fù)制和淺度復(fù)制,實(shí)例分析了ASP.NET中深度復(fù)制和淺度復(fù)制的區(qū)別與具體應(yīng)用,對(duì)于學(xué)習(xí)ASP.NET有著很好的參考借鑒價(jià)值,需要的朋友可以參考下
    2014-11-11
  • Asp.net把圖片存入數(shù)據(jù)庫(kù)和讀取圖片的方法

    Asp.net把圖片存入數(shù)據(jù)庫(kù)和讀取圖片的方法

    網(wǎng)上關(guān)于ASP.NET上傳圖片到數(shù)據(jù)庫(kù)的資料非常多,常用的如下:存儲(chǔ)圖片類型數(shù)據(jù)有以下幾種方式
    2013-07-07
  • http調(diào)用webservice操作httprequest、httpresponse示例

    http調(diào)用webservice操作httprequest、httpresponse示例

    這篇文章主要介紹了http調(diào)用webservice操作httprequest、httpresponse示例,需要的朋友可以參考下
    2014-05-05
  • .net等比縮放生成縮略圖的方法

    .net等比縮放生成縮略圖的方法

    本文給大家匯總了2個(gè)C#中等比縮放實(shí)現(xiàn)生成縮略圖的方法,第一種稍微簡(jiǎn)單些,第二種是本人常用的方法,這里推薦給大家,有需要的小伙伴可以參考下。
    2015-11-11
  • 擴(kuò)展 Entity Framework支持復(fù)雜的過(guò)濾條件(多個(gè)關(guān)鍵字模糊匹配)

    擴(kuò)展 Entity Framework支持復(fù)雜的過(guò)濾條件(多個(gè)關(guān)鍵字模糊匹配)

    之前遇到一個(gè)棘手的Linq to EF查詢的技術(shù)問(wèn)題,現(xiàn)有產(chǎn)品表Product,需要根據(jù)多個(gè)關(guān)鍵字模糊匹配產(chǎn)品名稱, 現(xiàn)將解決方案分享出來(lái),按興趣的朋友可以參考下
    2012-12-12
  • asp.net ubb使用代碼

    asp.net ubb使用代碼

    asp.net ubb使用代碼,以前腳本之家曾經(jīng)發(fā)過(guò)一篇稍有區(qū)別的代碼,大家一起參考下吧。
    2009-12-12
  • Asp.Net各種超時(shí)問(wèn)題總結(jié)

    Asp.Net各種超時(shí)問(wèn)題總結(jié)

    在數(shù)據(jù)庫(kù)或者請(qǐng)求操作時(shí),如果選擇的時(shí)間段過(guò)短或操作數(shù)據(jù)量過(guò)大,就會(huì)遇到"請(qǐng)求超時(shí)"的的問(wèn)題,網(wǎng)絡(luò)上提供很多解決方案,但普遍不完善,根據(jù)個(gè)人經(jīng)驗(yàn)及參考網(wǎng)絡(luò)解決方案,先將其匯總
    2013-02-02
  • C#實(shí)現(xiàn)把圖片下載到服務(wù)器代碼

    C#實(shí)現(xiàn)把圖片下載到服務(wù)器代碼

    本文給大家分享的是實(shí)現(xiàn)這樣一個(gè)功能,想將遠(yuǎn)程服務(wù)器的圖片下載到本地主機(jī),圖片的名稱就是數(shù)據(jù)庫(kù)的一個(gè)字段,圖片不是以二進(jìn)制的形式存儲(chǔ)在數(shù)據(jù)庫(kù)的,數(shù)據(jù)庫(kù)存儲(chǔ)的只是圖片的名詞。
    2015-11-11
  • 模擬HTTP請(qǐng)求實(shí)現(xiàn)網(wǎng)頁(yè)自動(dòng)操作及數(shù)據(jù)采集的方法

    模擬HTTP請(qǐng)求實(shí)現(xiàn)網(wǎng)頁(yè)自動(dòng)操作及數(shù)據(jù)采集的方法

    下面小編就為大家?guī)?lái)一篇模擬HTTP請(qǐng)求實(shí)現(xiàn)網(wǎng)頁(yè)自動(dòng)操作及數(shù)據(jù)采集的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-03-03

最新評(píng)論