日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

使用 dotnet watch 开发 ASP.NET Core 应用程序

發布時間:2023/12/4 asp.net 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用 dotnet watch 开发 ASP.NET Core 应用程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文:Developing ASP.NET Core applications using dotnet watch
作者:Victor Hurdugaci
翻譯:謝煬(Kiler)
校對:劉怡(AlexLEWIS)、許登洋(Seay)

介紹

dotnet watch?是一個開發階段在源文件發生變動的情況下使用?dotnet?命令的工具。 當代碼發生變動的時候可以用來執行編譯,運行測試,或者發布操作。

在本教程中,我們將使用一個現有的計算兩個數字之和以及乘積的 WebApi 應用程序來演示如何使用?dotnet watch?。示例應用程序故意包含一個錯誤,作為本教程的一部分我們會修復它。

開始入門

開始下載?示例程序。示例程序包含兩個項目,?WebApp?(Web 應用程序)以及?WebAppTests?(Web 應用程序配套的單元測試項目)

在命令行控制臺中,進入下載示例程序的目錄并且運行下述命令:

1、dotnet restore
2、cd WebApp
3、dotnet run

控制臺輸出將顯示如下信息,表明該應用程序正在運行并等待請求:

$ dotnet run

Project WebApp (.NETCoreApp,Version=v1.0) will be compiled because inputs were modified

Compiling WebApp for .NETCoreApp,Version=v1.0


Compilation succeeded.

? 0 Warning(s)

? 0 Error(s)


Time elapsed 00:00:02.6049991


Hosting environment: Production

Content root path: /Users/user/dev/aspnet/Docs/aspnet/tutorials/dotnet-watch/sample/WebApp

Now listening on: http://localhost:5000

Application started. Press Ctrl+C to shut down.

在 Web 瀏覽器中,導航到?http://localhost:5000/api/math/sum?a=4&b=5?頁面你會看到結果?9?。

如果你導航到?http://localhost:5000/api/math/product?a=4&b=5?頁面,你期望得到結果?20。但是實際上還是返回了?9?。

我們會修復這個問題的。

項目中添加?dotnet watch

1、按照下面例子的方式在?WebApp/project.json?文件的?tools?配置節中添加?Microsoft.DotNet.Watcher.Tools?引用:

"tools": {

? "Microsoft.DotNet.Watcher.Tools": "1.0.0-preview2-final" //手工高亮

},

2、運行?dotnet restore。

控制臺輸出將顯示如下信息:

log ?: Restoring packages for /Users/user/dev/aspnet/Docs/aspnet/tutorials/dotnet-watch/sample/WebApp/project.json...

log ?: Restoring packages for tool 'Microsoft.DotNet.Watcher.Tools' in /Users/user/dev/aspnet/Docs/aspnet/tutorials/dotnet-watch/sample/WebApp/project.json...

log ?: Installing Microsoft.DotNet.Watcher.Core 1.0.0-preview2-final.

log ?: Installing Microsoft.DotNet.Watcher.Tools 1.0.0-preview2-final.

使用?dotnet watch?運行?dotnet?命令

任何與?dotnet?有關的命令都可以以?dotnet watch?這樣的方式運行:例如:

命令帶上 watch 的命令Command
dotnet rundotnet watch run
dotnet run -f net451dotnet watch run -f net451
dotnet run -f net451 -- --arg1dotnet watch run -f net451 -- --arg1
dotnet testdotnet watch test

為了讓?WebApp?在 watcher 模式下運行,在?WebApp?目錄里面運行?dotnet watch run?命令。 控制臺輸出將顯示如下信息,表明?dotnet watch?現在正在監控代碼文件:

user$ dotnet watch run

[DotNetWatcher] info: Running dotnet with the following arguments: run

[DotNetWatcher] info: dotnet process id: 39746

Project WebApp (.NETCoreApp,Version=v1.0) was previously compiled. Skipping compilation.

Hosting environment: Production

Content root path: /Users/user/dev/aspnet/Docs/aspnet/tutorials/dotnet-watch/sample/WebApp

Now listening on: http://localhost:5000

