Skip to content
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

[Blazor] Update MSBuild targets so they get imported correctly (main) #52301

Merged
merged 3 commits into from
Nov 27, 2023

Conversation

javiercn
Copy link
Member

@javiercn javiercn commented Nov 22, 2023

Issue: Microsoft.AspNetCore.Components.WebView.props is not imported by Maui applications

This issue pertains to the fact that the Microsoft.AspNetCore.Components.WebView.props file is not being imported by Maui applications. The file has been relocated within the package to ensure its correct pickup and importation during the restore/build process.

Fixes #42348.

Description

The inability of Maui applications to rely on JavaScript (JS) initializers, particularly in the case of Fluent UI, is impacted by this issue. The runtime searches for the initializer's definition in a specific location, which is configured in the props file of the package.

Impact on Customers

The malfunction of JS initializers in Blazor Hybrid has significant implications for both library authors and end users.

Library authors may find their libraries' functionality restricted due to this bug. JS initializers, a feature in Blazor, enable library authors to inject scripts onto the page at the start of the app. These scripts can augment functionality, enhance user interfaces, or facilitate third-party service integration. For instance, a library author might employ a JS initializer to inject a script that integrates with a mapping service, thereby providing real-time location updates within a Blazor app. This functionality would be unavailable in Blazor Hybrid apps due to this bug.

End users may be unable to use certain libraries, or those libraries may not function as anticipated in Blazor Hybrid apps. If a user were to use a Blazor Hybrid app that relies on the aforementioned mapping library, they would not receive the real-time location updates that they would in a regular Blazor app. This could result in an inferior user experience, and in some cases, render the app unusable.

Users and library authors are compelled to manually inject the script onto the page, and some functionality (like configuring Blazor before it starts) is not available in this mode.

Regression?

  • Yes
  • No

Risk

  • High
  • Medium
  • Low

The failure to load a file from a NuGet package impacts the build. The change causes the file to load at build time, enabling the rest of the pipeline to function as expected.

Verification

  • Manual (required)
  • Automated

The changes were made locally on the package cache and ensured the file got imported.

Packaging changes reviewed?

  • Yes
  • No
  • N/A

When servicing release/2.1

  • Make necessary changes in eng/PatchConfig.props

@dotnet-issue-labeler dotnet-issue-labeler bot added the area-blazor Includes: Blazor, Razor Components label Nov 22, 2023
@javiercn javiercn marked this pull request as ready for review November 22, 2023 13:33
@javiercn javiercn requested a review from a team as a code owner November 22, 2023 13:33
@ghost
Copy link

ghost commented Nov 22, 2023

Hi @javiercn. Please make sure you've updated the PR description to use the Shiproom Template. Also, make sure this PR is not marked as a draft and is ready-to-merge.

To learn more about how to prepare a servicing PR click here.

@mkArtakMSFT mkArtakMSFT removed the Servicing-consider Shiproom approval is required for the issue label Nov 27, 2023
@mkArtakMSFT mkArtakMSFT merged commit 7e9b149 into main Nov 27, 2023
26 checks passed
@mkArtakMSFT mkArtakMSFT deleted the javiercn/update-msbuild-targets-main branch November 27, 2023 21:50
@ghost ghost added this to the 9.0-preview1 milestone Nov 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-blazor Includes: Blazor, Razor Components
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Blazor] Microsoft.AspNetCore.Components.WebView.props is not imported by Maui apps
5 participants