只有累積,沒有奇蹟

2019年5月26日 星期日

[NETCore] 使用 Dotnet Watch 自動編譯 ASP.NET Core 應用程式

前言
在開發完代碼的時候,為了確保代碼在應用程式執行的狀況,會在 Visual Studio IDE 使用偵錯模式 F5 或是 Ctrl+F5 進行偵錯,如果執行狀況不如預期時就會關閉偵錯,重新修改代碼在編譯再重新進行偵錯,簡單來說流程像是  改 Code > 編譯 Ctrl + Shift + B > 測試 F5 or Ctrl + F5 > 不如預期 > 改 Code  ,仔細想想這些動作都是重複的,如果可以省下重複的動作可以去做更有效益的事情,今天要分享的是 Dotnet watch tool,它可以檢查代碼有異動時重新啟動應用程式,減少修改完 Code 之後看到結果這之間所花費的時間,若有問題歡迎留言一起討論。

設定安裝
如果您的預設是 ASP.NET Core 2.0 以前的版本,需要在專案檔中加入下列 package,如果是 ASP.NET Core 2.1 以上的話,此工具會預設安裝再 .NET Core SDK 中
Microsoft.DotNet.Watcher.Tools
在 Visual Studio 2019 專案點擊 Project 檔案可直接開啟,確認是否有安裝成功

使用方式
dotnet watch 可以監控當代碼進行修改時重新啟動應用程式,當我們在開發 Web API 或是 MVC 專案的時候,如果想要修改完畢之後立即看到成果這非常有用,也可省下時間增加生產力,如果是使用 IISExpress 時預設已經啟用。在 dotnet watch 中支援的 command 如下
使用方式相當簡單,可以透過以下簡單範例展示其效果,首先建立 ASP.NET Core API 專案,並使用  Ctrl + F5 執行,在預設的專案範本 ValueController 中 GET api/values 得到的結果會是 Value1與 Value2
"value1",
"value2"
接著在專案目錄下開啟 powershell,開啟之後輸入下列指令
dotnet watch run
會開啟 dotnet watch 視窗
接著可以在原先的 value Controller 中修改輸出,改為 value11 以及 value22,更新完畢之後儲存,在儲存後可以看到開啟的 console 會偵測檔案有異動,會進行編譯與重新執行應用程式的動作
watch : Exited
watch : File changed: C:\Users\marcustung\source\repos\WebApplication1\WebApplication1\Controllers\ValuesController.cs
watch : Started
接著在到開啟的瀏覽器按下 F5 重新整理,就可以看到 API 輸出已更新完新的內容,完整內容如下

感想
這篇介紹了 dotnet watch 最基本的應用情境,dotnet watch 除了可以自動編譯之外還支援測試等功能,在 MSDN 文章中也有介紹要監控/ 不要監控的設定方式,另外如果想了解 dotnet watch 是怎麼實作出來的也可以參考 GitHub : 傳送門,如果你也有跟我一樣的困擾想增加其工作效率,或許可以試用看看 dotnet watch :)

參考

1 則留言:

  1. Could not find a MSBuild project file in 'D:\WorkCode\diyi.smartbox\WebApi\bin\Debug\netcoreapp3.1'. Specify which project to use with the --project option.

    回覆刪除

Copyright © m@rcus 學習筆記 | Powered by Blogger

Design by Anders Noren | Blogger Theme by NewBloggerThemes.com