In BlazorWebView WinForms/WPF, don't require wwwroot to exist in bin dir in development #4782
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.
Fixes #4537
Turns out we were a bit confused about what the problem was. We thought the issue was that your csproj needed to copy the content files to output explicitly. However, that's not the case, since:
BlazorWebView
library code already deals with using the SWA manifest to return the SWA content, without needing it to be copied to the output directoryPhysicalFileProvider
The real problem is much simpler. Our code was trying to create a
PhysicalFileProvider
for$(OutDir)\wwwroot
regardless of the fact that it doesn't need to exist there in development. By skipping doing that if it's not there, everything else just works.This only affected WinForms and WPF, and not MAUI, because for MAUI we already deal with converting content items into MAUI content items, which then takes care of getting them to the right place for both dev and prod.