Releases: microsoft/CsWinRT
CsWinRT 2.2.0
This is a release with fixes for several reported issues in the October .NET SDK release which had the initial Windows SDK projections and source generator based on the CsWinRT 2.1.x release.
This release addresses one of the key feedbacks where the source generator was running in WPF / WinForms scenarios with respect to the entire app which wasn't needed given the primary API boundary in such apps isn't WinRT. Whereas in WinUI based apps, WinRT is a main ABI boundary and the source generator will continue to run. For WPF / WinForms apps which want to be trimming and AOT compatible with respect to the WinRT calls that they have, they can make use of the new attributes added to opt-in the source generator for those types. Note that these opt-in attributes can also be used in WinUI scenarios for scenarios that the source generator isn't detecting. Also note that if the change in source generation mode isn't desired for your project, the mode can be explicitly set using the CsWinRTAotOptimizerEanbled
property to go back to Auto
mode. More details on that and in general with these changes can be found here.
Even though this release is focused on fixes, due to the addition of new attributes to be used with the source generator, this is a minor version increment release. Also given the .NET 6 EOL, the new attributes are only added for .NET 8 and later.
C#/WinRT package:
https://www.nuget.org/packages/Microsoft.Windows.CsWinRT/2.2.0
.NET Windows SDK targeting packages for .NET 6:
<WindowsSdkPackageVersion>10.0.xxxxx.55</WindowsSdkPackageVersion>
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.26100.55
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.22621.55
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.22000.55
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.20348.55
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.19041.55
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.18362.55
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.17763.55
.NET Windows SDK targeting packages for .NET 8:
<WindowsSdkPackageVersion>10.0.xxxxx.56</WindowsSdkPackageVersion>
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.26100.56
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.22621.56
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.22000.56
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.20348.56
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.19041.56
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.18362.56
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.17763.56
.NET Windows SDK targeting packages for .NET 8 and UWP support:
<WindowsSdkPackageVersion>10.0.xxxxx.57</WindowsSdkPackageVersion>
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.26100.57
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.22621.57
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.22000.57
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.20348.57
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.19041.57
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.18362.57
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.17763.57
For more details on the CsWinRT 2.1.x release in general, see the CsWinRT 2.1.1 release notes.
What's Changed
- Fix enum attribute argument. by @dongle-the-gadget in #1827
- Improve exception messages for failed casts by @Sergio0694 in #1826
- Skip QI and 'IObjectReference' allocation in IDIC fallback by @Sergio0694 in #1833
- Add null checks to some 'Marshal.Release' calls by @Sergio0694 in #1832
- Fix types in attributes being projected as System.Type in WinMD. by @dongle-the-gadget in #1829
- Fix exception when using funcs and take another approach to escape assembly name by @manodasanW in #1836
- Fix 'CsWinRT1028' for generated 'EventSource' by @Sergio0694 in #1840
- Minor improvements to 'ExceptionHelpers.SetErrorInfo' by @Sergio0694 in #1824
- Updated issue templates with Issue Form by @0x5bfa in #1842
- Support explicitly implementing 'ICustomPropertyProvider' by @Sergio0694 in #1841
- Add 'CsWinRTDynamicallyInterfaceCastableExclusiveTo' by @Sergio0694 in #1835
- Add GC.KeepAlive when doing ABI call by @manodasanW in #1848
- Special case internal 'ReadOnlyList' type by @Sergio0694 in #1847
- Improve ICPP exception messages by @Sergio0694 in #1857
- Support [GeneratedBindableCustomProperty] on structs and records by @Sergio0694 in #1854
- Add OptIn mode for source generator by @manodasanW in #1861
- Bump Mono.Cecil to 0.11.6 by @Sergio0694 in #1862
- Fix exception propagation by @manodasanW in #1856
- Add 'WinRTManagedOnlyTypeDetails' type by @Sergio0694 in #1815
- Exclude System GuidAttribute from WinMD. by @dongle-the-gadget in #1855
- Replace null pointer function pointer call with helpful exception. by @manodasanW in #1866
- Fix scenario where source generator isn't detecting parameters passed to WinRT mapped interfaces by @manodasanW in #1867
New Contributors
Full Changelog: 2.1.6.241013.1...2.2.0.241111.1
CsWinRT 2.1.6
This is a minor release with fixes for several reported issues in the October .NET SDK release which had the initial Windows SDK projections and source generator based on the CsWinRT 2.1.x release.
C#/WinRT package:
https://www.nuget.org/packages/Microsoft.Windows.CsWinRT/2.1.6
.NET Windows SDK targeting packages for .NET 6:
<WindowsSdkPackageVersion>10.0.xxxxx.52</WindowsSdkPackageVersion>
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.26100.52
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.22621.52
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.22000.52
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.20348.52
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.19041.52
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.18362.52
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.17763.52
.NET Windows SDK targeting packages for .NET 8:
<WindowsSdkPackageVersion>10.0.xxxxx.53</WindowsSdkPackageVersion>
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.26100.53
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.22621.53
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.22000.53
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.20348.53
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.19041.53
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.18362.53
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.17763.53
.NET Windows SDK targeting packages for .NET 8 and UWP support:
<WindowsSdkPackageVersion>10.0.xxxxx.54</WindowsSdkPackageVersion>
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.26100.54
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.22621.54
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.22000.54
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.20348.54
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.19041.54
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.18362.54
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.17763.54
For more details on the CsWinRT 2.1.x release in general, see the CsWinRT 2.1.1 release notes.
What's Changed
- Improve performance of source generator by @manodasanW in #1804
- Fixing multiple type definition issue and fixing NotifyCollectionChangedAction issue by @manodasanW in #1816
- Fix CsWinRT component support when source generator gets updated but not CsWinRT version by @manodasanW in #1818
- Add fallback code for managed vtables for skia scenarios by @manodasanW in #1819
- Don't emit default ctor for non activatable types by @Sergio0694 in #1817
- Fix couple issues by @manodasanW in #1820
- Reuse generated code when possible by @manodasanW in #1821
- Increase version number by @manodasanW in #1823
Full Changelog: 2.1.5.241003.1...2.1.6.241013.1
CsWinRT 2.1.5
This is a minor release with fixes for reported issues particularly related to the WinRT source generator generating code that may not compile in some cases and a fix to ToArray
in certain scenarios.
C#/WinRT package:
https://www.nuget.org/packages/Microsoft.Windows.CsWinRT/2.1.5
.NET Windows SDK targeting packages for .NET 6:
<WindowsSdkPackageVersion>10.0.xxxxx.46</WindowsSdkPackageVersion>
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.26100.46
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.22621.46
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.22000.46
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.20348.46
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.19041.46
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.18362.46
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.17763.46
.NET Windows SDK targeting packages for .NET 8:
<WindowsSdkPackageVersion>10.0.xxxxx.47</WindowsSdkPackageVersion>
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.26100.47
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.22621.47
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.22000.47
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.20348.47
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.19041.47
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.18362.47
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.17763.47
.NET Windows SDK targeting packages for .NET 8 and UWP support:
<WindowsSdkPackageVersion>10.0.xxxxx.48</WindowsSdkPackageVersion>
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.26100.48
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.22621.48
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.22000.48
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.20348.48
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.19041.48
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.18362.48
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.17763.48
For more details on the CsWinRT 2.1.x release in general, see the CsWinRT 2.1.1 release notes.
What's Changed
- Add explicit GUID support for delegates and non-synthesized interfaces. by @dongle-the-gadget in #1792
- Fix IsPartial check and escaping of assembly name by @manodasanW in #1802
- Update version by @manodasanW in #1803
- ToArray fails when buffer capacity is larger than its length. by @jlaanstra in #1805
- Fix CI pipeline post build failure with autobaselining by @manodasanW in #1806
- Escape a couple more special characters by @manodasanW in #1807
Full Changelog: 2.1.3.240909.1...2.1.5.241003.1
CsWinRT 2.1.3
This is a minor release with a set of fixes for reported issues since 2.1.1.
C#/WinRT package:
https://www.nuget.org/packages/Microsoft.Windows.CsWinRT/2.1.3
What's Changed
- Add NuGet.config by @manodasanW in #1728
- Treat init-only properties as cannot write by @hez2010 in #1730
- Fix source generator issues by @manodasanW in #1732
- Fix issue in WPF scenarios where our source generator was getting ran twice by @manodasanW in #1731
- Fix GetEnumerator when C# enumerator gets passed to native and back by @manodasanW in #1735
- Detect when property expressions are used by @manodasanW in #1737
- Fix ordering of targets impacting WPF scenarios by @manodasanW in #1738
Full Changelog: 2.1.1.240807.2...2.1.3.240909.1
CsWinRT 2.1.1
This is a stable release of C#/WinRT focused on bringing .NET AOT support and improved trimming support to both the runtime and generated projections. This version requires the following Windows SDK projection package from below or later which can be consumed by setting the below property in your C# project file or by updating to September's .NET SDK servicing build once available.
More details on the effect of these improvements and known issues can be found here: https://github.com/microsoft/CsWinRT/blob/2.1.1.240807.2/docs/aot-trimming.md
C#/WinRT package:
https://www.nuget.org/packages/Microsoft.Windows.CsWinRT/2.1.1
.NET Windows SDK targeting packages for .NET 6:
<WindowsSdkPackageVersion>10.0.xxxxx.38</WindowsSdkPackageVersion>
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.26100.38
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.22621.38
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.22000.38
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.20348.38
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.19041.38
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.18362.38
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.17763.38
.NET Windows SDK targeting packages for .NET 8:
<WindowsSdkPackageVersion>10.0.xxxxx.41</WindowsSdkPackageVersion>
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.26100.41
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.22621.41
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.22000.41
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.20348.41
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.19041.41
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.18362.41
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.17763.41
As part of these Windows SDK projection builds, there were several types in the Windows.UI
namespace that were moved from the WinUI projection to the Windows SDK projection to avoid long-term type conflict issues. Most of them have Microsoft.UI
versions of them which are used in WinUI scenarios. There are a couple used in WinUI scenarios such as TextDecorations
, BindableAttribute
, and ContentPropertyAttribute
. If you do use one of them and run into a type conflict issue between Microsoft.WinUI
and Microsoft.Windows.SDK.NET
, it can be resolved by moving to Microsoft.WindowsAppSDK 1.6
or by using the WindowsSdkPackageVersion
property to use an older version of the Windows SDK projection such as .34
if you can't move forward your Microsoft.WindowsAppSDK
version yet.
Thank you again to @dongle-the-gadget, @Gaoyifei1011, @hez2010, @jevansaks, @Jeremy-Price, @jlaanstra, @jkoritzinsky, @Sergio0694 for your community contributions to this significant release and for everyone who reported issues with the previews.
What's Changed
- Initial changes to make vtable generation trimming safe for AOT by @manodasanW in #1352
- Update staging with latest by @manodasanW in #1361
- Revert "Update staging with latest" by @manodasanW in #1362
- Update staging again with latest without squash by @manodasanW in #1363
- Update staging with latest by @manodasanW in #1374
- Remove the need for GuidGenerator/IIDOptimizer for all ABI interfaces. by @jlaanstra in #1360
- Merge master to staging by @manodasanW in #1378
- Use Marshal.AddRef/Release/QueryInterface. by @jlaanstra in #1379
- Run benchmarks against .NET 6 dll. by @jlaanstra in #1382
- Cache StringBuilder per thread and remove Lazy from GetRuntimeClassName. by @jlaanstra in #1381
- Addressing issues with generics on AOT by @manodasanW in #1377
- Skip interfaces not publicly accessible in authoring scenarios by @Sergio0694 in #1394
- Add MarshalString.FromAbiUnsafe API by @Sergio0694 in #1400
- Use hardcoded IIDs for all well known IReferenceArray types by @Sergio0694 in #1402
- Small tweaks to Marshaler's static cctor by @Sergio0694 in #1413
- Fix issue with properties implemented across multiple static interfaces by @manodasanW in #1415
- Move generic delegates vtable generation into projections by @manodasanW in #1411
- Minor trimming optimizations for authoring by @Sergio0694 in #1396
- Allow dropping native host for NativeAOT WinRT components by @Sergio0694 in #1395
- Fixing issues discovered during validation by @manodasanW in #1436
- Skip unnecessary lookup in EventRegistrationTokenTable by @Sergio0694 in #1440
- Optimize EventRegistrationTokenTable removal by @Sergio0694 in #1445
- Add support for feature switches, add option to disable dynamic objects support by @Sergio0694 in #1435
- Remove LINQ expression dependencies on NativeAOT by @Sergio0694 in #1429
- Rewrite event registration token logic to improve performance, trimming by @Sergio0694 in #1448
- Rewrite MarshalGeneric to minimize binary size on NativeAOT by @Sergio0694 in #1437
- Omit non public methods from preserved metadata by @Sergio0694 in #1442
- Fix IL2091 warnings in generated activation factories by @Sergio0694 in #1449
- Improve Marshaler trimming for blittable types by @Sergio0694 in #1455
- Drop [DynamicallyAccessedMembers] from Marshaler.AbiType by @Sergio0694 in #1461
- Remove unnecessary lambda expression stubs by @Sergio0694 in #1462
- Make marshalling 'System.Type' AOT-safe by @Sergio0694 in #1459
- Stop using ThreadLocal, use [ThreadStatic] by @Sergio0694 in #1460
- Move EventRegistrationTokenTable to WinRT.Runtime by @Sergio0694 in #1456
- Drop all delegates and closures in MarshalInterface on NAOT by @Sergio0694 in #1450
- Expose api's for Context on ObjectReference. by @jlaanstra in #1466
- Reduce enum stubs codegen with NativeAOT by @Sergio0694 in #1441
- Move ActivationFactory into WinRT.Runtime.dll by @jlaanstra in #1390
- Reduce binary size in agile reference context cache by @Sergio0694 in #1468
- Optimize ContextCallback on modern .NET by @Sergio0694 in #1464
- Seal IObjectReference.TryAs method by @Sergio0694 in #1454
- Move private delegate extensions to WinRT.Runtime by @Sergio0694 in #1457
- Make exported DllGetActivationFactory zero-alloc (take 2) by @Sergio0694 in #1401
- Remove generated VftblPtr type by @Sergio0694 in #1397
- Cherry-pick #1380 (remove resurrect logic) by @Sergio0694 in #1469
- Trim out more legacy projections fallback paths by @Sergio0694 in #1443
- Skip unnecessary method group delegate cache by @Sergio0694 in #1470
- Remove object field and allocation from ObjectReference by @Sergio0694 in #1458
- Stop preserving interfaces from MarshalInspectable by @Sergio0694 in #1452
- Remove Lazy uses on NativeAOT by @Sergio0694 in #1473
- Move all Platform APIs to WinRT.Runtime, remove leftover ones by @Sergio0694 in #1472
- Use typeof(DllModule).Assembly for faster resolution by @Sergio0694 in #1475
- Support nested types in AOT generator by @Sergio0694 in #1479
- Hard-code the numeric scalar types in CoerceValue and simplify enum marshalling to remove any usage of Convert.ChangeType. by @jkoritzinsky in #1487
- Remove/move internal vftbl types by @Sergio0694 in #1493
- Move DynamicInvokeAbi into WinRT.Runtime by @Sergio0694 in #1490
- Move IActivationFactoryMethods.ActivateInstance into WinRT.Runtime by @Sergio0694 in #1489
- Add 'EnableDefaultCustomTypeMappings' switch by @Sergio0694 in https://github.com/micro...
CsWinRT 2.1.0-prerelease.240801.1
This is a prerelease version of C#/WinRT with more bug fixes and improvements to our .NET AOT support. Note that in this release that the WinRT.BindableCustomProperty
attribute added in last week's prerelease was renamed to WinRT.GeneratedBindableCustomProperty
based on early feedback. This version requires the preview Windows SDK projection package from below which can be consumed by setting the following property in your C# project file:
<WindowsSdkPackageVersion>10.0.xxxxx.37-preview</WindowsSdkPackageVersion>
C#/WinRT package:
https://www.nuget.org/packages/Microsoft.Windows.CsWinRT/2.1.0-prerelease.240801.1
More details on the effect of these improvements and known issues can be found here: https://github.com/microsoft/CsWinRT/blob/staging/AOT/docs/aot.md
What's Changed
- Fix property initializers and derived ObservableCollection by @manodasanW in #1686
- Fix merged component support in non-WinRT component projects by @Sergio0694 in #1680
- Fix nullable scenarios when xaml asks for type and fix vtable for event handlers by @manodasanW in #1684
- Remove redundant items in .targets by @Sergio0694 in #1687
- Fix source generator for exception types and fix is operator by @manodasanW in #1682
- Fix errors when consumers are using InternalsVisisbleTo by @manodasanW in #1688
- Fix GetGuidSignature for event args by @manodasanW in #1692
- Fix regression in IBindableIterator by @manodasanW in #1690
- Rename BindableCustomProperty attribute to include Generated prefix by @manodasanW in #1691
- Updating manifest which was forgotten when type was added by @manodasanW in #1694
- Fix scenario where generic implementation type doesn't have type factory intialized by @manodasanW in #1693
- Guard against potential null for RCW type by @manodasanW in #1695
Full Changelog: 2.1.0-prerelease.240722.1...2.1.0-prerelease.240801.1
CsWinRT 2.1.0-prerelease.240722.1
This is a prerelease version of C#/WinRT with bug fixes and improvements to our .NET AOT support that we shipped in last month's prerelease. This version requires the updated preview Windows SDK projection package from below which can be consumed by setting the following property in your C# project file:
<WindowsSdkPackageVersion>10.0.xxxxx.37-preview</WindowsSdkPackageVersion>
C#/WinRT package:
https://www.nuget.org/packages/Microsoft.Windows.CsWinRT/2.1.0-prerelease.240722.1
.NET Windows SDK targeting packages:
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.26100.37-preview
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.22621.37-preview
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.22000.37-preview
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.20348.37-preview
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.19041.37-preview
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.18362.37-preview
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.17763.37-preview
More details on the effect of these improvements and known issues can be found here: https://github.com/microsoft/CsWinRT/blob/staging/AOT/docs/aot.md
What's Changed
- Unify all IIDs into 'IID' type by @Sergio0694 in #1620
- Add missing 'readonly' modifiers to static (P)IID fields by @Sergio0694 in #1612
- Trim 'ABI.System.EventHandler' when not needed by @Sergio0694 in #1619
- Fix .NET Standard authoring support by @manodasanW in #1632
- Fix 'CsWinRTIncludes' check in .targets file by @Sergio0694 in #1625
- Update TouchdownBuildTask to v4 by @DefaultRyan in #1635
- Fix couple build issues related to authoring scenarios by @manodasanW in #1643
- WUX/MUX prototype by @jkoritzinsky in #1421
- Update ESRP signing by @manodasanW in #1651
- Merge master into staging branch by @manodasanW in #1652
- Add 'CsWinRTMergeReferencedActivationFactories' option by @Sergio0694 in #1637
- Add WUX 'DispatcherQueueSynchronizationContext' type by @Sergio0694 in #1647
- Fixing various AOT bugs by @manodasanW in #1648
- Fix boxing of types by @manodasanW in #1646
- Fix invalid cast exception with stream APIs and make code fixer emit diagnostics as warnings by @manodasanW in #1654
- Fix IDIC casts to invalid WinRT interfaces by @manodasanW in #1659
- Fix incorrect AOT runtime feature check by @Sergio0694 in #1665
- Skip checking COM objects on AOT by @Sergio0694 in #1662
- Add missing 'readonly' modifiers by @Sergio0694 in #1664
- Improve codegen for merged activation factories by @Sergio0694 in #1660
- Simplify WUX feature switch property by @Sergio0694 in #1658
- Add -public_exclusiveto flag to enable implementing exclusiveto interfaces in consuming projects by @jevansaks in #1670
- Add 'TryGetDataUnsafe' overload for 'IMemoryBufferReference' by @Sergio0694 in #1673
- Fix IDIC casts throwing exceptions for is operator checks by @manodasanW in #1676
- Fix class name mapping for WUX types by @Sergio0694 in #1679
- Make ICustomPropertyProvider AOT safe by @manodasanW in #1677
New Contributors
- @DefaultRyan made their first contribution in #1635
Full Changelog: 2.1.0-prerelease.240602.1...2.1.0-prerelease.240722.1
CsWinRT v2.0.8
This is a minor release with a set of fixes for reported issues since 2.0.7. This stable release doesn't have the AOT changes which are available in the preview release. An updated preview release will be coming soon.
What's Changed
- Remove inputs which are not files from CsWinRTGenerateProjection target. by @Jeremy-Price in #1526
- Fix issue where RuntimeClassName for boxed type object was empty string by @manodasanW in #1548
- Update version by @manodasanW in #1551
- Reference CsWinRTEnableLogging in msbuild targets by @hez2010 in #1559
- Fix potential type incompatibility for in-proc WinRT components by @hez2010 in #1610
- Update baseline by @manodasanW in #1615
- Update TouchdownBuildTask to v4 by @DefaultRyan in #1635
- Fix couple build issues related to authoring scenarios by @manodasanW in #1643
- Update ESRP signing by @manodasanW in #1651
- Report native memory pressure to GC by @manodasanW in #1514
- Partial cherrypick of IsPublic changes from staging branch by @manodasanW in #1657
New Contributors
- @Jeremy-Price made their first contribution in #1526
- @DefaultRyan made their first contribution in #1635
Full Changelog: 2.0.7.240207.1...2.0.8.240703.1
CsWinRT 2.1.0-prerelease.240602.1
This is a prerelease version of C#/WinRT focused on bringing .NET AOT support and improved trimming support to both the runtime and generated projections. This version requires the preview Windows SDK projection package from below which can be consumed by setting the following property in your C# project file:
<WindowsSdkPackageVersion>10.0.xxxxx.35-preview</WindowsSdkPackageVersion>
C#/WinRT package:
https://www.nuget.org/packages/Microsoft.Windows.CsWinRT/2.1.0-prerelease.240602.1
.NET Windows SDK targeting packages:
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.22621.35-preview
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.22000.35-preview
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.20348.35-preview
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.19041.35-preview
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.18362.35-preview
https://www.nuget.org/packages/Microsoft.Windows.SDK.NET.Ref/10.0.17763.35-preview
More details on the effect of these improvements and known issues can be found here: https://github.com/microsoft/CsWinRT/blob/staging/AOT/docs/aot.md
Thank you to @dongle-the-gadget, @Gaoyifei1011, @hez2010, @Jeremy-Price, @jlaanstra, @Sergio0694 for your community contributions to this significant release.
New Contributors
- @Jeremy-Price made their first contribution in #1526
- @Gaoyifei1011 made their first contribution in #1528
Full Changelog: 2.0.7.240207.1...2.1.0-prerelease.240602.1
CsWinRT v2.0.7
Minor update to address regression in 2.0.6 with respect to projected types in WinRT
namespace
Changes:
- 2b77d84 Update CsWinRT-Variables.yml (#1501)
- 174ccbf Fix mising global:: and add test case to avoid breaking in future. (#1500)
This list of changes was auto generated.