Skip to content

Fix Hot Reload profile detection for web apps #48909

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

tmat
Copy link
Member

@tmat tmat commented May 13, 2025

dotnet-watch logic that distinguishes between hosted and standalone Blazor projects should not be applied to non-web projects (e.g. Aspire).

Fixes #48898

@Copilot Copilot AI review requested due to automatic review settings May 13, 2025 00:47
@tmat tmat requested review from arunchndr and a team as code owners May 13, 2025 00:47
@github-actions github-actions bot added the Area-AspNetCore RazorSDK, BlazorWebAssemblySDK, dotnet-watch label May 13, 2025
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR fixes hot reload profile detection for web apps by updating the project capability checks and streamlining the web app detection logic. Key changes include:

  • Adding a new IsWebApp extension method to correctly identify ASP.NET Core and WebAssembly projects.
  • Revising the branching logic in HotReloadProfileReader to improve handling of web project capabilities.
  • Updating delta applier instantiations and browser refresh support in CompilationHandler and BrowserConnector.

Reviewed Changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
wwwroot/index.html New basic HTML file for Blazor WebAssembly startup
wwwroot/css/app.css Added an empty CSS class placeholder
_Imports.razor Added necessary using directives
WatchAspire.Wasm.csproj Updated project file with current target framework property and package references
launchSettings.json Added development launch settings for local testing
Program.cs Added minimal program entry point
Pages/Index.razor Added a simple index page
App.razor Updated routing configuration for the app
WatchAspire.AppHost.csproj Updated project references for host configuration
ProjectGraphNodeExtensions.cs Introduced new IsWebApp method using updated static lambda pattern
HotReloadProfileReader.cs Revised logic for determining hot reload profile for web apps
CompilationHandler.cs Updated delta applier creation with improved null checks
BrowserConnector.cs Adjusted web app detection with added clarifying comments

@tmat
Copy link
Member Author

tmat commented May 13, 2025

@DustinCampbell @phil-allen-msft ptal

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-AspNetCore RazorSDK, BlazorWebAssemblySDK, dotnet-watch
Projects
None yet
Development

Successfully merging this pull request may close these issues.

dotnet watch on the AppHost regularly breaks with a Blazor WASM project
1 participant