Skip to content

Commit

Permalink
fix broken link (dotnet#4655)
Browse files Browse the repository at this point in the history
  • Loading branch information
mairaw authored Mar 14, 2018
1 parent 9abbcac commit 260fd53
Showing 1 changed file with 5 additions and 6 deletions.
11 changes: 5 additions & 6 deletions docs/core/packages.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Packages, Metapackages and Frameworks
title: Packages, metapackages and frameworks
description: Learn terminology for packages, metapackages, and frameworks.
keywords: .NET, .NET Core
author: richlander
Expand All @@ -12,8 +12,7 @@ ms.assetid: 609b0845-49e7-4864-957b-21ffe1b93bf2
ms.workload:
- dotnetcore
---

# Packages, Metapackages and Frameworks
# Packages, metapackages and frameworks

.NET Core is a platform made of NuGet packages. Some product experiences benefit from fine-grained definition of packages while others from coarse-grained. To accommodate this duality, the product is distributed as a fine-grained set of packages and then described in coarser chunks with a package type informally called a "metapackage".

Expand Down Expand Up @@ -74,7 +73,7 @@ The .NET Standard metapackage is:

The key .NET Core metapackages are:

- [Microsoft.NETCore.App](https://www.nuget.org/packages/Microsoft.NETCore.App) - Describes the libraries that are part of the .NET Core distribution. Establishes the [`.NETCoreApp` framework](https://github.com/dotnet/core-setup/blob/master/pkg/projects/Microsoft.NETCore.App/Microsoft.NETCore.App.pkgproj). Depends on the smaller `NETStandard.Library`.
- [Microsoft.NETCore.App](https://www.nuget.org/packages/Microsoft.NETCore.App) - Describes the libraries that are part of the .NET Core distribution. Establishes the [`.NETCoreApp` framework](https://github.com/dotnet/core-setup/blob/release/1.1.0/pkg/projects/Microsoft.NETCore.App/Microsoft.NETCore.App.pkgproj). Depends on the smaller `NETStandard.Library`.
- [Microsoft.NETCore.Portable.Compatibility](https://www.nuget.org/packages/Microsoft.NETCore.Portable.Compatibility) - A set of compatibility facades that enable mscorlib-based Portable Class Libraries (PCLs) to run on .NET Core.

## Frameworks
Expand All @@ -93,7 +92,7 @@ The `.NETFramework,Version=4.6` framework represents the available APIs in the .

The `.NETStandard,Version=1.3` framework is a package-based framework. It relies on packages that target the framework to define and expose APIs in terms of the framework.

## Package-based Frameworks
## Package-based frameworks

There is a two-way relationship between frameworks and packages. The first part is defining the APIs available for a given framework, for example `netstandard1.3`. Packages that target `netstandard1.3` (or compatible frameworks, like `netstandard1.0`) define the APIs available for `netstandard1.3`. That may sound like a circular definition, but it isn't. By virtue of being "package-based", the API definition for the framework comes from packages. The framework itself doesn't define any APIs.

Expand Down Expand Up @@ -137,7 +136,7 @@ It may seem strange to target `netstandard1.3` but use the 1.6.0 version of `NET

The reverse would not be valid: targeting `netstandard1.6` with the 1.3.0 version of `NETStandard.Library`. You cannot target a higher framework with a lower metapackage, since the lower version metapackage will not expose any assets for that higher framework. The versioning scheme for metapackages asserts that metapackages match the highest version of the framework they describe. By virtue of the versioning scheme, the first version of `NETStandard.Library` is v1.6.0 given that it contains `netstandard1.6` assets. v1.3.0 is used in the example above, for symmetry with the example above, but does not actually exist.

### .NET Core Application
### .NET Core application

The .NET Core Application (TFM: `netcoreapp`) framework represents the packages and associated APIs that come with the .NET Core distribution and the console application model that it provides. .NET Core apps must use this framework, due to targeting the console application model, as should libraries that intended to run only on .NET Core. Using this framework restricts apps and libraries to running only on .NET Core.

Expand Down

0 comments on commit 260fd53

Please sign in to comment.