dotnet-watch ============ `dotnet-watch` is a file watcher for `dotnet` that restarts the specified application when changes in the source code are detected. ### How To Install Install `Microsoft.DotNet.Watcher.Tools` as a `DotNetCliToolReference` to your project. ```xml ``` ### How To Use The command must be executed in the directory that contains the project to be watched. Usage: dotnet watch [options] [[--] ...] Options: -?|-h|--help Show help information -q|--quiet Suppresses all output except warnings and errors -v|--verbose Show verbose output Add `watch` after `dotnet` and before the command arguments that you want to run: | What you want to run | Dotnet watch command | | ---------------------------------------------- | -------------------------------------------------------- | | dotnet run | dotnet **watch** run | | dotnet run --arg1 value1 | dotnet **watch** run --arg1 value | | dotnet run --framework net451 -- --arg1 value1 | dotnet **watch** run --framework net451 -- --arg1 value1 | | dotnet test | dotnet **watch** test | ### Environment variables Some configuration options can be passed to `dotnet watch` through environment variables. The available variables are: | Variable | Effect | | ---------------------------------------------- | -------------------------------------------------------- | | DOTNET_USE_POLLING_FILE_WATCHER | If set to "1" or "true", `dotnet watch` will use a polling file watcher instead of CoreFx's `FileSystemWatcher`. Used when watching files on network shares or Docker mounted volumes. | ### MSBuild dotnet-watch can be configured from the MSBuild project file being watched. **Watch items** dotnet-watch will watch all items in the **Watch** item group. By default, this group inclues all items in **Compile** and **EmbeddedResource**. More items can be added to watch in a project file by adding items to 'Watch'. ```xml ``` dotnet-watch will ignore Compile and EmbeddedResource items with the `Watch="false"` attribute. Example: ```xml ``` **Project References** By default, dotnet-watch will scan the entire graph of project references and watch all files within those projects. dotnet-watch will ignore project references with the `Watch="false"` attribute. ```xml ``` **Advanced configuration** dotnet-watch performs a design-time build to find items to watch. When this build is run, dotnet-watch will set the property `DotNetWatchBuild=true`. Example: ```xml ```