From bafdeee80db256ca68842287ac6138d199e861e6 Mon Sep 17 00:00:00 2001 From: Tom Dykstra Date: Wed, 1 Dec 2021 10:45:12 -0800 Subject: [PATCH 1/5] add optional workload folders --- docs/core/distribution-packaging.md | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/docs/core/distribution-packaging.md b/docs/core/distribution-packaging.md index f2c71c4297db0..045389dc1f8c2 100644 --- a/docs/core/distribution-packaging.md +++ b/docs/core/distribution-packaging.md @@ -2,7 +2,7 @@ title: .NET distribution packaging description: Learn how to package, name, and version .NET for distribution. author: tmds -ms.date: 10/09/2019 +ms.date: 12/01/2021 --- # .NET distribution packaging @@ -24,8 +24,14 @@ When installed, .NET consists of several components that are laid out as follows │ └── fxr (*) │ └── (2) ├── sdk (*) -│ ├── (3) -│ └── NuGetFallbackFolder (4) (*) +│ └── (3) +├── sdk-manifests (4) (*) +│ └── +├── library-packs (4) (*) +├── metadata (4) (*) +│ └── workloads +│ └── +├── template-packs (4) (*) ├── packs (*) │ ├── Microsoft.AspNetCore.App.Ref (*) │ │ └── (11) @@ -65,7 +71,7 @@ While there's a single host, most of the other components are in versioned direc - (3) **sdk/\** The SDK (also known as "the tooling") is a set of managed tools that are used to write and build .NET libraries and applications. The SDK includes the .NET CLI, the managed languages compilers, MSBuild, and associated build tasks and targets, NuGet, new project templates, and so on. -- (4) **sdk/NuGetFallbackFolder** contains a cache of NuGet packages used by an SDK during the restore operation, such as when running `dotnet restore` or `dotnet build`. This folder is only used prior to .NET Core 3.0. It can't be built from source, because it contains prebuilt binary assets from `nuget.org`. +- (4) **sdk-manifests/\** The names and versions of the assets that an optional workload installation requires are maintained in [advertising manifests](tools/dotnet-workload-install.md#advertising-manifests) stored in this folder. When a workload is installed, the following folders are created as needed for the workload's assets: a *library-packs* folder, a *metadata* folder, and a *template-packs* folder. Include these folders if you want to install a workload and distribute the SDK with the workload included. The **shared** folder contains frameworks. A shared framework provides a set of libraries at a central location so they can be used by different applications. From e22a3e049e6ab6e0177a14363709890b579a3677 Mon Sep 17 00:00:00 2001 From: Tom Dykstra Date: Wed, 1 Dec 2021 13:57:33 -0800 Subject: [PATCH 2/5] address feedback --- docs/core/distribution-packaging.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/core/distribution-packaging.md b/docs/core/distribution-packaging.md index 045389dc1f8c2..ef0611dd12930 100644 --- a/docs/core/distribution-packaging.md +++ b/docs/core/distribution-packaging.md @@ -26,7 +26,7 @@ When installed, .NET consists of several components that are laid out as follows ├── sdk (*) │ └── (3) ├── sdk-manifests (4) (*) -│ └── +│ └── ├── library-packs (4) (*) ├── metadata (4) (*) │ └── workloads @@ -71,7 +71,7 @@ While there's a single host, most of the other components are in versioned direc - (3) **sdk/\** The SDK (also known as "the tooling") is a set of managed tools that are used to write and build .NET libraries and applications. The SDK includes the .NET CLI, the managed languages compilers, MSBuild, and associated build tasks and targets, NuGet, new project templates, and so on. -- (4) **sdk-manifests/\** The names and versions of the assets that an optional workload installation requires are maintained in [advertising manifests](tools/dotnet-workload-install.md#advertising-manifests) stored in this folder. When a workload is installed, the following folders are created as needed for the workload's assets: a *library-packs* folder, a *metadata* folder, and a *template-packs* folder. Include these folders if you want to install a workload and distribute the SDK with the workload included. +- (4) **sdk-manifests/\** The names and versions of the assets that an optional workload installation requires are maintained in workload manifests stored in this folder. This folder is the feature band version of the SDK. So for an SDK version such as 6.0.102, this folder would still be versioned at 6.0.100. When a workload is installed, the following folders are created as needed for the workload's assets: *library-packs*, *metadata*, and *template-packs*. A distribution can lay down an empty */metadata/workloads/\/userlocal* file if workloads should be installed under a user path rather than in the *dotnet* folder. For more information, see GitHub issue [dotnet/installer#12104](https://github.com/dotnet/installer/issues/12104). The **shared** folder contains frameworks. A shared framework provides a set of libraries at a central location so they can be used by different applications. From 45446c0a7627a23e4ca551010819741468040fe3 Mon Sep 17 00:00:00 2001 From: Tom Dykstra Date: Wed, 1 Dec 2021 14:02:49 -0800 Subject: [PATCH 3/5] tweak wording --- docs/core/distribution-packaging.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/core/distribution-packaging.md b/docs/core/distribution-packaging.md index ef0611dd12930..39cb01fb9914c 100644 --- a/docs/core/distribution-packaging.md +++ b/docs/core/distribution-packaging.md @@ -71,7 +71,7 @@ While there's a single host, most of the other components are in versioned direc - (3) **sdk/\** The SDK (also known as "the tooling") is a set of managed tools that are used to write and build .NET libraries and applications. The SDK includes the .NET CLI, the managed languages compilers, MSBuild, and associated build tasks and targets, NuGet, new project templates, and so on. -- (4) **sdk-manifests/\** The names and versions of the assets that an optional workload installation requires are maintained in workload manifests stored in this folder. This folder is the feature band version of the SDK. So for an SDK version such as 6.0.102, this folder would still be versioned at 6.0.100. When a workload is installed, the following folders are created as needed for the workload's assets: *library-packs*, *metadata*, and *template-packs*. A distribution can lay down an empty */metadata/workloads/\/userlocal* file if workloads should be installed under a user path rather than in the *dotnet* folder. For more information, see GitHub issue [dotnet/installer#12104](https://github.com/dotnet/installer/issues/12104). +- (4) **sdk-manifests/\** The names and versions of the assets that an optional workload installation requires are maintained in workload manifests stored in this folder. This folder is the feature band version of the SDK. So for an SDK version such as 6.0.102, this folder would still be versioned at 6.0.100. When a workload is installed, the following folders are created as needed for the workload's assets: *library-packs*, *metadata*, and *template-packs*. A distribution can create an empty */metadata/workloads/\/userlocal* file if workloads should be installed under a user path rather than in the *dotnet* folder. For more information, see GitHub issue [dotnet/installer#12104](https://github.com/dotnet/installer/issues/12104). The **shared** folder contains frameworks. A shared framework provides a set of libraries at a central location so they can be used by different applications. From 3e173d31803dac22a21a90fe1068bb27500bfe99 Mon Sep 17 00:00:00 2001 From: Tom Dykstra Date: Wed, 1 Dec 2021 14:08:02 -0800 Subject: [PATCH 4/5] tweak wording --- docs/core/distribution-packaging.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/core/distribution-packaging.md b/docs/core/distribution-packaging.md index 39cb01fb9914c..53d250f60aa99 100644 --- a/docs/core/distribution-packaging.md +++ b/docs/core/distribution-packaging.md @@ -71,7 +71,7 @@ While there's a single host, most of the other components are in versioned direc - (3) **sdk/\** The SDK (also known as "the tooling") is a set of managed tools that are used to write and build .NET libraries and applications. The SDK includes the .NET CLI, the managed languages compilers, MSBuild, and associated build tasks and targets, NuGet, new project templates, and so on. -- (4) **sdk-manifests/\** The names and versions of the assets that an optional workload installation requires are maintained in workload manifests stored in this folder. This folder is the feature band version of the SDK. So for an SDK version such as 6.0.102, this folder would still be versioned at 6.0.100. When a workload is installed, the following folders are created as needed for the workload's assets: *library-packs*, *metadata*, and *template-packs*. A distribution can create an empty */metadata/workloads/\/userlocal* file if workloads should be installed under a user path rather than in the *dotnet* folder. For more information, see GitHub issue [dotnet/installer#12104](https://github.com/dotnet/installer/issues/12104). +- (4) **sdk-manifests/\** The names and versions of the assets that an optional workload installation requires are maintained in workload manifests stored in this folder. The folder name is the feature band version of the SDK. So for an SDK version such as 6.0.102, this folder would still be named 6.0.100. When a workload is installed, the following folders are created as needed for the workload's assets: *library-packs*, *metadata*, and *template-packs*. A distribution can create an empty */metadata/workloads/\/userlocal* file if workloads should be installed under a user path rather than in the *dotnet* folder. For more information, see GitHub issue [dotnet/installer#12104](https://github.com/dotnet/installer/issues/12104). The **shared** folder contains frameworks. A shared framework provides a set of libraries at a central location so they can be used by different applications. From 8796efced32eee36d3a15fb979e72f89524ebff5 Mon Sep 17 00:00:00 2001 From: Tom Dykstra Date: Thu, 2 Dec 2021 13:24:47 -0800 Subject: [PATCH 5/5] Update docs/core/distribution-packaging.md Co-authored-by: Daniel Plaisted --- docs/core/distribution-packaging.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/core/distribution-packaging.md b/docs/core/distribution-packaging.md index 53d250f60aa99..60b948e98dc8a 100644 --- a/docs/core/distribution-packaging.md +++ b/docs/core/distribution-packaging.md @@ -30,7 +30,7 @@ When installed, .NET consists of several components that are laid out as follows ├── library-packs (4) (*) ├── metadata (4) (*) │ └── workloads -│ └── +│ └── ├── template-packs (4) (*) ├── packs (*) │ ├── Microsoft.AspNetCore.App.Ref (*)