-
-
Notifications
You must be signed in to change notification settings - Fork 53
Add workaround for dotnet/wpf#11246 #219
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
Conversation
WalkthroughAdds a new MSBuild target Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
src/libs/Directory.Build.targets(1 hunks)
🧰 Additional context used
🧠 Learnings (10)
📓 Common learnings
Learnt from: CR
Repo: HavenDV/H.NotifyIcon PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-10-23T11:04:44.417Z
Learning: Applies to src/libs/H.NotifyIcon.Shared/**/*.{Wpf,WinUI,WinRT}.cs : Use platform-specific filename suffixes .Wpf.cs, .WinUI.cs, .WinRT.cs for platform-specific implementations in the Shared project
Learnt from: CR
Repo: HavenDV/H.NotifyIcon PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-10-23T11:04:44.417Z
Learning: Applies to src/libs/H.NotifyIcon/** : Use CsWin32-generated P/Invoke for Windows interop (Shell_NotifyIcon and NOTIFYICONDATA) instead of handwritten signatures
Learnt from: CR
Repo: HavenDV/H.NotifyIcon PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-10-23T11:04:44.417Z
Learning: Applies to tests/H.NotifyIcon.IntegrationTests/*.csproj : Maintain test target frameworks for Windows (e.g., net4.8 and net9.0-windows) in the integration test project
Learnt from: CR
Repo: HavenDV/H.NotifyIcon PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-10-23T11:04:44.417Z
Learning: Applies to src/libs/Directory.Build.props : Configure GraphicsLibrary (System.Drawing or SkiaSharp) in src/libs/Directory.Build.props and map to HAS_SYSTEM_DRAWING or HAS_SKIA_SHARP defines
📚 Learning: 2025-10-23T11:04:44.417Z
Learnt from: CR
Repo: HavenDV/H.NotifyIcon PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-10-23T11:04:44.417Z
Learning: Applies to src/libs/{H.GeneratedIcons.System.Drawing,H.GeneratedIcons.SkiaSharp}/**/*.cs : When modifying icon generation, update both System.Drawing and SkiaSharp implementations to maintain feature parity
Applied to files:
src/libs/Directory.Build.targets
📚 Learning: 2025-10-23T11:04:44.417Z
Learnt from: CR
Repo: HavenDV/H.NotifyIcon PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-10-23T11:04:44.417Z
Learning: Applies to tests/H.NotifyIcon.IntegrationTests/*.csproj : Maintain test target frameworks for Windows (e.g., net4.8 and net9.0-windows) in the integration test project
Applied to files:
src/libs/Directory.Build.targets
📚 Learning: 2025-10-23T11:04:44.417Z
Learnt from: CR
Repo: HavenDV/H.NotifyIcon PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-10-23T11:04:44.417Z
Learning: Applies to src/libs/Directory.Build.props : Configure GraphicsLibrary (System.Drawing or SkiaSharp) in src/libs/Directory.Build.props and map to HAS_SYSTEM_DRAWING or HAS_SKIA_SHARP defines
Applied to files:
src/libs/Directory.Build.targets
📚 Learning: 2025-10-23T11:04:44.417Z
Learnt from: CR
Repo: HavenDV/H.NotifyIcon PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-10-23T11:04:44.417Z
Learning: Applies to src/apps/**/*.csproj : Sample apps should target the platform-appropriate frameworks listed (e.g., WPF, WinUI, Console, MAUI) and remain buildable via dotnet run/build commands
Applied to files:
src/libs/Directory.Build.targets
📚 Learning: 2025-10-23T11:04:44.417Z
Learnt from: CR
Repo: HavenDV/H.NotifyIcon PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-10-23T11:04:44.417Z
Learning: Applies to src/**/*.cs : Use conditional compilation symbols for platform code: HAS_WPF, HAS_WINUI, HAS_UNO, HAS_MAUI; and for graphics backends: HAS_SYSTEM_DRAWING, HAS_SKIA_SHARP
Applied to files:
src/libs/Directory.Build.targets
📚 Learning: 2025-10-23T11:04:44.417Z
Learnt from: CR
Repo: HavenDV/H.NotifyIcon PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-10-23T11:04:44.417Z
Learning: Applies to src/libs/H.NotifyIcon.Shared/**/*.{Wpf,WinUI,WinRT}.cs : Use platform-specific filename suffixes .Wpf.cs, .WinUI.cs, .WinRT.cs for platform-specific implementations in the Shared project
Applied to files:
src/libs/Directory.Build.targets
📚 Learning: 2025-10-23T11:04:44.417Z
Learnt from: CR
Repo: HavenDV/H.NotifyIcon PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-10-23T11:04:44.417Z
Learning: Applies to .github/workflows/dotnet.yml : Keep CI running on Windows runners, with steps to install MAUI and Tizen workloads, build all libraries, and publish on tag pushes (v**)
Applied to files:
src/libs/Directory.Build.targets
📚 Learning: 2025-10-23T11:04:44.417Z
Learnt from: CR
Repo: HavenDV/H.NotifyIcon PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-10-23T11:04:44.417Z
Learning: Applies to src/libs/**/{*.ios.cs,ios/**/*.cs,*.macos.cs,macos/**/*.cs,*.android.cs,android/**/*.cs,*.windows.cs,windows/**/*.cs,*.net.cs} : Use platform/file exclusion naming patterns (*.ios.cs, *.macos.cs, *.android.cs, *.windows.cs, *.net.cs and corresponding folders) and MSBuild conditions to include them only for matching targets
Applied to files:
src/libs/Directory.Build.targets
📚 Learning: 2025-10-23T11:04:44.417Z
Learnt from: CR
Repo: HavenDV/H.NotifyIcon PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-10-23T11:04:44.417Z
Learning: Applies to src/libs/**/*.csproj : Mark libraries as trimming- and AOT-compatible (IsTrimmable true; IsAotCompatible true for net7.0+)
Applied to files:
src/libs/Directory.Build.targets
|
Thank you, it works, because PR was closed I can't merge but added it as an separate commit |
|
Thanks! The dotnet team has fixed the issue, and the fix will be in the next servicing update at dotnet/dotnet#3120. Once that’s out, you can remove the workaround. |
.NET 10 WPF builds fail due to missing
System.Private.Windows.GdiPlusreference. This is a known issue tracked at dotnet/wpf#11246.Changes
FixWpfReferencesMSBuild target tosrc/libs/Directory.Build.targetsResolveTargetingPackAssetsfor WPF projects onlyThis is a temporary workaround until the upstream fix is released.
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.