Microsoft.NET.Build.Containers 7.0.406

The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org. Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package Microsoft.NET.Build.Containers --version 7.0.406
NuGet\Install-Package Microsoft.NET.Build.Containers -Version 7.0.406
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Microsoft.NET.Build.Containers" Version="7.0.406" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Microsoft.NET.Build.Containers --version 7.0.406
#r "nuget: Microsoft.NET.Build.Containers, 7.0.406"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Microsoft.NET.Build.Containers as a Cake Addin
#addin nuget:?package=Microsoft.NET.Build.Containers&version=7.0.406

// Install Microsoft.NET.Build.Containers as a Cake Tool
#tool nuget:?package=Microsoft.NET.Build.Containers&version=7.0.406

.NET SDK Containers

This package lets you build container images from your projects with a single command.

Getting Started

To build a container from the SDK, add this package and run the publish command, specifying the DefaultContainer PublishProfile. You can learn more about Publish Profiles in the documentation.

>dotnet add package Microsoft.NET.Build.Containers
>dotnet publish --os linux --arch x64 -p:PublishProfile=DefaultContainer
...
Pushed container '<your app name>:<your app version>' to registry 'docker://'
...

Out of the box, this package will infer a number of properties about the generated container image, including which base image to use, which version of that image to use, and where to push the generated image. You have control over all of these properties, however. You can read more about these customizations here.

Note: This package only supports Web projects (those that use the Microsoft.NET.Sdk.Web SDK) in this version.

There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

  • net7.0

    • No dependencies.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on Microsoft.NET.Build.Containers:

Package Downloads
UtilityBelt.Server

UBNet server.

IPP.PORTIC.SAFHE.Library

This software regards the project number 070200, SAFHE - Safe Health Elderly Monitoring, an EU funded project, and constitutes the technical contribution of the PORTIC-IPP together with the ESS-IPP (specifically both entities PORTIC - Porto Research, Technology and Innovation Center, and ESS - Escola Superior de Saúde, both sub-entities from the institution IPP - Instituto Politécnico do Porto) to the project.! The url of the project is: https://www.portic.ipp.pt/project.html

MultiChannelReportLog-ex-1

Package Description

GitHub repositories (7)

Showing the top 5 popular GitHub repositories that depend on Microsoft.NET.Build.Containers:

Repository Stars
fullstackhero/dotnet-webapi-starter-kit
production grade .net 8 webapi starter kit with multitenancy support and clean code. 🔥
microsoft/dotnet-podcasts
.NET reference application shown at .NET Conf featuring ASP.NET Core, Blazor, .NET MAUI, Microservices, Orleans, Playwright, and more!
davidfowl/TodoApi
Todo application with ASP.NET Core Blazor WASM, Minimal APIs and Authentication
asynkron/protoactor-dotnet
Proto Actor - Ultra fast distributed actors for Go, C# and Java/Kotlin
Azure/Industrial-IoT
Azure Industrial IoT Platform
Version Downloads Last updated
9.0.100-preview.3.24204.14 120 4/11/2024
9.0.100-preview.2.24157.36 157 3/12/2024
9.0.100-preview.1.24101.1 398 2/13/2024
8.0.204 6,732 4/9/2024
8.0.202 10,195 3/12/2024
8.0.200 21,032 2/13/2024
8.0.104 158 4/9/2024
8.0.103 194 3/12/2024
8.0.102 266 2/13/2024
8.0.101 25,746 1/9/2024
8.0.100 47,903 11/14/2023
8.0.100-rc.2.23480.5 2,010 10/10/2023
8.0.100-rc.1.23462.41 1,064 9/14/2023
8.0.100-rc.1.23455.21 507 9/12/2023
8.0.100-preview.7.23376.5 1,204 8/8/2023
8.0.100-preview.6.23330.7 1,081 7/11/2023
8.0.100-preview.5.23303.1 1,017 6/13/2023
8.0.100-preview.4.23260.11 985 5/16/2023
7.0.408 940 4/9/2024
7.0.407 1,625 3/12/2024
7.0.406 4,092 2/13/2024
7.0.405 19,786 1/9/2024
7.0.404 19,686 11/14/2023
7.0.403 29,731 10/24/2023
7.0.402 15,218 10/10/2023
7.0.401 48,132 9/12/2023
7.0.400 106,543 8/8/2023
7.0.315 155 4/9/2024
7.0.314 193 3/12/2024
7.0.313 221 2/13/2024
7.0.312 194 1/9/2024
7.0.311 287 11/14/2023
7.0.310 315 10/24/2023
7.0.309 355 10/10/2023
7.0.308 391 9/12/2023
7.0.307 6,641 8/8/2023
7.0.306 44,805 7/11/2023
7.0.305 31,562 6/22/2023
7.0.304 13,932 6/13/2023
7.0.302 65,010 5/16/2023
0.4.0 184,850 3/22/2023
0.3.2 172,728 1/20/2023
0.2.7 141,780 10/27/2022
0.1.8 14,366 8/25/2022

