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

XML comment crefs unusable with shared/duplicate CsWin32 #10524

Open
JeremyKuhne opened this issue Dec 22, 2023 · 4 comments
Open

XML comment crefs unusable with shared/duplicate CsWin32 #10524

JeremyKuhne opened this issue Dec 22, 2023 · 4 comments
Labels
tracking-external-issue An issue is caused by an external system and won't be fixed in this repo
Milestone

Comments

@JeremyKuhne
Copy link
Member

JeremyKuhne commented Dec 22, 2023

XML comment crefs don't resolve the same way code does. They have visibility to everything, which prevents us from using them when we have duplicate type names in dependent assemblies or types that cross assemblies. We either have to turn off CS1574 and CS1580, or remove lots of existing crefs.

#10320 (comment)

@JeremyKuhne JeremyKuhne added the tracking-external-issue An issue is caused by an external system and won't be fixed in this repo label Dec 22, 2023
@JeremyKuhne JeremyKuhne added this to the 9.0 Preview1 milestone Dec 22, 2023
@JeremyKuhne
Copy link
Member Author

@jaredpar, can give guidance on where we should create an issue for this?

@AArnott, fyi.

JeremyKuhne added a commit to JeremyKuhne/winforms that referenced this issue Dec 22, 2023
This is a rough prototype of a shared interop with System.Drawing.Common. It introduces a new base assembly for shared CsWin32 and other low-level support code.

Converted HGLOBAL, DEVMODE and related stuff to the new shared pattern. Also used the CsWin32 generated GdiplusStartup.

I have almost no idea if packaging is correct here. Assuming it isn't.

`crefs` don't work right when there is overlap in internals. dotnet#10524 tracks this, and this change disables the relevant warnings.

I've only smoke tested this with the WinFormsControlsTest.
@jaredpar
Copy link
Member

jaredpar commented Jan 2, 2024

Tracking the issue here dotnet/roslyn#71442

JeremyKuhne added a commit that referenced this issue Jan 4, 2024
This change adds a shared interop assembly with `System.Drawing.Common`. It introduces a new base assembly for shared CsWin32 and other low-level support code called `System.Private.Windows.Core`. This assembly is part of the `System.Drawing.Common` package.

Converted `HGLOBAL`, `DEVMODE` and related stuff to the new shared pattern. Also used the CsWin32 generated `GdiplusStartup`.

`crefs` don't work right when there is overlap in internals. #10524 tracks this, and this change disables the relevant warnings. 

Smoke tested this with the WinFormsControlsTest.
@lonitra lonitra modified the milestones: 9.0 Preview1, 9.0 Preview2 Jan 22, 2024
@lonitra lonitra modified the milestones: 9.0 Preview2, 9.0 Preview3 Feb 23, 2024
KlausLoeffelmann pushed a commit to KlausLoeffelmann/winforms that referenced this issue Mar 5, 2024
This change adds a shared interop assembly with `System.Drawing.Common`. It introduces a new base assembly for shared CsWin32 and other low-level support code called `System.Private.Windows.Core`. This assembly is part of the `System.Drawing.Common` package.

Converted `HGLOBAL`, `DEVMODE` and related stuff to the new shared pattern. Also used the CsWin32 generated `GdiplusStartup`.

`crefs` don't work right when there is overlap in internals. dotnet#10524 tracks this, and this change disables the relevant warnings. 

Smoke tested this with the WinFormsControlsTest.
@LeafShi1 LeafShi1 modified the milestones: 9.0 Preview3, 9.0 Preview4 Mar 19, 2024
@LeafShi1 LeafShi1 modified the milestones: 9.0 Preview4, 9.0 Preview5 Apr 23, 2024
@LeafShi1 LeafShi1 modified the milestones: 9.0 Preview5, 9.0 Preview6 May 22, 2024
@lonitra lonitra modified the milestones: 9.0 Preview6, 9.0 Preview7 Jun 20, 2024
@elachlan
Copy link
Contributor

@JeremyKuhne was this resolved by using a common base library?

@lonitra lonitra modified the milestones: 9.0 Preview7, 9.0 RC1 Jul 23, 2024
@JeremyKuhne JeremyKuhne modified the milestones: 9.0 RC1, Future Jul 24, 2024
@JeremyKuhne
Copy link
Member Author

This issue is just a tracking issue for the linked C# feature.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tracking-external-issue An issue is caused by an external system and won't be fixed in this repo
Projects
None yet
Development

No branches or pull requests

5 participants