- 
                Notifications
    
You must be signed in to change notification settings  - Fork 407
 
Switch to dotnet-watch delta appliers #9758
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
          
     Merged
      
      
    
                
     Merged
            
            
          Conversation
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
    
              
                    drewnoakes
  
              
              reviewed
              
                  
                    Sep 8, 2025 
                  
              
              
            
            
        
          
                ...rosoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/HotReload/ProjectHotReloadSession.cs
              
                Outdated
          
            Show resolved
            Hide resolved
        
      
              
                    drewnoakes
  
              
              reviewed
              
                  
                    Sep 8, 2025 
                  
              
              
            
            
ad8a1af    to
    9f0b5ec      
    Compare
  
    
              
                    drewnoakes
  
              
              reviewed
              
                  
                    Sep 16, 2025 
                  
              
              
            
            
        
          
                ...udio.ProjectSystem.Managed.VS/ProjectSystem/VS/HotReload/VisualStudioBrowserRefreshServer.cs
              
                Outdated
          
            Show resolved
            Hide resolved
        
              
          
                src/Microsoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/HotReload/DeltaApplier.cs
              
                Outdated
          
            Show resolved
            Hide resolved
        
              
          
                ...rosoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/HotReload/ProjectHotReloadSession.cs
          
            Show resolved
            Hide resolved
        
              
          
                ...rosoft.VisualStudio.ProjectSystem.Managed/ProjectSystem/HotReload/ProjectHotReloadSession.cs
          
            Show resolved
            Hide resolved
        
              
          
                ...ft.VisualStudio.ProjectSystem.Managed/ProjectSystem/Utilities/ConfiguredProjectExtensions.cs
          
            Show resolved
            Hide resolved
        
      | 
           LGTM though will defer to @LittleLittleCloud for final sign off.  | 
    
        
          
                ...udio.ProjectSystem.Managed.VS/ProjectSystem/VS/HotReload/VisualStudioBrowserRefreshServer.cs
          
            Show resolved
            Hide resolved
        
      
              
                    LittleLittleCloud
  
              
              approved these changes
              
                  
                    Sep 17, 2025 
                  
              
              
            
            
    
  LittleLittleCloud 
      added a commit
      that referenced
      this pull request
    
      Sep 26, 2025 
    
    
      
  
    
      
    
  
