-
Notifications
You must be signed in to change notification settings - Fork 5.9k
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
Frameworks and Targets update #1721
Frameworks and Targets update #1721
Conversation
@guardrex, |
docs/standard/frameworks.md
Outdated
|
||
## Framework Versions | ||
Refernece | Name |
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.
typo: Refernece
also, this feels a bit lost here without the explanation we had before.
docs/standard/frameworks.md
Outdated
|
||
The table below defines the set of frameworks that you can use, how they are referred to and which version of the [.NET Standard Library](library.md) that they implement. | ||
## Lastest framework versions |
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.
typo: lastest
docs/standard/frameworks.md
Outdated
| .NET Standard | 1.6 | .NETStandard,Version=1.6 | netstandard1.6 | N/A | [NETStandard.Library](https://www.nuget.org/packages/NETStandard.Library)| | ||
| .NET Core Application | 1.0.1 | .NETCoreApp,Version=1.0 | netcoreapp1.0 | 1.6 | [Microsoft.NETCore.App](https://www.nuget.org/packages/Microsoft.NETCore.App)| | ||
| .NET Framework | 4.6.2 | .NETFramework,Version=4.6.2 | net462 | 1.5 | N/A | | ||
The table below defines the set of frameworks that you can use, how they're referenced, and which version of the [.NET Standard Library](library.md) they implement. These framework versions are the latest stable versions. Pre-release versions aren't shown. |
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 table below -> The following table (style guide rule)
docs/standard/frameworks.md
Outdated
| | netstandard1.4 | ||
| | netstandard1.5 | ||
| | netstandard1.6 | ||
.NET Core App | netcoreapp | netcoreapp1.0 |
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.
we're missing netcoreapp1.1 here
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.
also wondering if we should move netstandard and netcoreapp higher in the list.
@terrajobst can you help review this? also, where can I find where the TFMs are defined? I wanted to double-check this list. |
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.
a few comments
docs/standard/frameworks.md
Outdated
| | netstandard1.4 | ||
| | netstandard1.5 | ||
| | netstandard1.6 | ||
.NET Core App | netcoreapp | netcoreapp1.0 |
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.
also wondering if we should move netstandard and netcoreapp higher in the list.
docs/standard/frameworks.md
Outdated
| | net46 | ||
| | net461 | ||
| | net462 | ||
.NET Core | netcore | netcore [netcore45] |
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.
what does the netcore TFM is used for? having it identified as .NET Core could be confusing. @terrajobst
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.
Depreciated .NET Core TFM's? ... that haven't been formally moved to the "depreciated" list yet because some libs perhaps still use them??? wildly guessing
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.
I'll wait on @terrajobst help on this one. I think it has to do with UWP.
docs/standard/frameworks.md
Outdated
|
||
You can refer to a family of frameworks using long- or short-forms of the framework ID. Both are equally valid in the general case. | ||
The [.NET Standard](https://github.com/dotnet/standard) simplifies references between binary-compatible frameworks, allowing a single target framework to reference a combination of others. For background, see the [.NET Platform Guide](https://docs.microsoft.com/dotnet/articles/standard/index). |
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.
use relative link to topics inside the repo. and probably a better link is this: https://docs.microsoft.com/en-us/dotnet/articles/standard/library. I'll submit a PR to the NuGet docs for this.
docs/standard/frameworks.md
Outdated
|
||
For NuGet 3.3 and earlier, use the `dotnet` series of monikers. For NuGet 3.4 and later, use the `netstandard` moniker syntax. | ||
|
||
## Portable Class Libraries |
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.
this one is a really long list and we don't even recommend people using it anymore. I think in this case we could link to the NuGet topic (https://docs.microsoft.com/nuget/schema/target-frameworks#portable-class-libraries)
docs/standard/frameworks.md
Outdated
title: Frameworks and Targets | ||
description: Explains the concepts of framework targets when writing .NET code. | ||
keywords: .NET, .NET Core | ||
title: Target frameworks |
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.
.NET Target Frameworks | Microsoft Docs (no need to add the .NET for the H1)
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.
some minor comments. almost ready to go. I just want to clarify the netcore vs. netcoreapp TFMs more clearly. and I'm also trying to find out where these are defined so we can double check if the list is complete.
docs/standard/frameworks.md
Outdated
| | netstandard1.4 | ||
| | netstandard1.5 | ||
| | netstandard1.6 | ||
.NET Core App | netcoreapp | netcoreapp1.0 | netcoreapp1.1 |
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.
.netcoreapp1.1 should be in a new row
docs/standard/frameworks.md
Outdated
| | net46 | ||
| | net461 | ||
| | net462 | ||
.NET Core | netcore | netcore [netcore45] |
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.
I'll wait on @terrajobst help on this one. I think it has to do with UWP.
docs/standard/frameworks.md
Outdated
keywords: .NET, .NET Core | ||
title: Target frameworks | Microsoft Docs | ||
description: Explains the concepts of target frameworks when writing .NET code. | ||
keywords: .NET, .NET Core, framework, tfm |
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.
tfm -> TFM
docs/standard/frameworks.md
Outdated
:--------: | :--: | :--: | :--: | :--: | :--: | :--: | ||
.NET Standard | 1.6.1 | .NETStandard,Version=1.6 | netstandard1.6 | N/A | [NETStandard.Library](https://www.nuget.org/packages/NETStandard.Library) | ||
.NET Core Application | 1.1.1 | .NETCoreApp,Version=1.1 | netcoreapp1.1 | 1.6 | [Microsoft.NETCore.App](https://www.nuget.org/packages/Microsoft.NETCore.App) | ||
.NET Framework | 4.6.2 | .NETFramework,Version=4.6.2 | net462 | 1.5 | N/A |
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.
This table doesn't seem to render properly on GitHub (probably caused by the recent GitHub change).
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.
Probably the exterior pipes ... they aren't technically required, but I already had one table 💥 on me without them. I'll add them back here and see if that does the trick.
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.
I found the prob with this ... it's not the exterior pipes ... the columns are literally wrong. I'll fix it.
docs/standard/frameworks.md
Outdated
|
||
The [.NET Standard](https://github.com/dotnet/standard) simplifies references between binary-compatible frameworks, allowing a single target framework to reference a combination of others. For background, see the [.NET Standard Library](library.md). | ||
|
||
The [NuGet Tools Get Nearest Framework Tool](https://aka.ms/s2m3th) simulates the NuGet logic used for the selection of one framework from many available framework assets in a package based on the project's framework. To use the tool, enter one project framework and one or more package frameworks. Click the **Submit** button. The tool indicates if the package frameworks you list are compatible with the project framework you provide. |
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.
This seems to link to version 3.5.0-beta2-1484 of the tool, when versions 3.5.0 and 4.0.0 are available. Shouldn't the link be changed to one of those?
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.
Yes, great catch! I'll fix it. Let's just go with http://nugettoolsdev.azurewebsites.net/
, since the latest framework is loaded ✨ auto-magically ✨
docs/standard/frameworks.md
Outdated
|
||
The [NuGet Tools Get Nearest Framework Tool](https://aka.ms/s2m3th) simulates the NuGet logic used for the selection of one framework from many available framework assets in a package based on the project's framework. To use the tool, enter one project framework and one or more package frameworks. Click the **Submit** button. The tool indicates if the package frameworks you list are compatible with the project framework you provide. | ||
|
||
For NuGet 3.3 and earlier, use the `dotnet` series of monikers. For NuGet 3.4 and later, use the `netstandard` moniker syntax. |
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.
Is information on how to use an old version of NuGet still useful?
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.
@mairaw ?
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.
I'd remove it since the dotnet ones already show up as deprecated earlier
docs/standard/frameworks.md
Outdated
xamarinwatchos | Xamarin for Watch OS | netstandard1.4 | ||
xamarintvos | Xamarin for TV OS | netstandard1.4 | ||
xamarinxboxthreesixty | Xamarin for XBox 360 | netstandard1.4 | ||
xamarinxboxone | Xamarin for XBox One | netstandard1.4 |
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.
What does this table do here? It doesn't seem to be related to the paragraph right before it. Shouldn't it have some sort of text introduction?
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.
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.
yes, this is also part of the PCL section on the NuGet docs
Thanks @svick ... I think that licked it. We decided to clean up tables generally as we go. Future generations will thank us! |
docs/standard/frameworks.md
Outdated
|
||
The .NET ecosystem has a concept of *target frameworks*. Frameworks define the API that you can use to target a particular platform. For example, the .NET Framework 4.6 is a platform that you can target. Visual Studio and other IDEs and editors use frameworks to provide you with the correct set of APIs. NuGet also uses them to ensure that you produce and consume appropriate NuGet packages and underlying assets for the framework you're targeting. | ||
|
||
| Reference | Name | |
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.
I thought I had commented it before but couldn't find it. This information seems lost here compared to how the information was presented before.
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.
I did make an attempt to rewrite it to make sense ... and failed 😢. I'll pull up the text from my prior attempt and see where I left off with it.
When you say "how the information was presented before," that predates me here. This is the way I found it sans the two sentences at the end that I stripped off.
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.
I thought this was you rewriting the Writing about Frameworks section which is shown on the diff, no?
@mairaw Oh, yes. I see what you mean now. I thought you were referring to the first paragraph. I brought back the Writing about frameworks section with upgrades. The table was meant simply to condense all of it, but I like this layout, too. I think we know who influenced my earlier decision cough cough Rick cough. 😀 I plopped that alternative frameworks language in here for feedback. cc/ @weshaggard @terrajobst |
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.
I've left a few last comments for you to address before merging but this is a big improvement IMO. Thanks @guardrex!
docs/standard/frameworks.md
Outdated
|
||
## Framework Versions | ||
The terms *framework* and *platform* are sometimes confusing given how they're used in phrases. Making interpretation worse, the term *platform* has different meanings in different contexts. For example, you'll see ".NET Core" described as the ".NET Core framework" in the context of building apps and libraries and also described as the ".NET Core platform" in the context of where app and library code is executed. A *computing platform* describes *where and how* an application is run. Since .NET Core executes code with the [.NET Core Common Language Runtime (CoreCLR)](https://github.com/dotnet/coreclr), it's also a platform. The same is true of the .NET Framework, which has the [Common Language Runtime (CLR)](https://msdn.microsoft.com/library/8bs2ecf4(v=vs.110).aspx) to execute app and library code that was developed with the .NET Framework's framework objects, methods, and tools. You'll frequently see the term "cross-platform" in documentation; but when you see that term, you should think "cross-operating system and cross-architecture (x86, x64, arm)," because that's the meaning that the author usually intends to convey. |
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.
docs/standard/frameworks.md
Outdated
| .NET Standard | 1.6 | .NETStandard,Version=1.6 | netstandard1.6 | N/A | [NETStandard.Library](https://www.nuget.org/packages/NETStandard.Library)| | ||
| .NET Core Application | 1.0.1 | .NETCoreApp,Version=1.0 | netcoreapp1.0 | 1.6 | [Microsoft.NETCore.App](https://www.nuget.org/packages/Microsoft.NETCore.App)| | ||
| .NET Framework | 4.6.2 | .NETFramework,Version=4.6.2 | net462 | 1.5 | N/A | | ||
When you *target a framework* or target several of them, you've decided which set(s) of APIs and which version(s) of those APIs you would like to use. Frameworks are referenced in several ways: by product name, by long- or short-form framework names, and by family. |
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.
style guide rule about adding (s) to make plural: Don't add (s) or (es) to a singular noun to indicate that it can be singular or plural. Most of the time, use plural instead. If it's important to indicate both, use one or more.
docs/standard/frameworks.md
Outdated
| Windows Store | netcore | netcore [netcore45] | | ||
| | | netcore45 [win, win8] | | ||
| | | netcore451 [win81] | | ||
| .NET MicroFramework | netmf | netmf | |
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.
space between Micro and framework
Fixes #1694