-
-
Notifications
You must be signed in to change notification settings - Fork 403
Adding NRT to WPF & MAUI #4692
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
Adding NRT to WPF & MAUI #4692
Conversation
|
@StefanOssendorf
|
|
I only tried the Windows one to start. |
|
@StefanOssendorf
|
|
@StefanOssendorf |
|
Well. Now I can start the Win Version 🤔🤷♂️ |
Nadie lo sabe. |
|
@rockfordlhotka @Bowman74 |
…at will not break the maui CI build is used in the shares xaml files.
|
Good news, bad news. Working exactly as intended, yeah! Bad news, how it was intended to work doesn't handle interface changes for code CSLA libraries until pushed to nuget.org. Boo. What I will do is change the reference in the csproj file to use the nuget package in a release build and the project reference in a debug build. That should fix it. @rockfordlhotka @StefanOssendorf if you don't mind I'll push this modest change to this branch so we can see if it works right here. |
|
@StefanOssendorf @rockfordlhotka I did find that the main CSLA project does not target any of the Android/iOS/MacCatalyst/etc platforms so I had to modify to not specify a target or the CSLA compile would die When this PR is merged it will correct the deficiencies in the CI build (and new release scheme) so it can handle unreleased changes to the CSLA public surface that it would need to compile. |
Teamwork and collaboration - how novel an idea!?! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces nullable reference type (NRT) annotations to both the WPF and MAUI portions of the project and updates project files and code across multiple components accordingly. Key changes include updating class and property signatures to be nullable‐aware, adding compiler warnings as errors for nullability, and improving exception handling with additional argument checks.
Reviewed Changes
Copilot reviewed 28 out of 29 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| docs/NRT Work In Progress Tacking.md | Updated status of XAML projects to mark WPF/Maui as complete |
| Source/Csla.Xaml.Shared/XamlOptions.cs | Introduces the XamlOptions class (missing a class body) |
| Source/Csla.Xaml.Shared/BusyAnimation.cs | Adds nullability annotations and includes recursive FindChild helper improvements |
| ... | Various files: update of public API, added nullability, and exception checks |
Files not reviewed (1)
- Source/Csla/Properties/Resources.Designer.cs: Language not supported
| /// <summary> | ||
| /// Configuration options for AddXaml method | ||
| /// </summary> | ||
| public class XamlOptions; No newline at end of file |
Copilot
AI
Jun 30, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The declaration of XamlOptions is missing a class body, which may lead to compilation errors. Consider defining the class with a proper body even if empty, for example: 'public class XamlOptions { }'.
| public class XamlOptions; | |
| public class XamlOptions | |
| { | |
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't care what we do here but I know we have other declarations that way.
@rockfordlhotka Thanks to @StefanOssendorf for alerting me to this. The changes to the Release build on their own, not a problem. The changes to the CI build on their own, also not a problem. But the two of them together led to this situation I hadn't thought of! Lol. |


This PR adds NRT's to WPF and MAUI. More specifically to the shared XAML project.
I launched the
WpfExampleproject without any issues.I also tried to launch
MauiExampleandSimpleNTierbut couldn't start them. They seem broken in their current state (without my changes from this PR).Any other apps I can try to verify the working?
I'll try to package everything locally and use it in our app at work. That should cover a large portion.
Because of that I'll make this a draft PR so you can start reviewing until I get that test with our app done.
Note: Sadly WPF itself isn't NRT annotated yet. So maybe we get some errors in the future when they start adding NRTs.