-
Notifications
You must be signed in to change notification settings - Fork 10.1k
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 specific libraries size-reduction tracking #27668
Comments
I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label. |
Separated blazor issues from dotnet/runtime#43545 |
Transferring to asp.net repo - I believe this is essentially all ASP.NET owned? There is a separate story for DI. cc @mkArtakMSFT - this shows up in https://themesof.net/?q=is:open%20kinds:teui under WASM. cc @marek-safar |
making title a bit more specific to improve the tree view. |
Can this be structured so that the core of blazor doesn't depend on reflection/source generators? Source generators are C#-only, and using annotations and DI as an essential part of runtime behaviour is also a C# preference. So these can go together as C# blazor tooling, and F# and the rest of dotnet can develop Blazor apps without using reflection/DI/annotations. |
Thanks for contacting us. |
Marked this as |
Source generators can be used to convert code that does reflection.emit at runtime to source generators which will create code at build time rather than runtime. The generated code can then be analyzed by the illinker or native AOT enabling those scenarios. Blazor doesn't use Reflection.Emit directly (though it may use it via dependency injection libraries). However Blazor does use reflection extensively, in the following areas:
<component>
tag helper (RootComponentTypeCache.cs, ComponentParametersTypeCache.cs), to look up the type instances corresponding to serialized descriptors of components being rendered into HTML markersThe text was updated successfully, but these errors were encountered: