91953ec1c0
* Update dependencies from https://github.com/dotnet/arcade build 20220812.2 (#14326) Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.CMake.Sdk From Version 6.0.0-beta.22411.3 -> To Version 6.0.0-beta.22412.2 Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Update dependencies from https://github.com/dotnet/source-build-reference-packages build 20220819.1 Microsoft.SourceBuild.Intermediate.source-build-reference-packages From Version 6.0.0-servicing.22413.1 -> To Version 6.0.0-servicing.22419.1 * Update dependencies from https://github.com/dotnet/arcade build 20220818.4 (#14354) [release/7.0.1xx] Update dependencies from dotnet/arcade - Coherency Updates: - Microsoft.SourceLink.GitHub: from 1.2.0-beta-22410-01 to 1.2.0-beta-22416-01 (parent: Microsoft.DotNet.Arcade.Sdk) - Microsoft.DotNet.XliffTasks: from 1.0.0-beta.22409.1 to 1.0.0-beta.22415.3 (parent: Microsoft.DotNet.Arcade.Sdk) * Update dependencies from https://github.com/dotnet/source-build-reference-packages build 20220819.2 Microsoft.SourceBuild.Intermediate.source-build-reference-packages From Version 6.0.0-servicing.22419.1 -> To Version 6.0.0-servicing.22419.2 * Enable BlazorWasm source-build test (#14346) * Add llvm-project to source-build. (#14184) (#14314) * Add llvm-project to source-build. * Add repo references to llvm-project. * Add source-build metadata. * Upgrade CI to CentOS Stream 8. * Fix the image name in the right place. * Patch llvm to use an MS.Build.Traversal that we have. * Add backport PR to patch. * Revert "Upgrade CI to CentOS Stream 8." This reverts commit 6bc2754d5e3eecddc1788555c196f272567312bf. * Update to avoid new MSBuild warning that causes build failure. * We use code out of the LLVM directory. Copy the license file from there to the root to satisfy the license checker. * Add SourceBuild.props to llvm. * Update patches with backport PR pointers. * Update poison baseline. (#14345) * Update poison baseline. * Fix RIDs by replacing with placeholders. * Exclude a few more non-binary file types from poison checking. * Ignore empty files when checking for poison. * Update baseline with new exclusions. * Poison report can have both portable and non-portable RIDs in it, remove both. * Update dependencies from https://github.com/dotnet/sdk build 20220823.8 (#14371) Microsoft.DotNet.Common.ItemTemplates , Microsoft.DotNet.MSBuildSdkResolver , Microsoft.NET.Sdk , Microsoft.TemplateEngine.Cli From Version 7.0.100-rc.2.22416.39 -> To Version 7.0.100-rc.2.22423.8 Dependency coherency updates Microsoft.WindowsDesktop.App.Ref,VS.Redist.Common.WindowsDesktop.SharedFramework.x64.7.0,VS.Redist.Common.WindowsDesktop.TargetingPack.x64.7.0,Microsoft.NETCore.App.Runtime.win-x64,runtime.linux-x64.Microsoft.NETCore.Runtime.ObjWriter,Microsoft.NETCore.App.Ref,VS.Redist.Common.NetCore.TargetingPack.x64.7.0,Microsoft.NETCore.App.Host.win-x64,Microsoft.NETCore.DotNetHostResolver,Microsoft.NETCore.Platforms,Microsoft.AspNetCore.App.Ref,Microsoft.AspNetCore.App.Ref.Internal,Microsoft.AspNetCore.App.Runtime.win-x64,VS.Redist.Common.AspNetCore.SharedFramework.x64.7.0,dotnet-dev-certs,dotnet-user-jwts,dotnet-user-secrets,Microsoft.WindowsDesktop.App.Runtime.win-x64,Microsoft.Dotnet.WinForms.ProjectTemplates,Microsoft.WindowsDesktop.App.Runtime.win-x64,Microsoft.DotNet.Wpf.ProjectTemplates,Microsoft.FSharp.Compiler,Microsoft.SourceBuild.Intermediate.fsharp,Microsoft.Net.Compilers.Toolset,Microsoft.Build,NuGet.Build.Tasks,VS.Redist.Common.NetCore.SharedFramework.x64.7.0,Microsoft.NET.Workload.Emscripten.Manifest-7.0.100 From Version 7.0.0-rc.1.22379.3 -> To Version 7.0.0-rc.2.22422.9 (parent: Microsoft.NET.Sdk Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Update dependencies from https://github.com/dotnet/sdk build 20220823.25 Microsoft.DotNet.Common.ItemTemplates , Microsoft.DotNet.MSBuildSdkResolver , Microsoft.NET.Sdk , Microsoft.TemplateEngine.Cli From Version 7.0.100-rc.2.22423.13 -> To Version 7.0.100-rc.2.22423.25 Dependency coherency updates Microsoft.WindowsDesktop.App.Ref,VS.Redist.Common.WindowsDesktop.SharedFramework.x64.7.0,VS.Redist.Common.WindowsDesktop.TargetingPack.x64.7.0,Microsoft.WindowsDesktop.App.Runtime.win-x64,Microsoft.Dotnet.WinForms.ProjectTemplates,Microsoft.WindowsDesktop.App.Runtime.win-x64,Microsoft.DotNet.Wpf.ProjectTemplates From Version 7.0.0-rc.2.22422.9 -> To Version 7.0.0-rc.2.22423.4 (parent: Microsoft.NET.Sdk * Dependency coherency updates (#14365) runtime.linux-x64.Microsoft.NETCore.Runtime.ObjWriter From Version 1.0.0-alpha.1.22364.1 -> To Version 1.0.0-alpha.1.22364.1 (parent: Microsoft.NETCore.App.Runtime.win-x64 Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Dependency coherency updates runtime.linux-x64.Microsoft.NETCore.Runtime.ObjWriter From Version 1.0.0-alpha.1.22411.1 -> To Version 1.0.0-alpha.1.22411.1 (parent: Microsoft.NETCore.App.Runtime.win-x64 * Update source-build build images (#14321) * Fix aspnetcore offline build when nodejs is installed * Remove centos7 and 8, replace with stream 8 * Change Fedora 33 container to Fedora 36 * Revert "Change Fedora 33 container to Fedora 36" * Remove unused debian container definition * Add extra packages needed for bootstrapping arm64 * Use PackageDownloads for bootstrapping PSB artifacts and update prebuilts version Co-authored-by: Chris Rummel <crummel@microsoft.com> * Prevent System.Memory package downgrade in razor-compiler (#14384) (#14391) * Revert "Add razor-compiler patch to fix bootstrap build (#14379)" This reverts commit 1ebb3eb8b8b9364196f4db421ad27d30ff00d11d. * Add razor-compiler patch to prevent System.Memory downgrades * Add roslyn patch to lift System.Memory version * Use -svc pool provider in release branches * [release/7.0.1xx] Update dependencies from dotnet/sdk (#14381) * Update dependencies from https://github.com/dotnet/sdk build 20220823.30 Microsoft.DotNet.Common.ItemTemplates , Microsoft.DotNet.MSBuildSdkResolver , Microsoft.NET.Sdk , Microsoft.TemplateEngine.Cli From Version 7.0.100-rc.2.22423.25 -> To Version 7.0.100-rc.2.22423.30 Dependency coherency updates runtime.linux-x64.Microsoft.NETCore.Runtime.ObjWriter,Microsoft.AspNetCore.App.Ref,Microsoft.AspNetCore.App.Ref.Internal,Microsoft.AspNetCore.App.Runtime.win-x64,VS.Redist.Common.AspNetCore.SharedFramework.x64.7.0,dotnet-dev-certs,dotnet-user-jwts,dotnet-user-secrets,Microsoft.NET.ILLink.Tasks From Version 1.0.0-alpha.1.22411.1 -> To Version 1.0.0-alpha.1.22411.1 (parent: Microsoft.NETCore.App.Runtime.win-x64 * Update dependencies from https://github.com/dotnet/sdk build 20220823.32 Microsoft.DotNet.Common.ItemTemplates , Microsoft.DotNet.MSBuildSdkResolver , Microsoft.NET.Sdk , Microsoft.TemplateEngine.Cli From Version 7.0.100-rc.2.22423.25 -> To Version 7.0.100-rc.2.22423.32 Dependency coherency updates runtime.linux-x64.Microsoft.NETCore.Runtime.ObjWriter,Microsoft.AspNetCore.App.Ref,Microsoft.AspNetCore.App.Ref.Internal,Microsoft.AspNetCore.App.Runtime.win-x64,VS.Redist.Common.AspNetCore.SharedFramework.x64.7.0,dotnet-dev-certs,dotnet-user-jwts,dotnet-user-secrets,Microsoft.NET.ILLink.Tasks From Version 1.0.0-alpha.1.22411.1 -> To Version 1.0.0-alpha.1.22411.1 (parent: Microsoft.NETCore.App.Runtime.win-x64 * Update dependencies from https://github.com/dotnet/sdk build 20220824.4 Microsoft.DotNet.Common.ItemTemplates , Microsoft.DotNet.MSBuildSdkResolver , Microsoft.NET.Sdk , Microsoft.TemplateEngine.Cli From Version 7.0.100-rc.2.22423.25 -> To Version 7.0.100-rc.2.22424.4 Dependency coherency updates runtime.linux-x64.Microsoft.NETCore.Runtime.ObjWriter,Microsoft.AspNetCore.App.Ref,Microsoft.AspNetCore.App.Ref.Internal,Microsoft.AspNetCore.App.Runtime.win-x64,VS.Redist.Common.AspNetCore.SharedFramework.x64.7.0,dotnet-dev-certs,dotnet-user-jwts,dotnet-user-secrets,Microsoft.NET.ILLink.Tasks,Microsoft.Net.Compilers.Toolset From Version 1.0.0-alpha.1.22411.1 -> To Version 1.0.0-alpha.1.22411.1 (parent: Microsoft.NETCore.App.Runtime.win-x64 * Update dependencies from https://github.com/dotnet/sdk build 20220824.9 Microsoft.DotNet.Common.ItemTemplates , Microsoft.DotNet.MSBuildSdkResolver , Microsoft.NET.Sdk , Microsoft.TemplateEngine.Cli From Version 7.0.100-rc.2.22423.25 -> To Version 7.0.100-rc.2.22424.9 Dependency coherency updates runtime.linux-x64.Microsoft.NETCore.Runtime.ObjWriter,Microsoft.AspNetCore.App.Ref,Microsoft.AspNetCore.App.Ref.Internal,Microsoft.AspNetCore.App.Runtime.win-x64,VS.Redist.Common.AspNetCore.SharedFramework.x64.7.0,dotnet-dev-certs,dotnet-user-jwts,dotnet-user-secrets,Microsoft.NET.ILLink.Tasks,Microsoft.Net.Compilers.Toolset From Version 1.0.0-alpha.1.22411.1 -> To Version 1.0.0-alpha.1.22411.1 (parent: Microsoft.NETCore.App.Runtime.win-x64 * Update dependencies from https://github.com/dotnet/sdk build 20220824.14 Microsoft.DotNet.Common.ItemTemplates , Microsoft.DotNet.MSBuildSdkResolver , Microsoft.NET.Sdk , Microsoft.TemplateEngine.Cli From Version 7.0.100-rc.2.22423.25 -> To Version 7.0.100-rc.2.22424.14 Dependency coherency updates runtime.linux-x64.Microsoft.NETCore.Runtime.ObjWriter,Microsoft.AspNetCore.App.Ref,Microsoft.AspNetCore.App.Ref.Internal,Microsoft.AspNetCore.App.Runtime.win-x64,VS.Redist.Common.AspNetCore.SharedFramework.x64.7.0,dotnet-dev-certs,dotnet-user-jwts,dotnet-user-secrets,Microsoft.NET.ILLink.Tasks,Microsoft.Net.Compilers.Toolset From Version 1.0.0-alpha.1.22411.1 -> To Version 1.0.0-alpha.1.22411.1 (parent: Microsoft.NETCore.App.Runtime.win-x64 * Resolve llvm source-build patch conflict Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: MichaelSimons <msimons@microsoft.com> * Remove XDT dependency and patch (#14395) * [release/7.0.1xx] Update dependencies from dotnet/sdk (#14396) [release/7.0.1xx] Update dependencies from dotnet/sdk - Coherency Updates: - Microsoft.WindowsDesktop.App.Ref: from 7.0.0-rc.2.22423.4 to 7.0.0-rc.2.22424.8 (parent: Microsoft.NET.Sdk) - VS.Redist.Common.WindowsDesktop.SharedFramework.x64.7.0: from 7.0.0-rc.2.22423.4 to 7.0.0-rc.2.22424.8 (parent: Microsoft.NET.Sdk) - VS.Redist.Common.WindowsDesktop.TargetingPack.x64.7.0: from 7.0.0-rc.2.22423.4 to 7.0.0-rc.2.22424.8 (parent: Microsoft.NET.Sdk) - Microsoft.AspNetCore.App.Ref: from 7.0.0-rc.2.22423.16 to 7.0.0-rc.2.22424.4 (parent: Microsoft.NET.Sdk) - Microsoft.AspNetCore.App.Ref.Internal: from 7.0.0-rc.2.22423.16 to 7.0.0-rc.2.22424.4 (parent: Microsoft.NET.Sdk) - Microsoft.AspNetCore.App.Runtime.win-x64: from 7.0.0-rc.2.22423.16 to 7.0.0-rc.2.22424.4 (parent: Microsoft.NET.Sdk) - VS.Redist.Common.AspNetCore.SharedFramework.x64.7.0: from 7.0.0-rc.2.22423.16 to 7.0.0-rc.2.22424.4 (parent: Microsoft.NET.Sdk) - dotnet-dev-certs: from 7.0.0-rc.2.22423.16 to 7.0.0-rc.2.22424.4 (parent: Microsoft.NET.Sdk) - dotnet-user-jwts: from 7.0.0-rc.2.22423.16 to 7.0.0-rc.2.22424.4 (parent: Microsoft.NET.Sdk) - dotnet-user-secrets: from 7.0.0-rc.2.22423.16 to 7.0.0-rc.2.22424.4 (parent: Microsoft.NET.Sdk) - Microsoft.WindowsDesktop.App.Runtime.win-x64: from 7.0.0-rc.2.22423.4 to 7.0.0-rc.2.22424.8 (parent: Microsoft.NET.Sdk) - Microsoft.Dotnet.WinForms.ProjectTemplates: from 7.0.0-rc.2.22423.3 to 7.0.0-rc.2.22424.12 (parent: Microsoft.WindowsDesktop.App.Runtime.win-x64) - Microsoft.WindowsDesktop.App.Runtime.win-x64: from 7.0.0-rc.2.22423.4 to 7.0.0-rc.2.22424.8 (parent: Microsoft.NET.Sdk) - Microsoft.DotNet.Wpf.ProjectTemplates: from 7.0.0-rc.2.22423.2 to 7.0.0-rc.2.22424.8 (parent: Microsoft.WindowsDesktop.App.Runtime.win-x64) - Microsoft.Net.Compilers.Toolset: from 4.4.0-2.22423.18 to 4.4.0-2.22424.9 (parent: Microsoft.NET.Sdk) * Update dependencies from https://github.com/dotnet/source-build-externals build 20220824.1 (#14401) [release/7.0.1xx] Update dependencies from dotnet/source-build-externals * Update Versions.Details.xml source-build metadata (#14375) * Update dependencies from https://github.com/dotnet/test-templates build 20220825.1 (#14400) Microsoft.DotNet.Test.ProjectTemplates.5.0 , Microsoft.DotNet.Test.ProjectTemplates.6.0 , Microsoft.DotNet.Test.ProjectTemplates.7.0 From Version 1.0.2-beta4.22409.1 -> To Version 1.0.2-beta4.22425.1 Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> * Update source-build-externals (#14405) Co-authored-by: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Marc Paine <marcpop@microsoft.com> Co-authored-by: Michael Simons <msimons@microsoft.com> Co-authored-by: Chris Rummel <crummel@microsoft.com> Co-authored-by: v-wuzhai <46013274+v-wuzhai@users.noreply.github.com> Co-authored-by: Jason Zhai <v-wuzhai@microsoft.com> Co-authored-by: Logan Bussell <loganbussell@microsoft.com> Co-authored-by: Matt Galbraith <mattgal@microsoft.com> Co-authored-by: Nikola Milosavljevic <nikolam@microsoft.com> Co-authored-by: Matt Galbraith <MattGal@users.noreply.github.com> |
||
---|---|---|
.devcontainer | ||
eng | ||
resources/images | ||
src | ||
test | ||
TestAssets | ||
tools/sdk-readme-table-generator | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.vsts-ci.yml | ||
build.cmd | ||
build.sh | ||
CODE-OF-CONDUCT.md | ||
CODEOWNERS | ||
CONTRIBUTING.md | ||
Directory.Build.props | ||
Directory.Build.targets | ||
Downloads2.x.md | ||
global.json | ||
LICENSE | ||
Microsoft.DotNet.Cli.sln | ||
Native.sln | ||
NuGet.config | ||
PULL_REQUEST_TEMPLATE | ||
README.md | ||
run-build.ps1 | ||
run-build.sh | ||
SECURITY.md | ||
source-build.slnf | ||
THIRD-PARTY-NOTICES |
.NET Core SDK
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.
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 thendevenv 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
-
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. -
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. This issue is being tracked here. -
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. -
(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 | |
Microsoft Internal |
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.
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>
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>
For .NET 6 Optional workloads The below feed is needed for 6.0 releases before RC1
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>
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. Daily servicing builds have been removed as all servicing is done in private repos to avoid disclosure of critical security fixes. All public servicing builds can be downloaded at http://aka.ms/dotnet-download.
Table
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.