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

.NET Platform Standard Document - Some Ideas to improve it #15644

Closed
tthiery opened this issue Nov 6, 2015 · 7 comments
Closed

.NET Platform Standard Document - Some Ideas to improve it #15644

tthiery opened this issue Nov 6, 2015 · 7 comments
Assignees
Labels
area-Meta documentation Documentation bug or enhancement, does not impact product or test code
Milestone

Comments

@tthiery
Copy link

tthiery commented Nov 6, 2015

I was reading the ".NET Platform Standard" document. I liked it a lot, but there are some details where I would love some clarification in the document

  • It is about the Platform Standard. Nevertheless, many will use the netstandard TFMs for their libraries. So when speaking of "Reference Assembly" and "Implementation Assembly", I think we need a very clear separation between a library targeting a netstandard which is
    • distributed by an normal library developer which is portable (he delivers a nuget package with a ref and a implementation assembly (or only a impl?))
    • distributed by an normal library developer which is not portable (bait and switch)
    • a library like System.IO which is 99% delivered as part of the platform which is not portable (which has a ref assembly and a implementation assembly per platform, in the platform), but nevertheless has a NuGet package. How does that work (only ref?).
    • a library like System.Xml.XDocument which is part of the CoreFx, which is portable which future platforms should just use via NuGet but some older platforms may still have as a implementation assembly in the platform.
  • I would add a line stating that targeting a lower platform standard is preferable.
  • In the CoreFx list a classification which library is portable, sometimes portable and always platform specific would be nice
  • A word about how the NuGet packages of the netstandard (e.g. System.IO) build only with their refs and their implementation assemblies as part of the platforms (they are build and shipped with them, e.g. in coreclr). I think it should be clarified that the public NuGet which reflect platform features only have refs.

@davidfowl @AArnott

ps: I am surely not 100% accurate here. I just think myself into nuget3, DNX, corefx, coreclr, etc. and jump on any documentation I get.

@davidfowl
Copy link
Member

@tthiery excellent suggestions!

@davidfowl
Copy link
Member

distributed by an normal library developer which is portable (he delivers a nuget package with a ref and a implementation assembly (or only a impl?))

distributed by an normal library developer which is not portable (bait and switch)

This will be mostly lib only, nothing will change from today. The only time you need ref is for bait and switch.

@tthiery
Copy link
Author

tthiery commented Nov 6, 2015

understood. "Today" is quite new for many. PCLs usage and NuGet package creation is new for many enterprise devs ;)

@tthiery
Copy link
Author

tthiery commented Dec 30, 2015

@davidfowl I see the "NETStandard.Library" dependency showing up everywhere instead of concrete dependencies. That is a new twist. Maybe also worth adding to the document (including how it works in the nuget hierarchy ... just start to understand that a minute ago ;)).

@davidfowl
Copy link
Member

/cc @richlander @Petermarcu

@RichiCoder1
Copy link

I see the "NETStandard.Library" dependency showing up everywhere instead of concrete dependencies. That is a new twist.

This has been throwing me off too. I like it, but it breaks from a lot of written docs.

@terrajobst
Copy link
Member

This doc has been superseded with the documentation found in https://github.com/dotnet/standard.

@msftgits msftgits transferred this issue from dotnet/corefx Jan 31, 2020
@msftgits msftgits added this to the 2.0.0 milestone Jan 31, 2020
@dotnet dotnet locked as resolved and limited conversation to collaborators Jan 4, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-Meta documentation Documentation bug or enhancement, does not impact product or test code
Projects
None yet
Development

No branches or pull requests

5 participants