Application started. Press Ctrl+C to shut down.

在?dotnet watch?模式進行修改

確認?dotnet watch?模式運行中。

讓我們來修復上面發現的那個兩個數相乘結果錯誤。

打開文件?WebApp/Controllers/MathController.cs

我們故意在代碼中引入了錯誤。

public static int Product(int a, int b)

{

? ? // We have an intentional bug here

? ? // + should be *

? ? return a + b;//手工高亮

}

通過把代碼?a + b?替換為?a * b?修復錯誤。

保存文件。 控制臺輸出將顯示如下信息,表明?dotnet watch?檢測到文件的改變并重啟了應用程序。

[DotNetWatcher] info: File changed: /Users/user/dev/aspnet/Docs/aspnet/tutorials/dotnet-watch/sample/WebApp/Controllers/MathController.cs

[DotNetWatcher] info: Running dotnet with the following arguments: run

[DotNetWatcher] info: dotnet process id: 39940

Project WebApp (.NETCoreApp,Version=v1.0) will be compiled because inputs were modified

Compiling WebApp for .NETCoreApp,Version=v1.0

Compilation succeeded.

? 0 Warning(s)

? 0 Error(s)

Time elapsed 00:00:03.3312829


Hosting environment: Production

Content root path: /Users/user/dev/aspnet/Docs/aspnet/tutorials/dotnet-watch/sample/WebApp

Now listening on: http://localhost:5000

Application started. Press Ctrl+C to shut down.

驗證?http://localhost:5000/api/math/product?a=4&b=5?鏈接返回正確的結果。

使用?dotnet watch?運行測試

文件監控也能運行其他?dotnet?命令例如?test?或者?publish。

1、打開?WebAppTests?目錄,確認?project.json?文件中已經包含了?dotnet watch。

2、運行?dotnet watch test?命令。

如果你之前在?MathController?中修復了錯誤你會看到控制臺輸出顯示如下信息,否則你會看到測試失敗的信息:

一旦所有的測試運行起來了,監控器會指示他在下一次重新啟動?dotnet test?前會等待一個文件的變更。

3、打開控制器?WebApp/Controllers/MathController.cs?文件并且修改代碼。如果你沒有修復乘法錯誤,馬上修改。并保存。

dotnet watch?將會檢測到文件變更并且重新運行測試。 控制臺輸出將顯示如下信息:

[DotNetWatcher] info: File changed: /Users/user/dev/aspnet/Docs/aspnet/tutorials/dotnet-watch/sample/WebApp/Controllers/MathController.cs

[DotNetWatcher] info: Running dotnet with the following arguments: test

[DotNetWatcher] info: dotnet process id: 40233

Project WebApp (.NETCoreApp,Version=v1.0) will be compiled because inputs were modified

Compiling WebApp for .NETCoreApp,Version=v1.0

Compilation succeeded.

? 0 Warning(s)

? 0 Error(s)

Time elapsed 00:00:03.2127590

Project WebAppTests (.NETCoreApp,Version=v1.0) will be compiled because dependencies changed

Compiling WebAppTests for .NETCoreApp,Version=v1.0

Compilation succeeded.

? 0 Warning(s)

? 0 Error(s)

Time elapsed 00:00:02.1204052


xUnit.net .NET CLI test runner (64-bit .NET Core osx.10.11-x64)

? Discovering: WebAppTests

? Discovered: ?WebAppTests

? Starting: ? ?WebAppTests

? Finished: ? ?WebAppTests

=== TEST EXECUTION SUMMARY ===

? ?WebAppTests ?Total: 2, Errors: 0, Failed: 0, Skipped: 0, Time: 0.260s

SUMMARY: Total: 1 targets, Passed: 1, Failed: 0.

[DotNetWatcher] info: dotnet exit code: 0

[DotNetWatcher] info: Waiting for a file to change before restarting dotnet...

原文地址:http://www.cnblogs.com/dotNETCoreSG/p/aspnetcore-2_8-dotnet-watch.html


.NET社區新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關注

總結

以上是生活随笔為你收集整理的使用 dotnet watch 开发 ASP.NET Core 应用程序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。