Fix dashboard static files loading when working directory differs from executable location #12892
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.
Description
Fixes #1979
The dashboard would fail to render static content when run from a different working directory than the executable location. This occurred because
UseStaticFiles()defaulted to usingWebRootFileProviderwhich resolves paths relative to the current working directory.Changes
System.IOandMicrosoft.Extensions.FileProvidersusing statementsFileProviderinStaticFileOptionsto usePhysicalFileProviderwith path resolved fromAppContext.BaseDirectorySolution
Explicitly configures a
PhysicalFileProviderpointing to the wwwroot directory relative toAppContext.BaseDirectory(the executable's location), ensuring static assets load correctly regardless of where the process is launched from.Testing
Additional Context
This fix ensures the dashboard is resilient to where it runs from by explicitly setting the file provider rather than relying on default working directory resolution. This addresses the core issue mentioned in the original bug report and the related comment in #1556.