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

System.DirectoryServices conflicts with what ships in .NET Framework #20982

Closed
weshaggard opened this issue Apr 7, 2017 · 19 comments
Closed

Comments

@weshaggard
Copy link
Member

We need to rename System.DirectoryServices library because we already have an assembly with that identity that ship in .NET Framework. We need a new name for that library before we can ship it.

@weshaggard
Copy link
Member Author

Similar for System.DirectoryServices.Protocols and System.DirectoryServices.AccountManagement.

We cannot use the same assembly identities unless we expect them to always contain the exact set of APIs.

@danmoseley
Copy link
Member

@weshaggard can we point to an example or otherwise explain what's required so code owners can easily do this?

Leaving in future as I'm not sure of our ship plans for this for 2.0. @karelz

@weshaggard
Copy link
Member Author

For new libraries there name should get reviewed via the api-review process to ensure that we have consistent names and no conflicts with existing shipped libraries. So for this case the owners need to propose some new assembly names that don't conflict, or a plan that explains why the conflict will not be an issue.

@karelz
Copy link
Member

karelz commented Apr 7, 2017

It sounds like we should decide on this before we ship preview build -- which is 2.0 timeframe :)
Moving to 2.0 then (@weshaggard can you please confirm it is must have before first preview on nuget of the package?)

@weshaggard
Copy link
Member Author

We don't currently build these packages (dotnet/corefx@715263f) so they won't get shipped with preview.

@karelz
Copy link
Member

karelz commented Apr 7, 2017

OK, Future if we don't build it.
We can always ship ad-hoc preview (aka push it to nuget.org) when we are ready and there is interest from community.

@Petermarcu
Copy link
Member

How do we want to track something that we want to preview on the 2.0 timeframe. We should finish the assembly naming conversation, make the package, and get a preview out ASAP.

@karelz
Copy link
Member

karelz commented Jun 2, 2017

@tquerec @jay98014 can you please help us get unblocked to ship the binary as preview?

@weshaggard
Copy link
Member Author

If we want to ship a preview of this package I would suggest we do it from master and not in release/2.0.0 branch as trying to keep things correctly segregated in release/2.0.0 will be more risk then just doing this one-off from master itself.

@ericstj ericstj self-assigned this Jun 9, 2017
@ericstj
Copy link
Member

ericstj commented Jun 9, 2017

@Petermarcu has asked me to enable this.

Suggestion is to just append .Core to the assembly names.

Here's another suggestion.
System.DirectoryServices -> System.DirectoryServices.Primitives
System.DirectoryServices.AccountManagement -> System.DirectoryServices.Accounts
System.DirectoryServices.Protocols -> System.DirectoryServices.Extensions

/cc @terrajobst for FXDC/Naming

@weshaggard
Copy link
Member Author

We should avoid just using ".Core" suffix as that is not a pattern we want to use for these namings. We generally try to name them based on the contents of the library. @ericstj while your suggestions seem reasonable I think we need some input from the owner of these to provide some feedback to ensure they align with the technology they provide.

@ericstj
Copy link
Member

ericstj commented Jun 13, 2017

Is there any objection to just putting them in place temporarily so that we can build the packages and let folks try them out? @jay98014 what do you think?

@ericstj
Copy link
Member

ericstj commented Jun 21, 2017

@terrajobst and I looked at this and decided to keep the same name as desktop and make them match / be a pure subset of what's in desktop. This keeps the the compat/shim story simple for using these on NS2.0 and is inline with the level of churn we expect to see in these assemblies (little to none). I think this is considerably different from the ConfigurationManager case because we aren't trying to do any assembly refactoring as part of this work. Its a pure port.

I'll add some comments to the projects that they can't add API to these assemblies as they are meant to match desktop 1:1. They'll have to follow the same constraints as stuff in NETStandard.

There are a few issues (removed abstract members) that we need to fix in order to make this work. I'll file an issue on that.

@weshaggard
Copy link
Member Author

Sounds reasonable for now and we can always split them later if we want.

@weshaggard
Copy link
Member Author

I'll add some comments to the projects that they can't add API to these assemblies as they are meant to match desktop 1:1

We should see if we can add some apicompat checks to help ensure this. Perhaps we should do that for anything where we place a placeholder in the netfx folder in the package.

@NickJosevski
Copy link

@weshaggard @karelz has a decision made on the assembly names to avoid the conflict?

If the preview packages are still not ready to release, could you give some guidance on which branch is close to what will end up in the preview packages, I can build from that, and just hosts them for myself on myget for now...

I'm eager to start using a preview release of these assemblies, as it will allow me to continue building against netstandard 2.0 and support directory services for something that just needs to run on Windows for now.

@ericstj
Copy link
Member

ericstj commented Jun 22, 2017

Yeah, I'll have a fix in today and you can expect packages from master by tomorrow morning.

@xaviergxf
Copy link

Hi, Can i use this package with vs 15.7.1? I've added the nuget packages 4.5.0-rc1 but it mixes with the one on the gac. Should this nuget package produce dll's on my bind/net471 folder?

Thanks

@karelz
Copy link
Member

karelz commented May 14, 2018

@xaviergxf can you please file a new issue? Closed issues are not monitored.
Please post repro showing what kind of "mix" happens for you.

@msftgits msftgits transferred this issue from dotnet/corefx Jan 31, 2020
@msftgits msftgits added this to the 2.1.0 milestone Jan 31, 2020
@ghost ghost locked as resolved and limited conversation to collaborators Dec 24, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

8 participants