Maui icon indicating copy to clipboard operation
Maui copied to clipboard

[BUG] Warning when including a ValueConverter starting in .NET MAUI 9

Open hansmbakker opened this issue 1 year ago • 8 comments

Is there an existing issue for this?

  • [X] I have searched the existing issues

Did you read the "Reporting a bug" section on Contributing file?

  • [X] I have read the "Reporting a bug" section on Contributing file: https://github.com/CommunityToolkit/Maui/blob/main/CONTRIBUTING.md#reporting-a-bug

Current Behavior

Including a Converter from the MAUI Community Toolkit in a .NET MAUI 9 app triggers a warning

When referencing a converter (e.g. from the MAUI Community Toolkit) in XAML, xamlc generates a warning with code XC0103 in .NET 9 RC1. On .NET 8 this warning was not there.

This is especially annoying in projects where TreatWarningsAsErrors is enabled.

⚠️ The warning log below is a sample. However, this is an issue for all converters, not only for this specific IsNullConverter.

XamlC warning XC0103: Consider attributing the markup extension "CommunityToolkit.Maui.Converters.IsNullConverter" with [RequireService] or [AcceptEmptyServiceProvider] if it doesn't require any.

Expected Behavior

ValueConverters from the MAUI Community Toolkit can be included without triggering errors

Steps To Reproduce

  1. Create new MAUI project on .NET 9 RC1
  2. Add a converter to the main page's resources from the MAUI Community Toolkit
  3. Run dotnet build
  4. See the warning

Link to public reproduction project repository

https://github.com/hansmbakker/bugrepro-converter-issue

Environment

- .NET MAUI CommunityToolkit: 9.0.3
- OS:
- .NET MAUI: 9.0 RC1

Anything else?

This is caused by https://github.com/dotnet/maui/issues/19650 / https://github.com/dotnet/maui/pull/19945.

ValueConverters are expected to be attributed by RequireService or AcceptEmptyServiceProvider.

hansmbakker avatar Sep 12 '24 08:09 hansmbakker

We don't currently support .NET 9

VladislavAntonyuk avatar Sep 12 '24 08:09 VladislavAntonyuk

@VladislavAntonyuk we don't but this might be an issue worth keeping open for when we put in the work? .NET 9 is roughly only 2 months away

bijington avatar Sep 12 '24 09:09 bijington

RC 1 has been out and customers are starting to migrate. This actually seems to break some functionality with converters, so this is pretty critical.

daltzctr avatar Sep 17 '24 21:09 daltzctr

Yes, we will provide .NET 9 support when it GAs in November.

TheCodeTraveler avatar Sep 17 '24 22:09 TheCodeTraveler

RC 1 has been out and customers are starting to migrate. This actually seems to break some functionality with converters, so this is pretty critical.

If you would like to speed things up please feel free to open a branch and submit a draft PR with the required changes

bijington avatar Sep 18 '24 05:09 bijington

I have created a branch and draft PR here: https://github.com/CommunityToolkit/Maui/pull/2215

There are some errors that I will try to work through but if anyone wants to jump in please feel free

bijington avatar Sep 18 '24 08:09 bijington

if anyone wants to jump in please feel free

Good that you started this - can others commit on this branch?

There are some errors

@bijington the SDK being used in the pipeline is the wrong one (it sticks to the .NET 8 one). Please see my comment in the PR for a suggestion.

hansmbakker avatar Sep 18 '24 08:09 hansmbakker

Non-maintainers probably can't push to this branch but they could open a PR into this branch. That might work well if multiple people get involved.

Thanks for the pointers on the pipeline builds. I'm fighting with getting it compiled locally first 😟

bijington avatar Sep 18 '24 08:09 bijington

Would be great to have this fixed now when .NET 9 is released.

dhindrik avatar Nov 13 '24 14:11 dhindrik

Any updates on this? We are almost done with our migration to .NET9 and this is the last stop sign for us.

DonkeyKongJr avatar Nov 20 '24 07:11 DonkeyKongJr

We are currently blocked by this issue https://github.com/dotnet/maui/issues/25871 although I am hoping to have a look over the weekend

bijington avatar Nov 20 '24 08:11 bijington