* Add URL for package web UI to NuGet.config file * Document how to specify the project type GUID in SLNX A customer recently filed a ticket to which this document was a good response. However, in reviewing it, I noticed there was no mention of the newer SLNX file format. This adds information for such cases. * Revert "Revert "Use metadata to control when to load dynamic components."" * Clean up IProjectHotReloadAgent and IProjectHotReloadSession APIs (#9741) * Prevent launch settings provider to capture and depend on main thread when it is initialized by another extension. Basically, when external code accessess its dataflow block on UI thread and initialize the object, the lazy compuation would try to resume on UI thread, which leads performance/deadlock problems to appear. * remove underscore * Disallow properties in rules to start with underscore The project data caches don't include any properties that start with underscores, as these are considered 'private' and are therefore ignored to save cache space. Having a rule that uses a private property means that the consumer will see different data depending upon whether it comes from MSBuild or from a cache. The difference in behaviour would very likely cause downstream problems, so we should disallow it. * Revert "Allow Razor cohosting to work with non-Razor SDK projects" * Remove explicit SourceLink package refs (#9755) * Remove explicit SourceLink package refs * Add Test target back * Whitespace --------- Co-authored-by: Drew Noakes <[email protected]> * Remove unused link definitions * Remove list of VS versions Qualifying that this applies to SDK-style projects is enough. * Remove broken link * Remove unused square brackets * Update milestone to 18.0 * Remove codeflow links from PRs * Remove non-existant branches * Update Xunit to 2.9.0 * Add xunit.runner.json * Enable detailed console log * Skip failing tests * Eliminate Verify.Xunit * Feedback * Add inventory metadata * Use the new INotifyProcess1800 API from debugger (#9763) * Add Microsoft.VisualStudio.Debugger.Interop.18.0 package references and enhance debugging interfaces * Enhance OnAfterLaunchAsync method to include debug launch settings and improve Hot Reload support checks * Refactor LaunchProfilesDebugLaunchProvider and ProjectLaunchTargetsProvider for improved process management and Hot Reload state handling * Refactor Hot Reload session management and update interfaces for improved debugging support * Add IDebugProfileLaunchTargetsProvider5 interface for enhanced launch process handling and remove unused code from ProjectLaunchTargetsProvider * Refactor OnAfterLaunchAsync method to return completed task for improved performance * Refactor LaunchProfilesDebugLaunchProvider and ProjectLaunchTargetsProvider to improve code clarity and remove unused dependencies * Refactor IDebugProfileLaunchTargetsProvider5 interface and ProjectHotReloadSessionManager class to improve clarity and remove unused dependencies * Refactor IProjectHotReloadSessionManager and ProjectHotReloadSessionManager to mark obsolete methods and improve session management; add unit tests for Hot Reload session functionality * Refactor IDebugProfileLaunchTargetsProvider5 and related classes to improve documentation and remove obsolete methods; update session state handling in ProjectHotReloadSessionManager and enhance unit tests for clarity and maintainability * Refactor IDebugProfileLaunchTargetsProvider5 documentation to simplify method references and update Public API declaration for OnAfterLaunchAsync * Refactor ProjectHotReloadSessionManager to improve session state handling by optimizing the removal of active session states and updating the hot reload state notification logic. * Refactor IDebugProfileLaunchTargetsProvider5 and LaunchProfilesDebugLaunchProvider to correct documentation and improve session handling; update IProjectHotReloadSessionManagerFactory for method signature consistency. * Switch to dotnet-watch delta appliers (#9758) * Include HotReload web middleware and switch to shared implementation of delta appliers * Update package tests * Update to 10.0.100-rc.2.25466.104 * Feedback * Merge * Update HotReload packages and remove workaround (#9768) * Do not NGEN .NET assemblies (#9769) * Change NgenPriority from 1 to 2 in csproj * don't assume pending session to be null (#9770) * Add GitHub Copilot instructions for dotnet/project-system repository (#9778) * Initial plan * Create comprehensive GitHub Copilot instructions for project-system repo Co-authored-by: drewnoakes <[email protected]> * Clean up repository - remove temporary files Co-authored-by: drewnoakes <[email protected]> --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: drewnoakes <[email protected]> * Integrate into new Visual Studio retargeting UI (#9771) This change integrates into the new retargeting UI in Visual Studio 2026. When a global.json is present and it is not the latest version in that feature band we will supply retargeting information to Visual Studio to allow the customer to visit the download link to install a suggested SDK. At this time the suggestion is confined to the same Major.Minor sdk which was specified in the global.json. Note that we will make this suggest even if the customer has a later SDK version globally installed. We do not, as of this version update global.json or initiate the download or install. * Remove ReleaseVersion from interface definition and ProjectRetargetHandler to avoid premature image load of assembly (#9779) We will only use this internally in DotNetReleasesProvider --------- Co-authored-by: Drew Noakes <[email protected]> Co-authored-by: Tomáš Matoušek <[email protected]> Co-authored-by: Lifeng Lu <[email protected]> Co-authored-by: Lifeng Lu <[email protected]> Co-authored-by: Nikolche Kolev <[email protected]> Co-authored-by: Adam Ratzman <[email protected]> Co-authored-by: Tomas Matousek <[email protected]> Co-authored-by: Alex Delepine <[email protected]> Co-authored-by: Copilot <[email protected]> Co-authored-by: drewnoakes <[email protected]> Co-authored-by: Phil Henning <[email protected]>
  
    Sign up for free
    to join this conversation on GitHub.
    Already have an account?
    Sign in to comment
  
      
  Add this suggestion to a batch that can be applied as a single commit.
  This suggestion is invalid because no changes were made to the code.
  Suggestions cannot be applied while the pull request is closed.
  Suggestions cannot be applied while viewing a subset of changes.
  Only one suggestion per line can be applied in a batch.
  Add this suggestion to a batch that can be applied as a single commit.
  Applying suggestions on deleted lines is not supported.
  You must change the existing code in this line in order to create a valid suggestion.
  Outdated suggestions cannot be applied.
  This suggestion has been applied or marked resolved.
  Suggestions cannot be applied from pending reviews.
  Suggestions cannot be applied on multi-line comments.
  Suggestions cannot be applied while the pull request is queued to merge.
  Suggestion cannot be applied right now. Please check back later.
  
    
  
    
Microsoft Reviewers: Open in CodeFlow
Replaces the use of default DeltaApplier implemented in WebTools with one from dotnet-watch (
DefaultHotReloadClienttype shared viaMicrosoft.DotNet.HotReload.Clientsource package).The Hot Reload client is wrapped in
DeltaAppliertype that implements the existingIDeltaApplierinterface.Adds a new interface
IProjectHotReloadSessionWebAssemblyCallbackfor Web Project to implement. Once implemented the Hot Reload session implementation will switch to using dotnet-watchWebAssemblyHotReloadClientas the underlying implementation of theDeltaApplierfor WASM app.Adds
AbstractBrowserRefreshServerAccessorthat exposes Browser Refresh server implementation fromMicrosoft.DotNet.HotReload.Clientsource package to WebTools, so that we can replace the implementation in WebTools.Adds Browser Refresh middleware (package
Microsoft.DotNet.HotReload.Web.Middlewarepublished by dotnet/sdk) to Managed Project System VSIX to distribute with VS. Once we switch WebTools toAbstractBrowserRefreshServerAccessorit will stop using the middleware from the SDK and switch to the middleware included in Project System VSIX. This will allow us to version the client (IDE) and the middleware together instead of having to support all combinations of VS and SDK versions.Contributes to
https://devdiv.visualstudio.com/DevDiv/_workitems/edit/2398434
https://devdiv.visualstudio.com/DevDiv/_workitems/edit/2398433
https://devdiv.visualstudio.com/DevDiv/_workitems/edit/2398432