-
Notifications
You must be signed in to change notification settings - Fork 5.2k
move ref DirectoryEntryConverter to System.DirectoryServices.Design namespace #75235
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
The DirectoryEntryConverter's implementation is in the System.DirectoryServices.Design namespace. However, the reference was mistakenly put in the System.DirectoryServices namespace. This was flagged by the new ApiCompat tool, where the type argument to the TypeConverter attribute was different (since they're in different namespaces).
|
Note regarding the This serves as a reminder for when your PR is modifying a ref *.cs file and adding/modifying public APIs, to please make sure the API implementation in the src *.cs file is documented with triple slash comments, so the PR reviewers can sign off that change. |
|
Tagging subscribers to this area: @dotnet/area-system-directoryservices, @jay98014 Issue DetailsThe DirectoryEntryConverter's implementation is in the System.DirectoryServices.Design namespace. However, the reference was mistakenly put in the System.DirectoryServices namespace. This was flagged by the new ApiCompat tool, where the type argument to the TypeConverter attribute was different (since they're in different namespaces).
|
|
I validated this against a version of the SDK that doesn't have the internal type argument change to ApiCompat. |
|
|
||
| namespace System.DirectoryServices.Design | ||
| { | ||
| internal sealed class DirectoryEntryConverter { } |
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.
@ericstj do you remember why the internal type is part of / exposed in the contract?
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 XAML compiler records the TypeConverter at design time (even if it is internal). #27528
It would do this for any type, even internal types. All these type converters (internal as well) were exposed in the .NETFramework assemblies and this behavior was something WPF depended upon. There were cases we saw that relied on these internal converters. We brought it back for any type from .NETFramework that was exposed in .NET Core assemblies.
This behavior is specifically why we brought back TypeConverterAttributes into reference assemblies - it's why those became promoted to public surface area (including their internal targets).
The DirectoryEntryConverter's implementation is in the System.DirectoryServices.Design namespace. However, the reference was mistakenly put in the System.DirectoryServices namespace. This was flagged by the new ApiCompat tool, where the type argument to the TypeConverter attribute was different (since they're in different namespaces).