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

Evaluate source compatibility for existing C# WinRT apps #216

Closed
Scottj1s opened this issue Apr 24, 2020 · 3 comments · Fixed by #455
Closed

Evaluate source compatibility for existing C# WinRT apps #216

Scottj1s opened this issue Apr 24, 2020 · 3 comments · Fixed by #455
Assignees
Labels
documentation Improvements or additions to documentation fixed Issue has been fixed in an upcoming or existing release validation Validation or investigation tasks
Milestone

Comments

@Scottj1s
Copy link
Member

While it's been agreed that C#/WinRT may introduce source-level breaking changes, it's important to at least understand the scope and nature of these breaks, and get ahead of them for customer messaging.

@jkoritzinsky
Copy link
Member

The primary one that I know of is casting between interfaces that are not related in metadata. In the old system, a regular cast would dynamically work. In the new system, you need to use the .As<T>() extension method to cast outside of the type hierarchy in metadata.

@jkoritzinsky
Copy link
Member

New item that we recently discovered: If you want to hold a weak reference to a WinRT object, you need to use WinRT.WeakReference<T> instead of System.WeakReference or System.WeakReference<T>.

@BenJKuhn BenJKuhn added the validation Validation or investigation tasks label Jun 15, 2020
@AdamBraden AdamBraden added the documentation Improvements or additions to documentation label Sep 14, 2020
@AdamBraden
Copy link
Contributor

uber tracking issue for breaking changes.

@angelazhangmsft angelazhangmsft linked a pull request Oct 9, 2020 that will close this issue
@angelazhangmsft angelazhangmsft added the fixed Issue has been fixed in an upcoming or existing release label May 13, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation fixed Issue has been fixed in an upcoming or existing release validation Validation or investigation tasks
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants