Skip to content

Merge staging/2.3 to master#2030

Merged
manodasanW merged 52 commits intomasterfrom
staging/2.3
Aug 8, 2025
Merged

Merge staging/2.3 to master#2030
manodasanW merged 52 commits intomasterfrom
staging/2.3

Conversation

@manodasanW
Copy link
Member

No description provided.

Sergio0694 and others added 30 commits November 24, 2024 20:59
* Remove .NET 6 target from all projects

* Update RIDs for .NET 8

* Bump .NET SDK in build script

* Override RIDs for 'WinUIDesktopSample' project

* Rename 'TestEmbedding' folders and files

* Update readme files

* Update runtimeconfig.json files

* Throw if < .NET 8 is used for projections

* Remove 'net7_0_or_greater' setting

* Fix leftover options

Co-authored-by: Manodasan Wignarajah <mawign@microsoft.com>

* Update RuntimeFrameworkVersion.csproj

* Fix host tests

* Add TFM check

* Update src/WinRT.Runtime/WinRT.Runtime.csproj

---------

Co-authored-by: Manodasan Wignarajah <mawign@microsoft.com>
* Fix WUX test build expecting target platform version after recent VS update

* Fix test

* Fix tests via another way

Co-authored-by: Manodasan Wignarajah <mawign@microsoft.com>
* Skip closure in IDIC enumerable caching

* Use custom type for arguments
* Create WinRTSuppressions.cs

* Bump Roslyn to 4.8

* Create CollectionExpressionSuppressor.cs

* Create CollectionExpressionAnalyzer.cs

* Bump Roslyn to 4.9.2

* Update 'CollectionExpressionAnalyzer'

* Update AotOptimizer.cs

* Create CollectionExpressionIDE0300Suppressor.cs

* Create CollectionExpressionIDE0305Suppressor.cs

* Create CollectionExpressionIDE0303Suppressor.cs

* Add 'SourceGeneratorTest' project

* Add tests for 'CollectionExpressionAnalyzer'

* Fix folder for new tests

* Run new tests in CI

* Rename source generator project

* Use shared project for generator

* Add shared .props for generators

* Add Roslyn 4.12 version of the generators

* Use 'Microsoft.CodeAnalysis.CSharp.Workspaces'

* Fix the diagnostic suppressors

* Remove leftover file

* Rename analyzer test helper

* Add 'CSharpSuppressorTest<TSuppressor>' type

* Add 'DiagnosticSuppressorTests'

* Skip new analyzers if not in 'auto' mode

* Update project references to generators

* Update build steps

* Change analyzer rule identifier

* Override resource names

* Only run source generator tests on x86

* Add 'CollectionExpressionIDE0304Suppressor'

* Fix analyzer tests

* Don't pack .resx files for the generators

* Handle multiple '[CollectionBuilder]' attributes

* Enable CsWinRT options in tests

* Bump package and assembly versions

* Fix IDE0303, IDE0305 suppressions

* Fix IDE0300 suppressions

* Fix another 'ArgumentSyntax' case

* Remove diagnostic suppressors

* Bump Roslyn version to 4.12.0 stable

* Use new generator in 'Collections' functional test
* Add 'CsWinRTEnableManifestFreeActivation' feature switch

* Implement logic for 'CsWinRTEnableManifestFreeActivation'

* Add nullable annotations to 'ActivationFactory'

* Add XML docs

* Bump package and assembly versions

* Fix typo in exception message

* Update readme.md

* Revert parameter name changes

* Restore nullable context

* Add 'CsWinRTManifestFreeActivationReportOriginalException'

* Apply suggestions from code review
* Add MSBuild target for stub .exe-s

* Tweak stub .exe creation

* Automatically enable stub .exe creation

* Update Microsoft.Windows.CsWinRT.nuspec

* Use 'cl.exe' path from Native AOT

* Improve MSVC args handling

* Dynamically link UCRT, remove unsafe options

* Add more options (CFG, CET, etc.)

* Fix linker warning for UCRT

* Fix ordering for stub .exe target

* Remove relative paths

* Add stub .exe to 'ResolvedFileToPublish'

* Fix entry point for 'WinExe' projects

* Tweak output folder for stub .exe

* Fix build errors in native exports

* Fix '_CsWinRTGenerateStubExe' condition

* Add 'CsWinRTUseEnvironmentalTools' property

* Remove unnecessary leading spaces

* Document 'CsWinRTUseEnvironmentalTools'

* Fix stub .exe outside of VS Dev Command Prompt

* Move stub .exe to packaged source file

* Don't exclude 'StubExe.c' from git

* Use environment tools automatically if available

* Handle debug libs
* Always enable GC pressure

* Fix memory pressure removal
Update staging with latest changes from master
* Move 'CollectionExpressionAnalyzer'

* Add 'ComImportInterfaceAnalyzer'

* Add unit tests, minor fixes

* Fix analyzer checks

* Check for 'auto' AOT analyzer mode instead

* Fix unit tests

* Check for 'EnableAotAnalyzer' as well
* Remove 'IPropertyValue' IDIC interface

* Add tests

---------

Co-authored-by: Manodasan Wignarajah <mawign@microsoft.com>
* Build CsWinRT with .NET 9 locally

* Suppress all 'IL2081' warnings

* Update 'MarshalNonBlittable' for AOT support

* Update build steps for .NET 9

* Update .nuspec file for .NET 9

* Fix duplicate 'global.json' creation

* Remove new framework references

* Update CsWinRT-PublishToNuget-Stage.yml

* Build .NET 9 in CI as well

* Fix new IL analyzer warnings

* Add missing nullable annotation

* Remove double lookup in 'FindRcwTypeByNameCached'

* Delete leftover API compat files

* Fix build

* Bump .NET SDK to 9.0.201

Co-authored-by: Manodasan Wignarajah <mawign@microsoft.com>

* Update src/build.cmd

---------

Co-authored-by: Manodasan Wignarajah <mawign@microsoft.com>
…1956)

* Add 'RuntimeClassCastAnalyzer'

* Add unit tests for new analyzer

* Ignore some warnings in tests

* Fix false positives

* Add more unit tests

* Add 'EnumerateAttributesWithType' extension

* Detect and handle '[DynamicDependency]'

* Add unit tests for '[DynamicDependency]'

* Don't analyze generated code

* Update resource strings

* Make analyzer opt-in

* Handle field initializers too

* Better handle implicit conversions

* Fix typo

Co-authored-by: Manodasan Wignarajah <mawign@microsoft.com>

* Add 'CsWinRT1035' warning for enum types

* Add unit tests for enum casts

* Handle nullable enum types too

* Add unit tests for nullable enums

---------

Co-authored-by: Manodasan Wignarajah <mawign@microsoft.com>
* Add '[DynamicWindowsRuntimeCast]' attribute type

* Update analyzer to target the new attribute

* Update resources

* Add 'RuntimeClassCastCodeFixer' draft

* Add 'ArrayBufferWriter<T>' type

* Add 'TypeSymbolExtensions' type

* Add target type attribute argument

* Fix attribute matching, update unit tests

* Port 'CSharpCodeFixTest<TAnalyzer, TCodeFixer>' type

* Tweaks to the analyzer and code fixer

* Add code fixer unit tests

* Misc fixes

* Add missing 'Clear' call

* Fix RuntimeClassCastCodeFixer

* Minor tweaks

* Add support for fixing property accessors

* Deduplicate repeated casts in same nodes

* Add unit tests for duplicated casts

* Support constructors too, add tests

* Add 'DynamicWindowsRuntimeCastGenerator'

* Deduplicate and sort attributes

* Remove duplicated 'global::' prefix

---------

Co-authored-by: Youssef1313 <youssefvictor00@gmail.com>
…ing of the same vtable ptr for nullable support. (#1971)
manodasanW and others added 22 commits April 8, 2025 11:40
…ess is gone (#1969)

* Don't report RPC errors for completion handlers that can't be handled by the process

* Update src/cswinrt/strings/additions/Windows.Foundation/ExceptionDispatchHelper.cs

Co-authored-by: Sergio Pedri <sergio0694@live.com>

---------

Co-authored-by: Sergio Pedri <sergio0694@live.com>
* Move source generator tests to other environment due to nuget restore during test

* Try to fix

* Fix

* Cleanup
* Skip lambda allocation in 'EventSourceCache'

* Add comment
…1991)

* Move property from authoring targets to main targets to reflect use in non component scenarios

* Fix warning
* Add more unit tests for dynamic casts

* Handle missing check for switch statements
…tribute classes (#2010)

* As part of vtable generation for generic instantions, also look at class maked as bindable using our attribute.

* Fix logic

* Remove need for func
* Handle 'IWeakReferenceSource' in 'ICustomQueryInterface'

* Update API compat files
…#2003)

* Check if this is a type from a project reference to another cswinrt component project

* Fix namespace missing in check

* Refactor to helper function

* Rename function
* Escape assembly name starting with numbers when using in generated code

* Do alternative fix

* Feedback
* Add support for loading in default ALC

* Put behind feature switch

* Update readme

* Reorder

* Add link

* Fix url

* Add warning
* Disable 'Marshaler<T>' on AOT

* Update 'AsAgile' extension

* Update 'StructTypeDetails<,>.GetNullableValue'

* Add AOT annotations for 'Marshaler<T>' changes

* Update non blittable 'BoxedValueIReferenceImpl<,>'

* Update 'BoxedArrayIReferenceArrayImpl<T>'

* Normalize whitespaces

* Update MatchingRefApiCompatBaseline.net8.0.txt

* Fix some warnings

* Fix new AOT warnings

* Use specialized marshallers for generic instantiations

* Fix more generic instantiation cases

* Make 'Marshaler' obsolete

* Fix ILC warnings on 'IReferenceArray<T>'

* Remove '[RequiresDynamicCode]' from 'Marshaler<T>'

* Remove unnecessary '[Obsolete]' attribute

* Tweak AOT checks

* Fix non-blittable array marshaling (#2016)

* Fix non bittable array marshaling

* Move AOT tests to .NET 9

* Fix enums

* Fix for .NET 9

* PR feedback

---------

Co-authored-by: Manodasan Wignarajah <mawign@microsoft.com>
* Fix IReferenceArray support on AOT

* Add more test

* Try out alternative approach

* Get working

* Fix build

* Fix and more tests

* Fix copy paste

* Improve size

* Scope down to built-in types

* Fix

* Fix test

* Cleanup

* Cleanup

* More cleanup
@manodasanW manodasanW requested a review from Sergio0694 August 8, 2025 04:22
@manodasanW manodasanW merged commit 10bad02 into master Aug 8, 2025
12 checks passed
glennawatson pushed a commit to reactiveui/ReactiveUI that referenced this pull request Dec 14, 2025
…release.251115.2 (#4204)

This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[Microsoft.Windows.CsWinRT](https://redirect.github.com/microsoft/cswinrt)
| `2.3.0-prerelease.251015.2` -> `2.3.0-prerelease.251115.2` |
![age](https://developer.mend.io/api/mc/badges/age/nuget/Microsoft.Windows.CsWinRT/2.3.0-prerelease.251115.2?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/Microsoft.Windows.CsWinRT/2.3.0-prerelease.251015.2/2.3.0-prerelease.251115.2?slim=true)
|

---

### Release Notes

<details>
<summary>microsoft/cswinrt (Microsoft.Windows.CsWinRT)</summary>

###
[`v2.3.0-prerelease.251115.2`](https://redirect.github.com/microsoft/CsWinRT/releases/tag/2.3.0-prerelease.251115.2):
CsWinRT 2.3.0-prerelease.251115.2

This is a prerelease version of C#/WinRT with more bug fixes and
improvements.

**C#/WinRT package**:

<https://www.nuget.org/packages/Microsoft.Windows.CsWinRT/2.3.0-prerelease.251115.2>

#### What's Changed

- Fix warning by
[@&#8203;manodasanW](https://redirect.github.com/manodasanW) in
[microsoft/CsWinRT#2023](https://redirect.github.com/microsoft/CsWinRT/pull/2023)
- Use FormatMessage for exception messages in cases where the
stowed/language exception doesn't contain a message by
[@&#8203;ahmed605](https://redirect.github.com/ahmed605) in
[microsoft/CsWinRT#2022](https://redirect.github.com/microsoft/CsWinRT/pull/2022)
- Merge to staging/2.3 by
[@&#8203;manodasanW](https://redirect.github.com/manodasanW) in
[microsoft/CsWinRT#2025](https://redirect.github.com/microsoft/CsWinRT/pull/2025)
- Merge staging/2.3 to master by
[@&#8203;manodasanW](https://redirect.github.com/manodasanW) in
[microsoft/CsWinRT#2030](https://redirect.github.com/microsoft/CsWinRT/pull/2030)
- Fix 'Initialize' typo in several files by
[@&#8203;Lightczx](https://redirect.github.com/Lightczx) in
[microsoft/CsWinRT#2035](https://redirect.github.com/microsoft/CsWinRT/pull/2035)
- Fix design time build error causing incremental build issue by
[@&#8203;manodasanW](https://redirect.github.com/manodasanW) in
[microsoft/CsWinRT#2036](https://redirect.github.com/microsoft/CsWinRT/pull/2036)
- Move TestWinRT repo clone to resource by
[@&#8203;manodasanW](https://redirect.github.com/manodasanW) in
[microsoft/CsWinRT#2032](https://redirect.github.com/microsoft/CsWinRT/pull/2032)
- Fix weak reference rehydration scenarios for non projected types by
[@&#8203;manodasanW](https://redirect.github.com/manodasanW) in
[microsoft/CsWinRT#2043](https://redirect.github.com/microsoft/CsWinRT/pull/2043)
- Add UpToDateCheckBuilt to cover incremental build of Implementation
dlls by [@&#8203;jevansaks](https://redirect.github.com/jevansaks) in
[microsoft/CsWinRT#2051](https://redirect.github.com/microsoft/CsWinRT/pull/2051)
- Fix issue where IReferenceArray is not being found by
[@&#8203;manodasanW](https://redirect.github.com/manodasanW) in
[microsoft/CsWinRT#2071](https://redirect.github.com/microsoft/CsWinRT/pull/2071)
- Fix issue with unsubscribing from events on non-agile objects by
[@&#8203;manodasanW](https://redirect.github.com/manodasanW) in
[microsoft/CsWinRT#2079](https://redirect.github.com/microsoft/CsWinRT/pull/2079)
- Fix issues with CopyToManagedArray by
[@&#8203;manodasanW](https://redirect.github.com/manodasanW) in
[microsoft/CsWinRT#2084](https://redirect.github.com/microsoft/CsWinRT/pull/2084)

#### New Contributors

- [@&#8203;ahmed605](https://redirect.github.com/ahmed605) made their
first contribution in
[microsoft/CsWinRT#2022](https://redirect.github.com/microsoft/CsWinRT/pull/2022)
- [@&#8203;Lightczx](https://redirect.github.com/Lightczx) made their
first contribution in
[microsoft/CsWinRT#2035](https://redirect.github.com/microsoft/CsWinRT/pull/2035)

**Full Changelog**:
<microsoft/CsWinRT@2.3.0-prerelease.250720.1...2.3.0-prerelease.251115.2>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/reactiveui/ReactiveUI).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4xNi4xIiwidXBkYXRlZEluVmVyIjoiNDIuMzIuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiRGVwZW5kZW5jeSBNYW5hZ2VtZW50Il19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

3 participants