-
Notifications
You must be signed in to change notification settings - Fork 104
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
Angzhang/breakingchange #455
Conversation
docs/breakingchanges-rc2.md
Outdated
@@ -0,0 +1,15 @@ | |||
# Breaking Changes for C#/WinRT in RC2 |
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.
Did you want to mention the 'add' event accessor changing return type as well? (from EventRegistrationToken to void)
@stevenbrix Anything to add, since you've been deep in the weeds on this stuff - main concern is message out the function pointer syntax change coordination (roslyn compiler etc - do we have that right?) |
Overall it looks good. I'm not quite sure who the audience is, but would it be worth mentioning that the latest cswinrt+.net isn't compatible with WinUI Preview 2? |
docs/breakingchanges-rc2.md
Outdated
<PackageReference Include="Microsoft.Net.Compilers.Toolset" Version="3.8.0-4.20472.6" | ||
``` | ||
|
||
5. Because of strong-name signing, you cannot combine pre-RC2 and post-RC2 projection assemblies. For example, with WinUI and the Windows SDK, both would need to move up to the latest (RC2) version together. |
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 latest version of C#/WinRT, supporting .NET 5 RC2, has added strong-name signing to the runtime assembly, winrt.runtime.dll. Assemblies built with the previous version of winrt.runtime.dll are not compatible with this change.
This includes Microsoft.Windows.SDK.Net.dll (the Windows SDK), Microsoft.WinUI.dll (WinUI), and any other C#/WinRT projection assemblies. Builds that combine pre-RC2 and post-RC2 projection assemblies may fail with a CS0012, and mention of a missing reference to an assembly with PublicIKeyToken=null. This indicates an older assembly without strong name signing. The solution is to update all dependencies to their .NET 5 RC2 versions.
list of breaking changes for RC2, linked from the readme Developer Guidance section