# Microsoft.NET.Build.Containers 7.0.400

This version brings the following new features and enhancements:

* For WebSdk projects (and any project that includes the `Microsoft.NET.Publish.Sdk` SDK), the container tools are included and available by default! This means that you no longer need to set the `EnableSdkContainerSupport` property in your project files or include the `Microsoft.NET.Build.Containers` package in your projects in order to publish containers. For project types that do not include the Publish SDK (like console or webjob projects), you still must add the `Microsoft.NET.Build.Containers` NuGet package as a PackageReference to your project, and publish using the `/t:PublishContainer` target explicitly.
* When targeting `net8.0` TargetFrameworks during preview release time frames, the inferred preview image will be more correct. Previously it could get out of sync with the actual image tagging scheme used by the dotnet-docker team.
* The layer upload process was massively refactored. This resulted in more performance, more reliability, and better support for more kinds of registries. As part of this, we now try the following upload algorithm for a layer:
   * Try to upload the whole layer in one compressed payload
   * If that fails, try to upload in chunks
   * When uploading chunks, we look for indicators from the registry to choose the chunk size

   In addition, we fixed some protocol bugs that blocked usage with registries like Harbor.
* Several environment variables were added to allow more explicit control over the layer upload process:
   * SDK_CONTAINER_REGISTRY_PARALLEL_UPLOAD
       * determines if layers of the generated image can be uploaded in parallel or in series.
       * defaults to `true` for all registries except AWS ECR
   * SDK_CONTAINER_DEBUG_REGISTRY_FORCE_CHUNKED_UPLOAD
       * if set to `true`, we will always try to upload layers in chunks instead of all in one upload.
       * defaults to `false`.
   * SDK_CONTAINER_REGISTRY_CHUNKED_UPLOAD_SIZE_BYTES
       * allows for explicit control over the size of the chunks uploaded when using chunked uploads.
       * note that by default we prefer atomic uploads, so setting this might not have any impact if your registry supports atomic uploads.
       * does not have a default, but the default chunk size is 64Kb.
* Naming is important, so we've renamed the `ContainerImageName` property to `ContainerRepository`. Repository is the name used for the user-facing image (for example `dotnet/runtime`), and it's used this way in most container documentation, so we've adopted that naming to make it easier to keep the terminology aligned. We still handle `ContainerImageName`, but we now will emit a validation warning during the publish if that property is used.
* The default OS for inferred containers is now `linux` instead of `windows`. Windows container usage is much less than Linux container usage, and we should default to the most likely configuration to make the onbaording story for the tooling easier. You can always control this explicitly by publishing for a specific `RuntimeIdentifier` (via the `-r` parameter or the `RuntimeIdentifier` MSBuild property) or setting the `ContainerRuntimeIdentifier` to a valid runtime identifier value.
* We added read support for OCI Container manifests. Practically speaking this means that you can now use base images from registries like Quay.io, Artifactory, and Docker Hub that typically send image manifests in this format instead of the older Docker-based format.