CI to automate build of dotnet tarball for dotnet6-sdk aport https://gitlab.alpinelinux.org/alpine/aports/-/tree/master/community/dotnet6-sdk
Find a file
2022-12-04 12:12:11 +02:00
.config [main] Update dependencies from dotnet/emsdk dotnet/arcade-services (#15074) 2022-12-01 16:39:07 +00:00
.devcontainer Use latest docker containers (#14645) 2022-10-04 15:07:04 -07:00
eng Update dependencies from https://github.com/dotnet/source-build-externals build 20221201.1 (#15082) 2022-12-02 10:26:19 -08:00
resources/images Remove ImportAfter target for NuGet 2017-10-25 16:41:57 -07:00
src Add instructions to build using Docker into VMR's README (#15073) 2022-12-02 15:12:56 +01:00
test Switch to the rtm release version for templates. 2022-11-10 16:19:34 -08:00
TestAssets Fix console tests 2022-09-06 16:50:00 -07:00
tools/sdk-readme-table-generator use correct framework 2022-12-04 12:12:11 +02:00
.editorconfig Checkin corefx editorconfig 2017-09-18 10:23:06 -07:00
.gitattributes Treat xlf as text 2017-12-07 16:00:07 -08:00
.gitignore Support setting "partition" for arcade to avoid conflicts of .dotnet and artifacts folders 2019-08-30 08:53:22 -07:00
.vsts-ci.yml Use VMR instead of the tarball for Source-Build builds (#15042) 2022-12-01 10:51:39 +01:00
build.cmd Bypass powershell execution policy 2017-03-15 14:01:27 -07:00
build.sh Switch repo to use native AzDO container support (#14541) 2022-09-27 11:15:12 -07:00
CODE-OF-CONDUCT.md Link Code of Conduct 2020-04-02 13:48:35 -07:00
CODEOWNERS Set dotnet/product-construction as code owners for src/VirtualMonoRepo (#14802) 2022-10-20 08:03:15 -07:00
CONTRIBUTING.md Making this repo consume the dotnet-sdk-internal zip and produce a full core-sdk by using sdk-internal, runtime, lzma, templates and store. Also deleted a bunch of now, unecessary code. I am sure there is more to be deleted though. 2017-10-13 10:45:50 -07:00
Directory.Build.props [automated] Merge branch 'release/7.0.1xx' => 'release/7.0.2xx' (#14723) 2022-11-14 09:52:14 -06:00
Directory.Build.targets [main] Update dependencies from dotnet/sdk (#10023) 2021-03-26 23:45:47 +00:00
Downloads2.x.md Fix download links 2020-02-28 15:22:23 -08:00
global.json Update dependencies from https://github.com/dotnet/arcade build 20221129.2 (#15062) 2022-11-30 08:23:50 -08:00
LICENSE [master] Update dependencies from dotnet/arcade (#1056) 2019-03-20 21:42:05 +00:00
Microsoft.DotNet.Cli.sln Adding SDK resolver project back 2021-05-06 11:23:31 -07:00
Native.sln Add support for arm platform 2022-10-21 14:47:40 -05:00
NuGet.config Update dependencies from https://github.com/dotnet/sdk build 20221114.10 2022-11-14 20:08:32 +00:00
PULL_REQUEST_TEMPLATE Update pull request template (#7288) 2020-04-24 11:06:59 -07:00
README.md Use ".NET" in preference to ".NET Core" (#14902) 2022-11-29 15:31:11 -07:00
run-build.ps1 Add support for building a PGO installer copy (#9877) 2021-03-24 01:02:14 -07:00
run-build.sh Merge changes from release/6.0.2xx 2021-12-02 15:38:30 -08:00
SECURITY.md Add SECURITY.md 2020-02-26 01:44:53 +00:00
source-build.slnf Adding SDK resolver project back 2021-05-06 11:23:31 -07:00
THIRD-PARTY-NOTICES Add license text to LZMA SDK license notice 2017-02-26 12:11:05 -08:00

.NET SDK Installers

Join the chat at https://gitter.im/dotnet/cli GitHub release GitHub repo size GitHub issues-opened GitHub issues-closed GitHub pulls-opened GitHub pulls-merged GitHub pulls-unmerged GitHub contributors Commit Activity

This repo contains the source code for the cross-platform .NET SDK. It aggregates the .NET toolchain, the .NET runtime, the templates, and the .NET Windows Desktop runtime. It produces zip, tarballs, and native packages for various supported platforms.

Looking for released versions of the .NET tooling?

The links below are for preview versions of .NET tooling. Prefer to use released versions of the .NET tools? Go to https://dot.net/download.

Looking for .NET Framework downloads?

.NET Framework is the product from which the .NET Core project originated. .NET Core (mostly just called ".NET" here) adds many features and improvements and supports many more platforms than .NET Framework. .NET Framework remains fully supported and you can find the downloads on the .NET website. For new projects, we recommend you use .NET Core.

Want to contribute or find out more about the .NET project?

This repo is for the installers. Most of the implementation is in other repos, such as the dotnet/runtime repo or the dotnet/aspnetcore repo and many others. We welcome you to join us there!

Found an issue?

You can consult the Documents Index for the SDK repo to find out current issues, see workarounds, and to see how to file new issues.

This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information, see the .NET Foundation Code of Conduct.

Build .NET installer

The repository contains native code project required for the Windows installer. If you intend to build it locally on Windows, you will need to ensure that you have the following items installed.

  • Install CMAKE 3.21.0 is required if you're building VS 17.0. Make sure to add CMAKE to your PATH (the installer will prompt you).

  • Install MSVC Build tools for x86/x64/arm64, v14.28-16.9

  • build for basic build

  • build -pack to build the installer

  • To build in VS, run a command line build first, then run artifacts\core-sdk-build-env.bat from a VS command prompt and then devenv Microsoft.DotNet.Cli.sln

  • To test different languages of the installer, run artifacts\packages\Debug\Shipping>dotnet-sdk-3.1.412-win-x64.exe /lang 1046 using the LCID of the language you want to test

Build .NET from source (source-build)

This repo also contains code to help you build the entire .NET product end-to-end from source (often referred to as source-build), even in disconnected/offline mode. Please see the dotnet/source-build repo for more information.

Support

.NET Source-Build is supported on the oldest available .NET SDK feature update, and on Linux only. For example, if both .NET 6.0.1XX and 6.0.2XX feature updates are available from dotnet.microsoft.com, Source-Build will only support 6.0.1XX. For the latest information about Source-Build support for new .NET versions, please check our GitHub Discussions page for announcements.

Prerequisites

The dependencies for building .NET from source can be found here.

Building

  1. Create a .NET source tarball.

    ./build.sh /p:ArcadeBuildTarball=true /p:TarballDir=/path/to/place/complete/dotnet/sources
    

    This fetches the complete .NET source code and creates a tarball at artifacts/packages/<Release|Debug>/Shipping/. The extracted source code is also placed at /path/to/place/complete/dotnet/sources. The source directory should be outside (and not somewhere under) the installer directory.

  2. Prep the source to build on your distro. This downloads a .NET SDK and a number of .NET packages needed to build .NET from source.

    cd /path/to/complete/dotnet/sources
    ./prep.sh
    

    On arm64, please use ./prep.sh --bootstrap instead.

  3. Build the .NET SDK

    ./build.sh --clean-while-building
    

    This builds the entire .NET SDK from source. The resulting SDK is placed at artifacts/x64/Release/dotnet-sdk-6.0.100-fedora.33-x64.tar.gz.

    Optionally add the --online flag to add online NuGet restore sources to the build. This is useful for testing unsupported releases that don't yet build without downloading pre-built binaries from the internet.

    Run ./build.sh --help to see more information about supported build options.

  4. (Optional) Unpack and install the .NET SDK

    mkdir -p $HOME/dotnet
    tar zxf artifacts/x64/Release/dotnet-sdk-6.0.100-fedora.33-x64.tar.gz -C $HOME/dotnet
    ln -s $HOME/dotnet/dotnet /usr/bin/dotnet
    

    To test your source-built SDK, run the following:

    dotnet --info
    

Build status

Visibility All legs
Public Status
Microsoft Internal Status

Installers and Binaries

You can download the .NET SDK as either an installer (MSI, PKG) or a zip (zip, tar.gz). The .NET SDK contains both the .NET runtime and CLI tools.

Note: Be aware that the following installers are the latest bits. If you want to install the latest released versions, check out the preceding section. With development builds, internal NuGet feeds are necessary for some scenarios (for example, to acquire the runtime pack for self-contained apps). You can use the following NuGet.config to configure these feeds. See the following document Configuring NuGet behavior for more information on where to modify your NuGet.config to apply the changes.

For .NET 8 builds

<configuration>
  <packageSources>
    <add key="dotnet8" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet8/nuget/v3/index.json" />
  </packageSources>
</configuration>

For .NET 7 builds

<configuration>
  <packageSources>
    <add key="dotnet7" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet7/nuget/v3/index.json" />
  </packageSources>
</configuration>

Do not directly edit the table below. Use https://github.com/dotnet/installer/tree/main/tools/sdk-readme-table-generator to help you generate it. Make sure to run the table generator test and make any changes to the generator along with your changes to the table. Daily servicing builds aren't shown here because they may contain upcoming security fixes. All public servicing builds can be downloaded at http://aka.ms/dotnet-download.

Table

Note the 7.0.100 build will be finished internally. Below is the last public version available from that branch but is not fully updated with the final runtime.

Platform main
(8.0.x Runtime)
Release/7.0.2xx
(7.0.x Runtime)
Windows x64
Installer - Checksum
zip - Checksum

Installer - Checksum
zip - Checksum
Windows x86
Installer - Checksum
zip - Checksum

Installer - Checksum
zip - Checksum
Windows arm N/A N/A
Windows arm64
Installer - Checksum
zip

Installer - Checksum
zip
macOS x64
Installer - Checksum
tar.gz - Checksum

Installer - Checksum
tar.gz - Checksum
macOS arm64
Installer - Checksum
tar.gz - Checksum

Installer - Checksum
tar.gz - Checksum
Linux x64
DEB Installer - Checksum
RPM Installer - Checksum
see installer note below1
tar.gz - Checksum

DEB Installer - Checksum
RPM Installer - Checksum
see installer note below1
tar.gz - Checksum
Linux arm
tar.gz - Checksum

tar.gz - Checksum
Linux arm64
tar.gz - Checksum

tar.gz - Checksum
Linux-musl-x64
tar.gz - Checksum

tar.gz - Checksum
Linux-musl-arm
tar.gz - Checksum

tar.gz - Checksum
Linux-musl-arm64
tar.gz - Checksum

tar.gz - Checksum
RHEL 6 N/A N/A

Reference notes:

1: Our Debian packages are put together slightly differently than the other OS specific installers. Instead of combining everything, we have separate component packages that depend on each other. If you're installing the SDK from the .deb file (via dpkg or similar), then you'll need to install the corresponding dependencies first:

.NET Core SDK 2.x downloads can be found at .NET Core SDK 2.x Installers and Binaries but they are out of support.

Looking for dotnet-install sources?

Sources for dotnet-install.sh and dotnet-install.ps1 are in the install-scripts repo.

Questions & Comments

For all feedback, use the Issues on the .NET SDK repository.

License

By downloading the .zip you are agreeing to the terms in the project EULA.