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

Remove built-in WinRT support from the runtime #36715

Merged
merged 71 commits into from
May 30, 2020

Conversation

jkoritzinsky
Copy link
Member

@jkoritzinsky jkoritzinsky commented May 19, 2020

Now that C#/WinRT is public and is the new supported way forward for WinRT support in .NET, we can remove WinRT support from the runtime (or at least attempt to).

This is currently blocked on #36889

Fixes #33330
Fixes #37672

Remove WinRT tests validating that projections work and replace them with a test that validates that WinRT types are blocked from being loaded into the runtime.
…WindowsRuntime, and System.Runtime.WindowsRuntime.UI.Xaml from libraries.
…n the old-style IEnumerable projection with VSD, but I'm not sure exactly what.
…rect behavior to no-op now instead of asserting.
@jkoritzinsky
Copy link
Member Author

Those two assemblies ship out of band in packages anyway, so they will continue to work until someone touches a WinRT type. The entire surface area of System.Runtime.WindowsRuntime uses WinRT types so it will fail with the PNSE failure. The System.Runtime.WindowsRuntime.UI.Xaml assembly has some non WinRT types, so those types will continue to work as expected, and the others will fail with PNSE.

@jkoritzinsky
Copy link
Member Author

I believe all feedback here has been addressed. There's some follow-up cleanup around the edges that Aaron has pointed out that we can do in a later PR.

To make sure that we get this in before the Preview 6 cut, I'm going to merge this in now.

@jkoritzinsky jkoritzinsky merged commit f62e934 into dotnet:master May 30, 2020
@jkoritzinsky jkoritzinsky deleted the remove-winrt branch May 30, 2020 00:37
eerhardt added a commit to eerhardt/runtime that referenced this pull request Jun 1, 2020
dotnet#36715 and dotnet#37083 modified the CoreCLR version of CoreLib's linker descriptor file, but left them in the Mono version.

dotnet#37255 will address sharing the duplicated parts of these files.
jkotas pushed a commit that referenced this pull request Jun 1, 2020
#36715 and #37083 modified the CoreCLR version of CoreLib's linker descriptor file, but left them in the Mono version.

#37255 will address sharing the duplicated parts of these files.
elinor-fung added a commit to elinor-fung/runtime that referenced this pull request Jun 4, 2020
eerhardt added a commit to eerhardt/runtime that referenced this pull request Jun 5, 2020
ghost pushed a commit that referenced this pull request Jun 6, 2020
* Remove WinRT specific code from EventSource.

Follow up to #36715

* Remove EventSource.GetMetadata method, which was only used by ProjectN.
@ViktorHofer
Copy link
Member

Any reason why we haven't removed https://github.com/dotnet/runtime/tree/master/src/libraries/mscorlib.WinRT-Facade which was only referenced by the WindowsRuntime projects?

@ericstj
Copy link
Member

ericstj commented Jun 9, 2020

Nope, if no-one is referencing it, delete it. It's only used for consuming winmds in src build before we've built the mscorlib shim.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.