Skip to content

Commit f6cd238

Browse files
authored
Add optional workload folders (#27357)
1 parent 26e9dbf commit f6cd238

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

docs/core/distribution-packaging.md

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: .NET distribution packaging
33
description: Learn how to package, name, and version .NET for distribution.
44
author: tmds
5-
ms.date: 10/09/2019
5+
ms.date: 12/01/2021
66
---
77
# .NET distribution packaging
88

@@ -24,8 +24,14 @@ When installed, .NET consists of several components that are laid out as follows
2424
│ └── fxr (*)
2525
│ └── <fxr version> (2)
2626
├── sdk (*)
27-
│ ├── <sdk version> (3)
28-
│ └── NuGetFallbackFolder (4) (*)
27+
│ └── <sdk version> (3)
28+
├── sdk-manifests (4) (*)
29+
│ └── <sdk feature band version>
30+
├── library-packs (4) (*)
31+
├── metadata (4) (*)
32+
│ └── workloads
33+
│ └── <sdk feature band version>
34+
├── template-packs (4) (*)
2935
├── packs (*)
3036
│ ├── Microsoft.AspNetCore.App.Ref (*)
3137
│ │ └── <aspnetcore ref version> (11)
@@ -65,7 +71,7 @@ While there's a single host, most of the other components are in versioned direc
6571

6672
- (3) **sdk/\<sdk version>** 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.
6773

68-
- (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`.
74+
- (4) **sdk-manifests/\<sdk feature band version>** 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/\<sdkfeatureband>/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).
6975

7076
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.
7177

0 commit comments

Comments
 (0)