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
Daniel Plaisted f8e115fadf Don't set ulimit
1ES pools should now have ulimit set already now
2021-11-29 20:19:30 -08:00
eng Update Windows SDK projection 2021-11-17 14:08:28 -08:00
resources/images Remove ImportAfter target for NuGet 2017-10-25 16:41:57 -07:00
src Remove 2.1 templates from dynamic templates (#12511) 2021-11-18 19:57:14 +00:00
test Revert "Update the WD publish tests to target downlevel as well" 2021-11-15 12:44:03 -08:00
TestAssets Switch to calling RAR directly 2021-04-26 12:27:53 -07:00
tools/sdk-readme-table-generator [ArPow Tarball] Tier 3 - Add roslyn-analyzers repo to arpow tarball (#11114) 2021-08-24 15:33:44 +00: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 Port #12374 to release/6.0.1xx (#12636) 2021-11-15 08:37:04 -08:00
build.cmd Bypass powershell execution policy 2017-03-15 14:01:27 -07:00
build.sh Don't set ulimit 2021-11-29 20:19:30 -08:00
CODE-OF-CONDUCT.md Link Code of Conduct 2020-04-02 13:48:35 -07:00
CODEOWNERS Fix codeowners path (#11000) 2021-06-28 16:36:12 -05: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 Add support for s390x architecture 2021-09-17 22:47:29 +02: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 20211110.2 (#12633) 2021-11-10 23:05:56 +00: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 Optional Workload: Finalizer (#10356) 2021-05-04 20:55:39 -07:00
NuGet.config Update dependencies from https://github.com/dotnet/arcade build 20211108.5 (#12630) 2021-11-10 19:49:57 +00:00
PULL_REQUEST_TEMPLATE Update pull request template (#7288) 2020-04-24 11:06:59 -07:00
README.md Document how to build source-build (#12242) 2021-10-07 13:13:50 -05:00
run-build.ps1 Add support for building a PGO installer copy (#9877) 2021-03-24 01:02:14 -07:00
run-build.sh Don't set ulimit 2021-11-29 20:19: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 Core SDK

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 Core SDK. It aggregates the .NET Toolchain, the .NET Core runtime, the templates, and the .NET Core Windows Desktop runtime. It produces zip, tarballs, and native packages for various supported platforms.

Looking for released versions of the .NET Core tooling?

Download released versions of the .NET Core tools (CLI, MSBuild and the new csproj) at https://dot.net/core.

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.

Building

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

Building (source-build)

This repo also contains code to help you build the entire .NET product end-to-end from sources (often referred to as source-build), even in disconnected/offline mode. This is currently only tested on Linux.

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

    This fetches the complete set of source code used to build the .NET SDK. It creates a tarball of the complete .NET source code at artifacts/packages/<Release|Debug>/Shipping/. It also places the extracted sources at /path/to/place/complete/dotnet/sources. Due to a few known issues, that source directory should be outside (and not somewhere under) this repository.

  2. cd /path/to/complete/dotnet/sources

  3. ./prep.sh --bootstrap

    This downloads a .NET SDK and a number of .NET packages and other prebuilts needed to build .NET from source.

    Eventually, we want to make it possible to bootstrap .NET 6 in which case this step can be skipped.

  4. ./build.sh

    This builds the entire .NET SDK. The resulting SDK is placed at artifacts/$ARCH/Release/dotnet-sdk-$VERSION-$ARCH.tar.gz.

Build status

All legs
Build Status

Installers and Binaries

You can download the .NET Core SDK as either an installer (MSI, PKG) or a zip (zip, tar.gz). The .NET Core SDK contains both the .NET Core 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.

Example:

For .NET 6 builds

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

Note: that you may need to add the dotnet5 feed for a short period of time while .NET transitions to .NET 6

For .NET 6 Optional workloads

We strongly recommend using --skip-manifest-update with dotnet workload install as otherwise you could pick up a random build of various workloads as we'll automatically update to the newest one available on the feed.

<configuration>
  <packageSources>
    <add key="maui" value="https://pkgs.dev.azure.com/azure-public/vside/_packaging/xamarin-impl/nuget/v3/index.json" />
  </packageSources>
</configuration>

For .NET 5 builds

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

For .NET 3.1 builds

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

Please 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.

Platform Release/6.0.1XX
(6.0.x Runtime)
Release/6.0.1XX-rc1
(6.0 Runtime)
Release/5.0.4XX
(5.0 Runtime)
Release/5.0.2XX
(5.0 Runtime)
Release/3.1.4XX
(3.1.x Runtime)
Release/3.1.1XX
(3.1.x Runtime)
Windows x64
Installer - Checksum
zip - Checksum

Installer - Checksum
zip - Checksum

Installer - Checksum
zip - Checksum

Installer - Checksum
zip - Checksum

Installer - Checksum
zip - Checksum

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

Installer - Checksum
zip - Checksum

Installer - Checksum
zip - Checksum

Installer - Checksum
zip - Checksum

Installer - Checksum
zip - Checksum

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

zip - Checksum
Windows arm64
Installer - Checksum
zip

Installer - Checksum
zip

Installer - Checksum
zip

Installer - Checksum
zip
N/A N/A
macOS x64
Installer - Checksum
tar.gz - Checksum

Installer - Checksum
tar.gz - Checksum

Installer - Checksum
tar.gz - Checksum

Installer - Checksum
tar.gz - Checksum

Installer - Checksum
tar.gz - Checksum

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

Installer - Checksum
tar.gz - Checksum
N/A N/A N/A N/A
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

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

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

tar.gz - Checksum

tar.gz - Checksum

tar.gz - Checksum

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

tar.gz - Checksum

tar.gz - Checksum

tar.gz - Checksum

tar.gz - Checksum

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

tar.gz - Checksum

tar.gz - Checksum

tar.gz - Checksum

tar.gz - Checksum

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

tar.gz - Checksum

tar.gz - Checksum

tar.gz - Checksum
N/A N/A
Linux-musl-arm64
tar.gz - Checksum

tar.gz - Checksum

tar.gz - Checksum

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

tar.gz - Checksum

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 here: .NET Core SDK 2.x Installers and Binaries

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 CLI repository.

License

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