Closed
Description
Description
The ServiceProvider passed to the ProvideValue method of a MarkupExtension returns an IRootObjectProvider in debug mode, but not in release mode.
I have been able to reproduce it with the following versions:
- 7.0.92
- 8.0.0-preview.7.8842
Steps to Reproduce
Create a new MAUI project and use the following code:
public class MyTestExtension : IMarkupExtension<string>
{
public string ProvideValue(IServiceProvider serviceProvider)
=> (serviceProvider.GetService(typeof(IRootObjectProvider)) is not null).ToString();
object IMarkupExtension.ProvideValue(IServiceProvider serviceProvider)
=> ProvideValue(serviceProvider);
}
<Label Text="{local:MyTestExtension}" />
Output in debug mode: true
Output in release mode: false
All other services are available in both debug and release mode
Link to public reproduction project repository
Version with bug
8.0.0-preview.7.8842
Is this a regression from previous behavior?
Not sure, did not test other versions
Last version that worked well
Unknown/Other
Affected platforms
I was not able test on other platforms
Affected platform versions
No response
Did you find any workaround?
No response
Relevant log output
No response