question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

dotnet watch run watches all files under wwwroot even with exclusion list

See original GitHub issue

Describe the bug

Running on .NET 5.0.201, dotnet watch run reloads every time a JS or CSS files is modified in wwwroot even though I have no configuration that would tell it to do so.

dotnet watch --list lists all files under wwwroot as well.

Adding

  <ItemGroup>
    <Watch Remove="wwwroot\**\*" />
  </ItemGroup>

doesn’t help.

To Reproduce

I can reproduce the issue with a brand new project:

>dotnet new mvc
>dotnet watch --list
H:\RRL\Test\Controllers\HomeController.cs
H:\RRL\Test\Models\ErrorViewModel.cs
H:\RRL\Test\Program.cs
H:\RRL\Test\Startup.cs
H:\RRL\Test\Test.csproj
H:\RRL\Test\Views\Home\Index.cshtml
H:\RRL\Test\Views\Home\Privacy.cshtml
H:\RRL\Test\Views\Shared\Error.cshtml
H:\RRL\Test\Views\Shared\_Layout.cshtml
H:\RRL\Test\Views\Shared\_ValidationScriptsPartial.cshtml
H:\RRL\Test\Views\_ViewImports.cshtml
H:\RRL\Test\Views\_ViewStart.cshtml
H:\RRL\Test\wwwroot\css\site.css
H:\RRL\Test\wwwroot\favicon.ico
H:\RRL\Test\wwwroot\js\site.js
H:\RRL\Test\wwwroot\lib\bootstrap\dist\css\bootstrap-grid.css
H:\RRL\Test\wwwroot\lib\bootstrap\dist\css\bootstrap-grid.css.map
H:\RRL\Test\wwwroot\lib\bootstrap\dist\css\bootstrap-grid.min.css
H:\RRL\Test\wwwroot\lib\bootstrap\dist\css\bootstrap-grid.min.css.map
H:\RRL\Test\wwwroot\lib\bootstrap\dist\css\bootstrap-reboot.css
H:\RRL\Test\wwwroot\lib\bootstrap\dist\css\bootstrap-reboot.css.map
H:\RRL\Test\wwwroot\lib\bootstrap\dist\css\bootstrap-reboot.min.css
H:\RRL\Test\wwwroot\lib\bootstrap\dist\css\bootstrap-reboot.min.css.map
H:\RRL\Test\wwwroot\lib\bootstrap\dist\css\bootstrap.css
H:\RRL\Test\wwwroot\lib\bootstrap\dist\css\bootstrap.css.map
H:\RRL\Test\wwwroot\lib\bootstrap\dist\css\bootstrap.min.css
H:\RRL\Test\wwwroot\lib\bootstrap\dist\css\bootstrap.min.css.map
H:\RRL\Test\wwwroot\lib\bootstrap\dist\js\bootstrap.bundle.js
H:\RRL\Test\wwwroot\lib\bootstrap\dist\js\bootstrap.bundle.js.map
H:\RRL\Test\wwwroot\lib\bootstrap\dist\js\bootstrap.bundle.min.js
H:\RRL\Test\wwwroot\lib\bootstrap\dist\js\bootstrap.bundle.min.js.map
H:\RRL\Test\wwwroot\lib\bootstrap\dist\js\bootstrap.js
H:\RRL\Test\wwwroot\lib\bootstrap\dist\js\bootstrap.js.map
H:\RRL\Test\wwwroot\lib\bootstrap\dist\js\bootstrap.min.js
H:\RRL\Test\wwwroot\lib\bootstrap\dist\js\bootstrap.min.js.map
H:\RRL\Test\wwwroot\lib\bootstrap\LICENSE
H:\RRL\Test\wwwroot\lib\jquery-validation-unobtrusive\jquery.validate.unobtrusive.js
H:\RRL\Test\wwwroot\lib\jquery-validation-unobtrusive\jquery.validate.unobtrusive.min.js
H:\RRL\Test\wwwroot\lib\jquery-validation-unobtrusive\LICENSE.txt
H:\RRL\Test\wwwroot\lib\jquery-validation\dist\additional-methods.js
H:\RRL\Test\wwwroot\lib\jquery-validation\dist\additional-methods.min.js
H:\RRL\Test\wwwroot\lib\jquery-validation\dist\jquery.validate.js
H:\RRL\Test\wwwroot\lib\jquery-validation\dist\jquery.validate.min.js
H:\RRL\Test\wwwroot\lib\jquery-validation\LICENSE.md
H:\RRL\Test\wwwroot\lib\jquery\dist\jquery.js
H:\RRL\Test\wwwroot\lib\jquery\dist\jquery.min.js
H:\RRL\Test\wwwroot\lib\jquery\dist\jquery.min.map
H:\RRL\Test\wwwroot\lib\jquery\LICENSE.txt

### Exceptions (if any)
N/A

### Further technical details

.NET SDK (reflecting any global.json): Version: 5.0.201 Commit: a09bd5c86c

Runtime Environment: OS Name: Windows OS Version: 10.0.19042 OS Platform: Windows RID: win10-x64 Base Path: C:\Program Files\dotnet\sdk\5.0.201\

Host (useful for support): Version: 5.0.4 Commit: f27d337295

.NET SDKs installed: 3.1.302 [C:\Program Files\dotnet\sdk] 3.1.402 [C:\Program Files\dotnet\sdk] 5.0.100 [C:\Program Files\dotnet\sdk] 5.0.101 [C:\Program Files\dotnet\sdk] 5.0.102 [C:\Program Files\dotnet\sdk] 5.0.103 [C:\Program Files\dotnet\sdk] 5.0.201 [C:\Program Files\dotnet\sdk]

.NET runtimes installed: Microsoft.AspNetCore.All 2.1.24 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All] Microsoft.AspNetCore.App 2.1.24 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 3.1.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 3.1.8 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 3.1.11 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 5.0.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 5.0.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 5.0.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 5.0.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.NETCore.App 2.1.24 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 3.1.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 3.1.8 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 3.1.11 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 5.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 5.0.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 5.0.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 5.0.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.WindowsDesktop.App 3.1.6 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App] Microsoft.WindowsDesktop.App 3.1.8 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App] Microsoft.WindowsDesktop.App 3.1.11 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App] Microsoft.WindowsDesktop.App 5.0.0 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App] Microsoft.WindowsDesktop.App 5.0.2 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App] Microsoft.WindowsDesktop.App 5.0.3 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App] Microsoft.WindowsDesktop.App 5.0.4 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

Issue Analytics

  • State:open
  • Created 2 years ago
  • Reactions:2
  • Comments:8 (4 by maintainers)

github_iconTop GitHub Comments

5reactions
pranavkmcommented, Mar 23, 2021

You’ll want to exclude Content items from being watched. Removing it doesn’t quite work because they’re not in the Watch item group during global evaluation:

<ItemGroup>
     <!-- exclude all Content items from being watched -->
    <Content Update="@(Content)" Watch="false" />
</ItemGroup>

I’ve added a note to our docs to include this snippet: https://github.com/dotnet/AspNetCore.Docs/pull/21858/files

0reactions
msftbot[bot]commented, Aug 12, 2021

We’ve moved this issue to the Backlog milestone. This means that it is not going to be worked on for the coming release. We will reassess the backlog following the current release and consider this item at that time. To learn more about our issue management process and to have better expectation regarding different types of issues you can read our Triage Process.

Read more comments on GitHub >

github_iconTop Results From Across the Web

How to exclude certain file types from dotnet watch run?
Doing this worked for my scenario. <ItemGroup> <Content Remove="wwwroot\dist\**" /> ...
Read more >
dotnet watch command - .NET CLI
The dotnet watch command is a file watcher that runs a dotnet command when changes in source code are detected.
Read more >
Watching More Files With Dotnet Watch For Static Sites
Let's make sure our script works by running npm run build in the command line. You should see some build output, and a...
Read more >
Live Reloading Server And Client Side ASP.NET Core Apps ...
You run this command in your Web project folder. It works the same as plain dotnet run , except it also watches files...
Read more >
.NET Core command-line file watcher (dotnet watch) for ...
To ignore specific files, add the Watch="false" attribute an item's definition in the csproj file. Example: <ItemGroup> <!-- exclude Generated.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found