"νμΌ κ°μμλ₯Ό μ¬μ©νμ¬ ASP.NET Core μ± κ°λ°"μ μ€λͺ
λ νλ‘μ νΈμ dotnet-watch
, νΉν dotnet watch
μ¬μ©νμ¬ ν
μ€νΈ μ€ν μΉμ
μ μ νμΌμ μΆκ°λ₯Ό κ°μ§νμ§ λͺ»ν©λλ€.
νλ‘μ νΈμ λλ ν°λ¦¬λ₯Ό λ§λλλ€.
mkdir DotNetWatcherIssueDemo
νλ‘μ νΈ λλ ν λ¦¬λ‘ λ³κ²½:
cd DotNetWatcherIssueDemo
μ ν μ€νΈ νλ‘μ νΈλ‘ μ΄κΈ°νν©λλ€.
dotnet new nunit
ν μ€νΈ νλ‘μ νΈκ° ν¬ν¨λ λλ ν°λ¦¬μμ VS Codeλ₯Ό μμν©λλ€.
code .
νλ‘μ νΈλ₯Ό λ³΄κ³ λ³κ²½ μ¬νμ λν ν μ€νΈλ₯Ό μ€ννλλ‘ μμ²:
dotnet watch test
μ΄ λ¨κ³μμ μΆλ ₯μ΄ νμλμ΄μΌ ν©λλ€.
watch : Started
Build started, please wait...
Build completed.
Test run for A:\temp\DotNetWatchIssueDemo\bin\Debug\netcoreapp2.2\DotNetWatchIssueDemo.dll(.NETCoreApp,Version=v2.2)
Microsoft (R) Test Execution Command Line Tool Version 15.9.0
Copyright (c) Microsoft Corporation. All rights reserved.
Starting test execution, please wait...
Total tests: 1. Passed: 1. Failed: 0. Skipped: 0.
Test Run Successful.
Test execution time: 0.9364 Seconds
watch : Exited
watch : Waiting for a file to change before restarting dotnet...
μ΄μ UnitTest1.cs
μ ν
μ€νΈλ₯Ό μΆκ°ν©λλ€.
diff --git a/UnitTest1.cs b/UnitTest1.cs
index 66ec70e..f6406e7 100644
--- a/UnitTest1.cs
+++ b/UnitTest1.cs
@@ -14,5 +14,11 @@ namespace Tests
{
Assert.Pass();
}
+
+ [Test]
+ public void Test2()
+ {
+ Assert.Pass();
+ }
}
}
\ No newline at end of file
dotnet watch
μ λ³κ²½ μ¬νμ μ ννκ³ _two_ ν
μ€νΈλ₯Ό μ±κ³΅μ μΌλ‘ μ€ννκ³ κ³μν΄μ μΆκ° νμΌ λ³κ²½ μ¬νμ κ°μν©λλ€.
watch : Started
Build started, please wait...
Build completed.
Test run for A:\temp\DotNetWatchIssueDemo\bin\Debug\netcoreapp2.2\DotNetWatchIssueDemo.dll(.NETCoreApp,Version=v2.2)
Microsoft (R) Test Execution Command Line Tool Version 15.9.0
Copyright (c) Microsoft Corporation. All rights reserved.
Starting test execution, please wait...
Total tests: 2. Passed: 2. Failed: 0. Skipped: 0.
Test Run Successful.
Test execution time: 0.9698 Seconds
watch : Exited
watch : Waiting for a file to change before restarting dotnet...
λ³λμ μ
Έμμ cd
νλ‘μ νΈ λλ ν°λ¦¬μ μ ν
μ€νΈ νμΌμ μΆκ°ν©λλ€.
dotnet new nunit-test -n UnitTest2 -o .
λ§μ§λ§ λ¨κ³μμ dotnet watch
κ° μ νμΌ λ³κ²½ μ¬νμ μ ννκ³ λͺ¨λ ν
μ€νΈλ₯Ό λΉλ λ° μ¬μ€νν κ²μΌλ‘ μμνμ§λ§ μ무 μμ
λ μννμ§ μμμ΅λλ€.
νμΌμ μ μ λͺ©λ‘μ μμ±νκ³ λ³κ²½ μ¬νλ§ κ°μνλ κ² κ°μ΅λλ€. νλ‘μ νΈ νμΌ( DotNetWatcherIssueDemo.csproj
)μ ν°μΉ/κ°μ μ μ₯νλ©΄ dotnet watch
κ° λ³κ²½ μ¬νμ κ°μ§νκ³ κ°μ λͺ©λ‘μ λ€μ λΉλνκ³ μΆκ°λ νμΌμ λ³κ²½ μ¬νμ κ°μ§νμ§λ§ λ€μ μ΄ν μΆκ°λ νμΌ.
dotnet --info
μΆλ ₯:
.NET Core SDK (reflecting any global.json):
Version: 2.2.101
Commit: 236713b0b7
Runtime Environment:
OS Name: Windows
OS Version: 10.0.17134
OS Platform: Windows
RID: win10-x64
Base Path: C:\Program Files\dotnet\sdk\2.2.101\
Host (useful for support):
Version: 2.2.0
Commit: 1249f08fed
.NET Core SDKs installed:
1.1.8 [C:\Program Files\dotnet\sdk]
1.1.9 [C:\Program Files\dotnet\sdk]
1.1.10 [C:\Program Files\dotnet\sdk]
1.1.11 [C:\Program Files\dotnet\sdk]
2.1.101 [C:\Program Files\dotnet\sdk]
2.1.103 [C:\Program Files\dotnet\sdk]
2.1.104 [C:\Program Files\dotnet\sdk]
2.1.200 [C:\Program Files\dotnet\sdk]
2.1.201 [C:\Program Files\dotnet\sdk]
2.1.202 [C:\Program Files\dotnet\sdk]
2.1.300 [C:\Program Files\dotnet\sdk]
2.1.400 [C:\Program Files\dotnet\sdk]
2.1.402 [C:\Program Files\dotnet\sdk]
2.1.403 [C:\Program Files\dotnet\sdk]
2.1.500 [C:\Program Files\dotnet\sdk]
2.1.502 [C:\Program Files\dotnet\sdk]
2.2.101 [C:\Program Files\dotnet\sdk]
.NET Core runtimes installed:
Microsoft.AspNetCore.All 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 1.0.10 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 1.0.11 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 1.0.12 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 1.0.13 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 1.1.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 1.1.8 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 1.1.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 1.1.10 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.0.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.0.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.0.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
To install additional .NET Core runtimes or SDKs:
https://aka.ms/dotnet-download
/cc @natemcmaster
μ½λμ λ€μ μ£Όμμ λ°λ₯΄λ©΄ μ΄κ²μ λΆλͺ ν λ²κ·Έμ΄λ©° λΆμ‘±ν©λλ€.
λλ κ·Έκ²μ΄ νκ³λΌλ©΄ μ΄λμλ λ¬Έμνλμ΄ μμ§ μκΈ° λλ¬Έμ λ²κ·ΈλΌκ³ λ§ν©λλ€.
μ΄μ λν μ§μ μ΄ μμ΅λκΉ?
μ΄κ²μ λν΄ +1.
λλ λ¨μ§ ν μ€νΈλ₯Ό λ°λ³΅νκ³ , μΆλ ₯μ μΉμΈνκ³ , ν μ€νΈλ₯Ό μ¬μ€νν μ μλλ‘ νλ Verifyλ₯Ό μ¬μ© νμ¬ κ½€ λ©μ§ μν¬νλ‘ μ€μ μ κ°μ§κ³ μμ΅λλ€. λΆμ‘±ν μ μΌν λΆλΆμ μ νμΌλ‘ ν μ€νΈ μ€μνΈλ₯Ό νμ₯νλ €λ κ²½μ°μ λλ€.
ν΄κ²° λ°©λ²μ ν μ€νΈ ν΄λμ€λ₯Ό λμΌν νμΌμ κ³μ μΆκ°ν λ€μ λμ€μ λΆν νλ κ²μ΄μ§λ§ μ½κ° κ³ ν΅μ€λ½μ΅λλ€. νΈμ§: λμ€μ μ κ±°ν λ ν΄λμ€λ₯Ό μ νμΌλ‘ μ΄λ νλ λΉ λ₯Έ 리ν©ν λ§ μΌλ‘ λμμ§ μμ΅λλ€.
κ°μ₯ μ μ©ν λκΈ
μ½λμ λ€μ μ£Όμμ λ°λ₯΄λ©΄ μ΄κ²μ λΆλͺ ν λ²κ·Έμ΄λ©° λΆμ‘±ν©λλ€.
https://github.com/aspnet/AspNetCore/blob/1f050242559e7b90ff6c4ee7f99d92b3a5af5a62/src/Tools/dotnet-watch/src/Internal/MsBuildFileSetFactory.cs#L66 -L67
λλ κ·Έκ²μ΄ νκ³λΌλ©΄ μ΄λμλ λ¬Έμνλμ΄ μμ§ μκΈ° λλ¬Έμ λ²κ·ΈλΌκ³ λ§ν©λλ€.