diff --git a/Directory.Build.props b/Directory.Build.props
index d12017847a..8b3adc348b 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -46,7 +46,8 @@
nugetaspnet@microsoft.com
- https://go.microsoft.com/fwlink/?LinkID=288859
+ packageIcon.png
+ $(MSBuildThisFileDirectory)packageIcon.png
https://asp.net
$(MSBuildProjectDirectory)
@@ -55,6 +56,10 @@
netcoreapp5.0
+
+
+
+
true
@@ -90,7 +95,7 @@
aspnetcore-targeting-pack
- false
+ false
+
+ $(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion).0.0
+
+
diff --git a/NuGet.config b/NuGet.config
index cfe52daef3..2aa0b156cb 100644
--- a/NuGet.config
+++ b/NuGet.config
@@ -6,6 +6,7 @@
+
diff --git a/eng/Baseline.Designer.props b/eng/Baseline.Designer.props
index 0b3cfa0c07..1e28129d00 100644
--- a/eng/Baseline.Designer.props
+++ b/eng/Baseline.Designer.props
@@ -2,1333 +2,694 @@
$(MSBuildAllProjects);$(MSBuildThisFileFullPath)
- 2.2.7
+ 3.0.0
-
-
- 2.2.0
+
+
+ 3.0.0
+
+
+
+ 3.0.0
+
+
- 2.2.0
+ 3.0.0
-
-
- 2.2.0
-
-
-
- 2.2.0
-
-
-
- 2.2.0
-
-
-
-
-
-
-
-
- 2.2.0-preview-35687
+ 3.0.0
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
- 2.2.0
+
+
+ 3.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 2.2.7
-
-
-
-
- 2.2.7
-
-
-
-
- 2.2.0
-
-
-
-
-
-
- 2.2.0
+ 3.0.0
-
-
-
-
-
+
+
+
- 2.2.0
+ 3.0.0
-
-
-
-
-
+
+
+
-
-
- 2.2.0
+
+
+ 3.0.0
-
-
-
-
-
- 2.2.0
-
-
-
-
-
-
+
- 2.2.0
+ 3.0.0
-
-
-
+
- 2.2.2
+ 3.0.0
-
-
-
+
- 2.2.0
+ 3.0.0
-
-
-
+
+
- 2.2.0
+ 3.0.0
-
-
-
-
-
- 2.2.0
+
+
+
+ 3.0.0
-
-
-
+
+
- 2.2.0
+ 3.0.0
-
-
-
+
+
- 2.2.0
+ 3.0.0
-
-
-
+
- 2.2.0
+ 3.0.0
-
-
-
-
-
-
-
- 2.2.0
-
-
-
-
-
-
-
-
-
-
-
-
- 2.2.0
-
-
-
-
+
+
+
- 2.2.0
+ 3.0.0
+
+
+
+
+
-
-
+
+
+
- 2.2.5
+ 3.0.0
-
-
-
+
+
+
-
-
-
-
-
-
-
+
+
+ 3.0.0
+
+
+
- 2.2.5
+ 3.0.0
-
-
-
+
+
+
+
+
+ 3.0.0-preview9.19465.2
+
+
+
+
+
+
+
+
+ 3.0.0-preview9.19465.2
+
+
+
+
+
+
+ 3.0.0-preview9.19465.2
+
+
+
+ 3.0.0-preview9.19465.2
+
+
+
+
+
+
+ 3.0.0-preview9.19465.2
+
+
+
+
+
+
+
+
+
+ 3.0.0-preview9.19465.2
+
+
+
+ 3.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 3.0.0
+
+
+
+ 3.0.0
+
+
+
+
+
+
+
+
+
+
+
+ 3.0.0
+
+
+
+
+
+
+
+
+
+
+ 3.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 3.0.0
+
+
+
+
- 2.2.0
+ 3.0.0
+
+
+
+
-
-
+
+
+
-
-
- 2.2.0
-
-
-
-
-
-
-
-
- 2.2.0
-
-
-
-
-
-
-
+
+
+
- 2.2.0
+ 3.0.0
- 2.2.0
+ 3.0.0
-
+
-
+
+
+
+
+ 3.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- 2.2.0
+ 3.0.0
- 2.2.0
+ 3.0.0
-
+
- 2.2.7
+ 3.0.0
-
+
+
-
- 2.2.0
+ 3.0.0
-
-
-
+
+
+
- 2.2.0
+ 3.0.0
+
+
+
+
-
-
+
+
- 2.2.5
+ 3.0.0
-
+
-
-
- 2.2.0
-
-
-
-
-
-
-
- 2.2.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 2.2.0
-
-
- 2.2.1
+ 3.0.0
-
-
-
+
+
-
-
- 2.2.0
+
+
+ 3.0.0
-
-
-
-
-
-
-
-
- 2.2.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 2.2.0
-
-
-
-
-
-
-
-
-
- 2.2.0
-
-
-
-
-
-
-
-
- 2.2.0
-
-
-
-
+
+
+
- 2.2.0
+ 3.0.0
-
-
-
-
-
-
-
-
-
- 2.2.7
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 2.2.0
-
-
-
-
-
-
- 2.2.0
-
-
-
-
+
+
- 1.1.0
+ 3.0.0
-
-
-
-
-
-
+
+
+
+
+
+
+
+
- 1.1.0
+ 3.0.0
+
+
+
-
-
-
-
-
-
- 1.1.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 2.2.0
-
-
-
-
-
-
+
+
- 2.2.0
+ 3.0.0
+
+
+
+
-
-
-
-
- 2.2.2
-
-
-
-
-
-
-
-
-
-
- 2.2.0
-
-
-
-
-
-
-
-
- 2.2.0
-
-
-
-
-
-
-
+
+
- 2.2.0
+ 3.0.0
-
-
-
-
+
+
+
+
+
+
+
- 2.2.0
+ 3.0.0
-
-
-
-
-
-
-
+
+
+
+
+
+
+
- 2.2.5
+ 3.0.0
-
-
-
-
-
-
-
-
-
- 2.2.0
-
-
-
-
-
-
+
+
+
+
- 2.2.0
+ 3.0.0
-
-
+
+
-
-
- 2.2.0
+
+
+ 3.0.0
-
-
-
-
-
-
- 2.2.0
-
-
-
-
-
-
-
+
- 2.2.0
+ 3.0.0
-
-
-
-
+
+
-
-
- 2.2.0
+
+
+ 3.0.0
-
-
-
+
+
+
+
-
-
- 2.2.0
+
+
+ 3.0.0
-
-
-
- 2.2.6
-
-
-
-
- 2.2.0
-
-
-
-
-
-
- 2.2.5
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 2.2.0
-
-
-
-
-
-
-
- 2.2.0
-
-
-
-
-
-
-
-
- 2.2.0
-
-
-
-
-
-
-
- 2.2.0
-
-
-
-
-
-
- 2.2.0
-
-
-
-
-
-
-
-
-
- 2.2.0
-
-
-
-
-
-
-
-
-
-
-
- 2.2.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 2.2.5
-
-
-
-
-
-
- 2.2.0
-
-
-
-
-
-
-
-
+
+
+
+
- 2.2.0
+ 3.0.0
-
-
-
-
-
-
- 2.2.0
-
-
-
-
-
-
-
-
-
-
-
-
-
- 2.2.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
- 2.2.0
+ 3.0.0
-
-
-
-
+
+
+
- 2.2.0
+ 3.0.0
-
-
-
-
-
- 2.2.0
-
-
-
-
- 2.2.0
-
-
-
-
-
- 2.2.0
-
-
-
-
-
-
-
- 2.2.0
-
-
-
-
-
-
- 2.2.0
-
-
-
-
-
-
- 2.2.0
-
-
-
-
-
-
-
-
-
-
- 2.2.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 2.2.0
-
-
-
-
-
-
-
-
-
-
-
- 2.2.0
-
-
-
-
-
-
- 2.2.2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 2.2.6
-
-
-
-
-
-
-
-
-
-
- 2.2.6
-
-
-
-
-
-
-
-
-
-
- 2.2.1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 2.2.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 2.2.0
-
-
-
-
-
-
-
-
-
-
-
- 2.2.0
-
-
-
-
+
- 2.2.0
+ 3.0.0
-
-
+
+
-
-
-
-
-
-
- 2.2.1
-
-
-
-
-
-
-
-
-
-
-
-
-
- 2.2.0
-
-
-
-
-
-
-
-
-
- 2.2.0
-
-
-
-
-
-
-
-
-
-
- 1.1.0
-
-
-
-
-
-
-
+
+
- 1.1.0
+ 3.0.0
-
-
+
+
+
+
+
+ 3.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- 1.1.0
+ 3.0.0
-
-
-
-
-
+
+
+
-
-
-
-
-
-
-
- 1.1.0
-
-
-
-
-
-
-
-
-
+
+
+
- 1.1.0
+ 3.0.0
+
+
+
-
-
+
- 1.1.5
+ 3.0.0
+
-
-
-
- 1.1.5
+
+
+ 3.0.0
-
-
-
-
-
+
+
+
- 1.1.0
+ 3.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
- 1.1.5
+ 3.0.0
-
+
-
-
+
-
-
- 1.1.0
-
-
-
-
-
-
-
- 2.2.0
-
-
-
-
-
-
-
- 2.2.7
+ 3.0.0
-
-
-
-
+
+
-
-
- 2.2.0
+
+
+ 3.0.0
-
-
-
-
-
-
+
+
+
- 2.2.0
+ 3.0.0
-
-
-
+
+
-
-
- 2.2.1
+
+
+ 3.0.0
-
-
-
-
-
-
-
-
- 2.2.0
+
+
+ 3.0.0
-
-
-
-
-
-
- 2.2.0
+
+
+ 3.0.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 2.2.0
+
+
+ 3.0.0
+
+
+
+ 3.0.0
+
+
+
+ 3.0.0
+
+
+
+ 3.0.0
-
-
-
-
-
-
-
-
-
-
-
- 2.2.0
+ 3.0.0
-
-
-
-
+
+
+
+
- 2.2.0
+ 3.0.0
+
+
+
+
+
-
-
-
-
+
+
+
- 2.2.0
+ 3.0.0
+
+
+
+
-
-
-
-
-
-
- 2.2.0
-
-
-
-
-
-
-
- 2.2.0
-
-
-
-
-
- 2.2.0
-
-
-
-
+
+
\ No newline at end of file
diff --git a/eng/Baseline.xml b/eng/Baseline.xml
index b541b834a2..52cbb358f4 100644
--- a/eng/Baseline.xml
+++ b/eng/Baseline.xml
@@ -1,138 +1,91 @@

-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/eng/PatchConfig.props b/eng/PatchConfig.props
index 2c26521f8c..60adba37fa 100644
--- a/eng/PatchConfig.props
+++ b/eng/PatchConfig.props
@@ -4,8 +4,8 @@ This file contains a list of the package IDs which are patching in a given relea
CAUTION: due to limitations in MSBuild, the format of the PackagesInPatch property is picky.
When adding a new package, make sure the new line ends with a semicolon and starts with a space.
-Later on, this will be checked using this condition:
+Directory.Build.props checks this property using the following condition:
$(PackagesInPatch.Contains(' $(PackageId);'))
-->
@@ -15,59 +15,14 @@ Later on, this will be checked using this condition:
-
-
-
-
- @aspnet/signalr;
- Microsoft.AspNetCore.AspNetCoreModuleV2;
- Microsoft.AspNetCore.Authentication.Google;
- Microsoft.AspNetCore.Http;
- Microsoft.AspNetCore.Mvc.Core;
- Microsoft.AspNetCore.Routing;
- Microsoft.AspNetCore.Server.IIS;
- java:signalr;
-
-
-
-
- @aspnet/signalr;
- Microsoft.AspNetCore.AspNetCoreModuleV2;
-
-
-
-
- Microsoft.AspNetCore.AspNetCoreModule;
- Microsoft.AspNetCore.AspNetCoreModuleV2;
- Microsoft.AspNetCore.Identity.UI;
- java:signalr;
- Microsoft.AspNetCore.SignalR.Protocols.MessagePack;
- Microsoft.AspNetCore.SignalR.Redis;
- Microsoft.AspNetCore.SignalR.StackExchangeRedis;
- Microsoft.AspNetCore.DataProtection.StackExchangeRedis;
- Microsoft.AspNetCore.Mvc.Core;
- Microsoft.AspNetCore.Mvc.RazorPages;
- Microsoft.AspNetCore.AzureAppServicesIntegration;
- Microsoft.AspNetCore.AzureAppServices.HostingStartup;
- Microsoft.AspNetCore.AzureAppServices.SiteExtension;
-
-
-
-
- Microsoft.AspNetCore.Mvc.Api.Analyzers;
- Microsoft.AspNetCore.Server.HttpSys;
- Microsoft.AspNetCore.Server.IIS;
-
-
-
-
- Microsoft.AspNetCore.DataProtection.AzureStorage;
- Microsoft.AspNetCore.Hosting;
- Microsoft.AspNetCore.SpaServices;
-
-
-
-
+ Microsoft.Net.Http.Headers;
+ Microsoft.AspNetCore.CookiePolicy;
+ Microsoft.AspNetCore.DataProtection.EntityFrameworkCore;
+ @microsoft/signalr;
+ Microsoft.Net.Http.Headers;
+ Microsoft.AspNetCore.Http.Abstractions;
+ Microsoft.AspNetCore.Http.Features;
+ Microsoft.AspNetCore.CookiePolicy;
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index e5d7cfda76..d08ca7ebf2 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -412,17 +412,17 @@
https://github.com/aspnet/Extensions
f15f3278c73c72a6546d7cb2c1bd54a541ffc83e
-
+
https://github.com/dotnet/arcade
- f8546fbab59a74a66c83b8cb76b3f6877ce1d374
+ f70d1fca3d5d4045be75694006f1bee0e0aec572
-
+
https://github.com/dotnet/arcade
- f8546fbab59a74a66c83b8cb76b3f6877ce1d374
+ f70d1fca3d5d4045be75694006f1bee0e0aec572
-
+
https://github.com/dotnet/arcade
- f8546fbab59a74a66c83b8cb76b3f6877ce1d374
+ f70d1fca3d5d4045be75694006f1bee0e0aec572
https://github.com/aspnet/Extensions
diff --git a/eng/Versions.props b/eng/Versions.props
index 005527da82..5ae95d3858 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -20,8 +20,15 @@
$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion)
false
+
+ true
- true
+ true
$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion).$(AspNetCorePatchVersion)
$(VersionPrefix)
@@ -55,7 +62,7 @@
-->
- 1.0.0-beta.19462.4
+ 1.0.0-beta.19510.3
3.4.0-beta1-19456-03
@@ -229,7 +236,7 @@
4.2.1
4.2.1
3.8.0
- 2.23.1
+ 2.23.2
3.0.0
3.0.0
3.0.0
diff --git a/eng/Workarounds.props b/eng/Workarounds.props
index 8db4227eda..3ed1473baf 100644
--- a/eng/Workarounds.props
+++ b/eng/Workarounds.props
@@ -21,6 +21,8 @@
$(NoWarn);NU5131
+
+ $(NoWarn);NU5048
diff --git a/eng/common/enable-cross-org-publishing.ps1 b/eng/common/enable-cross-org-publishing.ps1
new file mode 100644
index 0000000000..eccbf9f1b1
--- /dev/null
+++ b/eng/common/enable-cross-org-publishing.ps1
@@ -0,0 +1,6 @@
+param(
+ [string] $token
+)
+
+Write-Host "##vso[task.setvariable variable=VSS_NUGET_ACCESSTOKEN]$token"
+Write-Host "##vso[task.setvariable variable=VSS_NUGET_URI_PREFIXES]https://dnceng.pkgs.visualstudio.com/;https://pkgs.dev.azure.com/dnceng/;https://devdiv.pkgs.visualstudio.com/;https://pkgs.dev.azure.com/devdiv/"
diff --git a/eng/common/sdl/extract-artifact-packages.ps1 b/eng/common/sdl/extract-artifact-packages.ps1
index 1fdbb14329..6e6825013b 100644
--- a/eng/common/sdl/extract-artifact-packages.ps1
+++ b/eng/common/sdl/extract-artifact-packages.ps1
@@ -5,6 +5,13 @@ param(
$ErrorActionPreference = "Stop"
Set-StrictMode -Version 2.0
+
+# `tools.ps1` checks $ci to perform some actions. Since the post-build
+# scripts don't necessarily execute in the same agent that run the
+# build.ps1/sh script this variable isn't automatically set.
+$ci = $true
+. $PSScriptRoot\..\tools.ps1
+
$ExtractPackage = {
param(
[string] $PackagePath # Full path to a NuGet package
diff --git a/eng/common/templates/job/performance.yml b/eng/common/templates/job/performance.yml
index f3e1ca3e64..f877fd7a89 100644
--- a/eng/common/templates/job/performance.yml
+++ b/eng/common/templates/job/performance.yml
@@ -20,7 +20,7 @@ jobs:
enableTelemetry: ${{ parameters.enableTelemetry }}
enablePublishBuildArtifacts: true
continueOnError: ${{ parameters.continueOnError }}
-
+
jobs:
- job: '${{ parameters.jobName }}'
@@ -51,7 +51,7 @@ jobs:
- ${{ if ne(parameters.osGroup, 'Windows_NT') }}:
- HelixPreCommand: 'export PERFLAB_UPLOAD_TOKEN="$(PerfCommandUploadTokenLinux)"'
- IsInternal: --internal
-
+
- group: DotNet-HelixApi-Access
- group: dotnet-benchview
diff --git a/eng/common/templates/post-build/channels/netcore-3-tools-validation.yml b/eng/common/templates/post-build/channels/netcore-3-tools-validation.yml
new file mode 100644
index 0000000000..cdb74031fc
--- /dev/null
+++ b/eng/common/templates/post-build/channels/netcore-3-tools-validation.yml
@@ -0,0 +1,95 @@
+parameters:
+ artifactsPublishingAdditionalParameters: ''
+ publishInstallersAndChecksums: false
+
+stages:
+- stage: NetCore_3_Tools_Validation_Publish
+ dependsOn: validate
+ variables:
+ - template: ../common-variables.yml
+ displayName: .NET 3 Tools - Validation Publishing
+ jobs:
+ - template: ../setup-maestro-vars.yml
+
+ - job: publish_assets
+ displayName: Publish Assets
+ dependsOn: setupMaestroVars
+ variables:
+ - group: DotNet-Blob-Feed
+ - group: AzureDevOps-Artifact-Feeds-Pats
+ - name: BARBuildId
+ value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.BARBuildId'] ]
+ - name: IsStableBuild
+ value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.IsStableBuild'] ]
+ condition: contains(dependencies.setupMaestroVars.outputs['setReleaseVars.InitialChannels'], format('[{0}]', variables.NETCore_3_Tools_Validation_Channel_Id))
+ pool:
+ vmImage: 'windows-2019'
+ steps:
+ - task: DownloadBuildArtifacts@0
+ displayName: Download Package Artifacts
+ inputs:
+ buildType: current
+ artifactName: PackageArtifacts
+
+ - task: DownloadBuildArtifacts@0
+ displayName: Download Blob Artifacts
+ inputs:
+ buildType: current
+ artifactName: BlobArtifacts
+
+ - task: DownloadBuildArtifacts@0
+ displayName: Download Asset Manifests
+ inputs:
+ buildType: current
+ artifactName: AssetManifests
+
+ - task: NuGetToolInstaller@1
+ displayName: 'Install NuGet.exe'
+
+ # This is necessary whenever we want to publish/restore to an AzDO private feed
+ - task: NuGetAuthenticate@0
+ displayName: 'Authenticate to AzDO Feeds'
+
+ - task: PowerShell@2
+ displayName: Enable cross-org publishing
+ inputs:
+ filePath: eng\common\enable-cross-org-publishing.ps1
+ arguments: -token $(dn-bot-dnceng-artifact-feeds-rw)
+
+ - task: PowerShell@2
+ displayName: Publish Assets
+ inputs:
+ filePath: eng\common\sdk-task.ps1
+ arguments: -task PublishArtifactsInManifest -restore -msbuildEngine dotnet
+ /p:ArtifactsCategory=$(_DotNetValidationArtifactsCategory)
+ /p:IsStableBuild=$(IsStableBuild)
+ /p:IsInternalBuild=$(IsInternalBuild)
+ /p:RepositoryName=$(Build.Repository.Name)
+ /p:CommitSha=$(Build.SourceVersion)
+ /p:NugetPath=$(NuGetExeToolPath)
+ /p:AzdoTargetFeedPAT='$(dn-bot-dnceng-universal-packages-rw)'
+ /p:AzureStorageTargetFeedPAT='$(dotnetfeed-storage-access-key-1)'
+ /p:BARBuildId=$(BARBuildId)
+ /p:MaestroApiEndpoint='$(MaestroApiEndPoint)'
+ /p:BuildAssetRegistryToken='$(MaestroApiAccessToken)'
+ /p:ManifestsBasePath='$(Build.ArtifactStagingDirectory)/AssetManifests/'
+ /p:BlobBasePath='$(Build.ArtifactStagingDirectory)/BlobArtifacts/'
+ /p:PackageBasePath='$(Build.ArtifactStagingDirectory)/PackageArtifacts/'
+ /p:Configuration=Release
+ /p:PublishInstallersAndChecksums=${{ parameters.publishInstallersAndChecksums }}
+ /p:InstallersTargetStaticFeed=$(InstallersBlobFeedUrl)
+ /p:InstallersAzureAccountKey=$(dotnetcli-storage-key)
+ /p:ChecksumsTargetStaticFeed=$(ChecksumsBlobFeedUrl)
+ /p:ChecksumsAzureAccountKey=$(dotnetclichecksums-storage-key)
+ /p:PublishToAzureDevOpsNuGetFeeds=true
+ /p:AzureDevOpsStaticShippingFeed='https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json'
+ /p:AzureDevOpsStaticShippingFeedKey='$(dn-bot-dnceng-artifact-feeds-rw)'
+ /p:AzureDevOpsStaticTransportFeed='https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json'
+ /p:AzureDevOpsStaticTransportFeedKey='$(dn-bot-dnceng-artifact-feeds-rw)'
+ /p:AzureDevOpsStaticSymbolsFeed='https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools-symbols/nuget/v3/index.json'
+ /p:AzureDevOpsStaticSymbolsFeedKey='$(dn-bot-dnceng-artifact-feeds-rw)'
+ ${{ parameters.artifactsPublishingAdditionalParameters }}
+
+ - template: ../../steps/promote-build.yml
+ parameters:
+ ChannelId: ${{ variables.NETCore_3_Tools_Validation_Channel_Id }}
diff --git a/eng/common/templates/post-build/channels/netcore-dev-30.yml b/eng/common/templates/post-build/channels/netcore-3-tools.yml
similarity index 82%
rename from eng/common/templates/post-build/channels/netcore-dev-30.yml
rename to eng/common/templates/post-build/channels/netcore-3-tools.yml
index 69f1a9013e..70eec773e7 100644
--- a/eng/common/templates/post-build/channels/netcore-dev-30.yml
+++ b/eng/common/templates/post-build/channels/netcore-3-tools.yml
@@ -4,18 +4,18 @@ parameters:
publishInstallersAndChecksums: false
stages:
-- stage: NetCore_Dev30_Publish
+- stage: NetCore_3_Tools_Publish
dependsOn: validate
variables:
- template: ../common-variables.yml
- displayName: .NET Core 3.0 Dev Publishing
+ displayName: .NET 3 Tools Publishing
jobs:
- template: ../setup-maestro-vars.yml
- job:
displayName: Symbol Publishing
dependsOn: setupMaestroVars
- condition: contains(dependencies.setupMaestroVars.outputs['setReleaseVars.InitialChannels'], format('[{0}]', variables.PublicDevRelease_30_Channel_Id))
+ condition: contains(dependencies.setupMaestroVars.outputs['setReleaseVars.InitialChannels'], format('[{0}]', variables.NetCore_3_Tools_Channel_Id))
variables:
- group: DotNet-Symbol-Server-Pats
pool:
@@ -56,7 +56,7 @@ stages:
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.BARBuildId'] ]
- name: IsStableBuild
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.IsStableBuild'] ]
- condition: contains(dependencies.setupMaestroVars.outputs['setReleaseVars.InitialChannels'], format('[{0}]', variables.PublicDevRelease_30_Channel_Id))
+ condition: contains(dependencies.setupMaestroVars.outputs['setReleaseVars.InitialChannels'], format('[{0}]', variables.NetCore_3_Tools_Channel_Id))
pool:
vmImage: 'windows-2019'
steps:
@@ -85,42 +85,46 @@ stages:
- task: NuGetAuthenticate@0
displayName: 'Authenticate to AzDO Feeds'
+ - task: PowerShell@2
+ displayName: Enable cross-org publishing
+ inputs:
+ filePath: eng\common\enable-cross-org-publishing.ps1
+ arguments: -token $(dn-bot-dnceng-artifact-feeds-rw)
+
- task: PowerShell@2
displayName: Publish Assets
- env:
- AZURE_DEVOPS_EXT_PAT: $(dn-bot-dnceng-universal-packages-rw)
inputs:
filePath: eng\common\sdk-task.ps1
- arguments: -task PublishArtifactsInManifest -restore -msbuildEngine dotnet
+ arguments: -task PublishArtifactsInManifest -restore -msbuildEngine dotnet
/p:ArtifactsCategory=$(_DotNetArtifactsCategory)
/p:IsStableBuild=$(IsStableBuild)
/p:IsInternalBuild=$(IsInternalBuild)
/p:RepositoryName=$(Build.Repository.Name)
/p:CommitSha=$(Build.SourceVersion)
/p:NugetPath=$(NuGetExeToolPath)
- /p:AzdoTargetFeedPAT='$(dn-bot-dnceng-universal-packages-rw)'
- /p:AzureStorageTargetFeedPAT='$(dotnetfeed-storage-access-key-1)'
- /p:BARBuildId=$(BARBuildId)
- /p:MaestroApiEndpoint='$(MaestroApiEndPoint)'
- /p:BuildAssetRegistryToken='$(MaestroApiAccessToken)'
- /p:ManifestsBasePath='$(Build.ArtifactStagingDirectory)/AssetManifests/'
- /p:BlobBasePath='$(Build.ArtifactStagingDirectory)/BlobArtifacts/'
- /p:PackageBasePath='$(Build.ArtifactStagingDirectory)/PackageArtifacts/'
- /p:Configuration=Release
+ /p:AzdoTargetFeedPAT='$(dn-bot-dnceng-universal-packages-rw)'
+ /p:AzureStorageTargetFeedPAT='$(dotnetfeed-storage-access-key-1)'
+ /p:BARBuildId=$(BARBuildId)
+ /p:MaestroApiEndpoint='$(MaestroApiEndPoint)'
+ /p:BuildAssetRegistryToken='$(MaestroApiAccessToken)'
+ /p:ManifestsBasePath='$(Build.ArtifactStagingDirectory)/AssetManifests/'
+ /p:BlobBasePath='$(Build.ArtifactStagingDirectory)/BlobArtifacts/'
+ /p:PackageBasePath='$(Build.ArtifactStagingDirectory)/PackageArtifacts/'
+ /p:Configuration=Release
/p:PublishInstallersAndChecksums=${{ parameters.publishInstallersAndChecksums }}
/p:InstallersTargetStaticFeed=$(InstallersBlobFeedUrl)
/p:InstallersAzureAccountKey=$(dotnetcli-storage-key)
/p:ChecksumsTargetStaticFeed=$(ChecksumsBlobFeedUrl)
/p:ChecksumsAzureAccountKey=$(dotnetclichecksums-storage-key)
/p:PublishToAzureDevOpsNuGetFeeds=true
- /p:AzureDevOpsStaticShippingFeed='https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet3/nuget/v3/index.json'
+ /p:AzureDevOpsStaticShippingFeed='https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json'
/p:AzureDevOpsStaticShippingFeedKey='$(dn-bot-dnceng-artifact-feeds-rw)'
- /p:AzureDevOpsStaticTransportFeed='https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet3-transport/nuget/v3/index.json'
+ /p:AzureDevOpsStaticTransportFeed='https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json'
/p:AzureDevOpsStaticTransportFeedKey='$(dn-bot-dnceng-artifact-feeds-rw)'
- /p:AzureDevOpsStaticSymbolsFeed='https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet3-symbols/nuget/v3/index.json'
+ /p:AzureDevOpsStaticSymbolsFeed='https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools-symbols/nuget/v3/index.json'
/p:AzureDevOpsStaticSymbolsFeedKey='$(dn-bot-dnceng-artifact-feeds-rw)'
${{ parameters.artifactsPublishingAdditionalParameters }}
- template: ../../steps/promote-build.yml
parameters:
- ChannelId: ${{ variables.PublicDevRelease_30_Channel_Id }}
+ ChannelId: ${{ variables.NetCore_3_Tools_Channel_Id }}
\ No newline at end of file
diff --git a/eng/common/templates/post-build/channels/netcore-dev-31.yml b/eng/common/templates/post-build/channels/netcore-dev-31.yml
index 720a0ab08a..db21254187 100644
--- a/eng/common/templates/post-build/channels/netcore-dev-31.yml
+++ b/eng/common/templates/post-build/channels/netcore-dev-31.yml
@@ -85,10 +85,14 @@ stages:
- task: NuGetAuthenticate@0
displayName: 'Authenticate to AzDO Feeds'
+ - task: PowerShell@2
+ displayName: Enable cross-org publishing
+ inputs:
+ filePath: eng\common\enable-cross-org-publishing.ps1
+ arguments: -token $(dn-bot-dnceng-artifact-feeds-rw)
+
- task: PowerShell@2
displayName: Publish Assets
- env:
- AZURE_DEVOPS_EXT_PAT: $(dn-bot-dnceng-universal-packages-rw)
inputs:
filePath: eng\common\sdk-task.ps1
arguments: -task PublishArtifactsInManifest -restore -msbuildEngine dotnet
diff --git a/eng/common/templates/post-build/channels/netcore-dev-5.yml b/eng/common/templates/post-build/channels/netcore-dev-5.yml
index 9c81e39e9c..c4f5a16acb 100644
--- a/eng/common/templates/post-build/channels/netcore-dev-5.yml
+++ b/eng/common/templates/post-build/channels/netcore-dev-5.yml
@@ -85,10 +85,14 @@ stages:
- task: NuGetAuthenticate@0
displayName: 'Authenticate to AzDO Feeds'
+ - task: PowerShell@2
+ displayName: Enable cross-org publishing
+ inputs:
+ filePath: eng\common\enable-cross-org-publishing.ps1
+ arguments: -token $(dn-bot-dnceng-artifact-feeds-rw)
+
- task: PowerShell@2
displayName: Publish Assets
- env:
- AZURE_DEVOPS_EXT_PAT: $(dn-bot-dnceng-universal-packages-rw)
inputs:
filePath: eng\common\sdk-task.ps1
arguments: -task PublishArtifactsInManifest -restore -msbuildEngine dotnet
diff --git a/eng/common/templates/post-build/channels/netcore-internal-30.yml b/eng/common/templates/post-build/channels/netcore-internal-30.yml
index 053163cf6a..177b38df35 100644
--- a/eng/common/templates/post-build/channels/netcore-internal-30.yml
+++ b/eng/common/templates/post-build/channels/netcore-internal-30.yml
@@ -84,10 +84,14 @@ stages:
- task: NuGetAuthenticate@0
displayName: 'Authenticate to AzDO Feeds'
+ - task: PowerShell@2
+ displayName: Enable cross-org publishing
+ inputs:
+ filePath: eng\common\enable-cross-org-publishing.ps1
+ arguments: -token $(dn-bot-dnceng-artifact-feeds-rw)
+
- task: PowerShell@2
displayName: Publish Assets
- env:
- AZURE_DEVOPS_EXT_PAT: $(dn-bot-dnceng-universal-packages-rw)
inputs:
filePath: eng\common\sdk-task.ps1
arguments: -task PublishArtifactsInManifest -restore -msbuildEngine dotnet
diff --git a/eng/common/templates/post-build/channels/netcore-release-30.yml b/eng/common/templates/post-build/channels/netcore-release-30.yml
index 8ba9237ffc..16ade0db29 100644
--- a/eng/common/templates/post-build/channels/netcore-release-30.yml
+++ b/eng/common/templates/post-build/channels/netcore-release-30.yml
@@ -85,10 +85,14 @@ stages:
- task: NuGetAuthenticate@0
displayName: 'Authenticate to AzDO Feeds'
+ - task: PowerShell@2
+ displayName: Enable cross-org publishing
+ inputs:
+ filePath: eng\common\enable-cross-org-publishing.ps1
+ arguments: -token $(dn-bot-dnceng-artifact-feeds-rw)
+
- task: PowerShell@2
displayName: Publish Assets
- env:
- AZURE_DEVOPS_EXT_PAT: $(dn-bot-dnceng-universal-packages-rw)
inputs:
filePath: eng\common\sdk-task.ps1
arguments: -task PublishArtifactsInManifest -restore -msbuildEngine dotnet
diff --git a/eng/common/templates/post-build/channels/netcore-release-31.yml b/eng/common/templates/post-build/channels/netcore-release-31.yml
index d8270eadae..01d56410c7 100644
--- a/eng/common/templates/post-build/channels/netcore-release-31.yml
+++ b/eng/common/templates/post-build/channels/netcore-release-31.yml
@@ -85,10 +85,14 @@ stages:
- task: NuGetAuthenticate@0
displayName: 'Authenticate to AzDO Feeds'
+ - task: PowerShell@2
+ displayName: Enable cross-org publishing
+ inputs:
+ filePath: eng\common\enable-cross-org-publishing.ps1
+ arguments: -token $(dn-bot-dnceng-artifact-feeds-rw)
+
- task: PowerShell@2
displayName: Publish Assets
- env:
- AZURE_DEVOPS_EXT_PAT: $(dn-bot-dnceng-universal-packages-rw)
inputs:
filePath: eng\common\sdk-task.ps1
arguments: -task PublishArtifactsInManifest -restore -msbuildEngine dotnet
diff --git a/eng/common/templates/post-build/channels/netcore-tools-latest.yml b/eng/common/templates/post-build/channels/netcore-tools-latest.yml
index c75d186733..157d2d4b97 100644
--- a/eng/common/templates/post-build/channels/netcore-tools-latest.yml
+++ b/eng/common/templates/post-build/channels/netcore-tools-latest.yml
@@ -85,10 +85,14 @@ stages:
- task: NuGetAuthenticate@0
displayName: 'Authenticate to AzDO Feeds'
+ - task: PowerShell@2
+ displayName: Enable cross-org publishing
+ inputs:
+ filePath: eng\common\enable-cross-org-publishing.ps1
+ arguments: -token $(dn-bot-dnceng-artifact-feeds-rw)
+
- task: PowerShell@2
displayName: Publish Assets
- env:
- AZURE_DEVOPS_EXT_PAT: $(dn-bot-dnceng-universal-packages-rw)
inputs:
filePath: eng\common\sdk-task.ps1
arguments: -task PublishArtifactsInManifest -restore -msbuildEngine dotnet
diff --git a/eng/common/templates/post-build/channels/public-validation-release.yml b/eng/common/templates/post-build/channels/netcore-tools-validation.yml
similarity index 90%
rename from eng/common/templates/post-build/channels/public-validation-release.yml
rename to eng/common/templates/post-build/channels/netcore-tools-validation.yml
index fb2c23d0f4..d8447e49af 100644
--- a/eng/common/templates/post-build/channels/public-validation-release.yml
+++ b/eng/common/templates/post-build/channels/netcore-tools-validation.yml
@@ -21,7 +21,7 @@ stages:
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.BARBuildId'] ]
- name: IsStableBuild
value: $[ dependencies.setupMaestroVars.outputs['setReleaseVars.IsStableBuild'] ]
- condition: contains(dependencies.setupMaestroVars.outputs['setReleaseVars.InitialChannels'], format('[{0}]', variables.PublicValidationRelease_30_Channel_Id))
+ condition: contains(dependencies.setupMaestroVars.outputs['setReleaseVars.InitialChannels'], format('[{0}]', variables.NetCore_Tools_Validation_Channel_Id))
pool:
vmImage: 'windows-2019'
steps:
@@ -50,10 +50,14 @@ stages:
- task: NuGetAuthenticate@0
displayName: 'Authenticate to AzDO Feeds'
+ - task: PowerShell@2
+ displayName: Enable cross-org publishing
+ inputs:
+ filePath: eng\common\enable-cross-org-publishing.ps1
+ arguments: -token $(dn-bot-dnceng-artifact-feeds-rw)
+
- task: PowerShell@2
displayName: Publish Assets
- env:
- AZURE_DEVOPS_EXT_PAT: $(dn-bot-dnceng-universal-packages-rw)
inputs:
filePath: eng\common\sdk-task.ps1
arguments: -task PublishArtifactsInManifest -restore -msbuildEngine dotnet
@@ -88,4 +92,4 @@ stages:
- template: ../../steps/promote-build.yml
parameters:
- ChannelId: ${{ variables.PublicValidationRelease_30_Channel_Id }}
+ ChannelId: ${{ variables.NetCore_Tools_Validation_Channel_Id }}
diff --git a/eng/common/templates/post-build/common-variables.yml b/eng/common/templates/post-build/common-variables.yml
index adb2a854f2..b4eed6f186 100644
--- a/eng/common/templates/post-build/common-variables.yml
+++ b/eng/common/templates/post-build/common-variables.yml
@@ -3,10 +3,6 @@ variables:
- group: DotNet-DotNetCli-Storage
- group: DotNet-MSRC-Storage
- # .NET Core 3 Dev
- - name: PublicDevRelease_30_Channel_Id
- value: 3
-
# .NET Core 3.1 Dev
- name: PublicDevRelease_31_Channel_Id
value: 128
@@ -16,13 +12,21 @@ variables:
value: 131
# .NET Tools - Validation
- - name: PublicValidationRelease_30_Channel_Id
+ - name: NetCore_Tools_Validation_Channel_Id
value: 9
# .NET Tools - Latest
- name: NetCore_Tools_Latest_Channel_Id
value: 2
+ # .NET 3 Tools - Validation
+ - name: NETCore_3_Tools_Validation_Channel_Id
+ value: 390
+
+ # .NET 3 Tools - Latest
+ - name: NetCore_3_Tools_Channel_Id
+ value: 344
+
# .NET Core 3.0 Internal Servicing
- name: InternalServicing_30_Channel_Id
value: 184
diff --git a/eng/common/templates/post-build/post-build.yml b/eng/common/templates/post-build/post-build.yml
index 5b9d0a5d99..7ee82d9ff1 100644
--- a/eng/common/templates/post-build/post-build.yml
+++ b/eng/common/templates/post-build/post-build.yml
@@ -101,12 +101,6 @@ stages:
artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
-- template: \eng\common\templates\post-build\channels\netcore-dev-30.yml
- parameters:
- symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }}
- artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
- publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
-
- template: \eng\common\templates\post-build\channels\netcore-dev-31.yml
parameters:
symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }}
@@ -119,11 +113,22 @@ stages:
artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
-- template: \eng\common\templates\post-build\channels\public-validation-release.yml
+- template: \eng\common\templates\post-build\channels\netcore-tools-validation.yml
parameters:
artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
+- template: \eng\common\templates\post-build\channels\netcore-3-tools-validation.yml
+ parameters:
+ artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
+ publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
+
+- template: \eng\common\templates\post-build\channels\netcore-3-tools.yml
+ parameters:
+ symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }}
+ artifactsPublishingAdditionalParameters: ${{ parameters.artifactsPublishingAdditionalParameters }}
+ publishInstallersAndChecksums: ${{ parameters.publishInstallersAndChecksums }}
+
- template: \eng\common\templates\post-build\channels\netcore-release-30.yml
parameters:
symbolPublishingAdditionalParameters: ${{ parameters.symbolPublishingAdditionalParameters }}
diff --git a/eng/targets/ReferenceAssembly.targets b/eng/targets/ReferenceAssembly.targets
index 765cc16932..149d4e2443 100644
--- a/eng/targets/ReferenceAssembly.targets
+++ b/eng/targets/ReferenceAssembly.targets
@@ -52,6 +52,7 @@
<_RefSourceOutputPath>$([System.IO.Directory]::GetParent('$(MSBuildProjectDirectory)'))/ref/
<_RefSourceFileName>$(AssemblyName).$(_RefSourceFileTFM).cs
+ <_ManualRefSourceFileName>$(AssemblyName).Manual.cs
<_RefSourceFileOutputPath>$(_RefSourceOutputPath)$(_RefSourceFileName)
@@ -87,10 +88,16 @@
+ <_ManualReferenceAssemblyContent />
+ <_ManualReferenceAssemblyContent Condition="Exists('$(_RefSourceOutputPath)$(_ManualRefSourceFileName)')">
+ ]]>
+
+
-
+ ]]>$(_ManualReferenceAssemblyContent)'', '%0A ')
]]>
diff --git a/eng/targets/ResolveReferences.targets b/eng/targets/ResolveReferences.targets
index 263edf3eaa..4efbe58e97 100644
--- a/eng/targets/ResolveReferences.targets
+++ b/eng/targets/ResolveReferences.targets
@@ -36,7 +36,8 @@
-->
true
true
- true
+ true
false
- true
+ true
true
false
@@ -122,7 +123,7 @@
Text="Cannot reference "%(_InvalidReferenceToNonSharedFxAssembly.Identity)". This dependency is not in the shared framework. See docs/SharedFramework.md for instructions on how to modify what is in the shared framework." />
-
+
diff --git a/eng/tools/BaselineGenerator/BaselineGenerator.csproj b/eng/tools/BaselineGenerator/BaselineGenerator.csproj
index 082a9eaf02..df9cc7220a 100644
--- a/eng/tools/BaselineGenerator/BaselineGenerator.csproj
+++ b/eng/tools/BaselineGenerator/BaselineGenerator.csproj
@@ -3,7 +3,7 @@
Exe
$(DefaultNetCoreTargetFramework)
- -s https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json
+ -s https://api.nuget.org/v3/index.json
$(MSBuildThisFileDirectory)../../
diff --git a/eng/tools/RepoTasks/RepoTasks.csproj b/eng/tools/RepoTasks/RepoTasks.csproj
index 5bef776106..a8e176b773 100644
--- a/eng/tools/RepoTasks/RepoTasks.csproj
+++ b/eng/tools/RepoTasks/RepoTasks.csproj
@@ -12,14 +12,14 @@
-
+
-
-
-
+
+
+
diff --git a/global.json b/global.json
index 602f4f44e1..272ae374e2 100644
--- a/global.json
+++ b/global.json
@@ -25,7 +25,7 @@
},
"msbuild-sdks": {
"Yarn.MSBuild": "1.15.2",
- "Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.19462.4",
- "Microsoft.DotNet.Helix.Sdk": "2.0.0-beta.19462.4"
+ "Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.19510.3",
+ "Microsoft.DotNet.Helix.Sdk": "2.0.0-beta.19510.3"
}
}
diff --git a/packageIcon.png b/packageIcon.png
new file mode 100644
index 0000000000..a0f1fdbf4d
Binary files /dev/null and b/packageIcon.png differ
diff --git a/src/Analyzers/Analyzers/src/Microsoft.AspNetCore.Analyzers.csproj b/src/Analyzers/Analyzers/src/Microsoft.AspNetCore.Analyzers.csproj
index feec3324be..cc4201ca79 100644
--- a/src/Analyzers/Analyzers/src/Microsoft.AspNetCore.Analyzers.csproj
+++ b/src/Analyzers/Analyzers/src/Microsoft.AspNetCore.Analyzers.csproj
@@ -25,6 +25,7 @@
+
diff --git a/src/Analyzers/Analyzers/src/Microsoft.AspNetCore.Analyzers.nuspec b/src/Analyzers/Analyzers/src/Microsoft.AspNetCore.Analyzers.nuspec
index f906ece217..106615a7da 100644
--- a/src/Analyzers/Analyzers/src/Microsoft.AspNetCore.Analyzers.nuspec
+++ b/src/Analyzers/Analyzers/src/Microsoft.AspNetCore.Analyzers.nuspec
@@ -2,10 +2,12 @@
$CommonMetadataElements$
+ packageIcon.png
+
diff --git a/src/Components/Blazor/Build/src/Microsoft.AspNetCore.Blazor.Build.csproj b/src/Components/Blazor/Build/src/Microsoft.AspNetCore.Blazor.Build.csproj
index 35853a4b9e..82968f4999 100644
--- a/src/Components/Blazor/Build/src/Microsoft.AspNetCore.Blazor.Build.csproj
+++ b/src/Components/Blazor/Build/src/Microsoft.AspNetCore.Blazor.Build.csproj
@@ -23,6 +23,7 @@
+
diff --git a/src/Components/Blazor/Build/src/Microsoft.AspNetCore.Blazor.Build.nuspec b/src/Components/Blazor/Build/src/Microsoft.AspNetCore.Blazor.Build.nuspec
index ab73599f0b..feffe95c50 100644
--- a/src/Components/Blazor/Build/src/Microsoft.AspNetCore.Blazor.Build.nuspec
+++ b/src/Components/Blazor/Build/src/Microsoft.AspNetCore.Blazor.Build.nuspec
@@ -5,6 +5,7 @@
+ packageIcon.png
@@ -12,5 +13,6 @@
+
diff --git a/src/Components/Blazor/DevServer/src/Microsoft.AspNetCore.Blazor.DevServer.csproj b/src/Components/Blazor/DevServer/src/Microsoft.AspNetCore.Blazor.DevServer.csproj
index d18ab7c9e4..eada2c3e82 100644
--- a/src/Components/Blazor/DevServer/src/Microsoft.AspNetCore.Blazor.DevServer.csproj
+++ b/src/Components/Blazor/DevServer/src/Microsoft.AspNetCore.Blazor.DevServer.csproj
@@ -33,6 +33,7 @@
+
diff --git a/src/Components/Blazor/DevServer/src/Microsoft.AspNetCore.Blazor.DevServer.nuspec b/src/Components/Blazor/DevServer/src/Microsoft.AspNetCore.Blazor.DevServer.nuspec
index 5142ba2080..b59725fc14 100644
--- a/src/Components/Blazor/DevServer/src/Microsoft.AspNetCore.Blazor.DevServer.nuspec
+++ b/src/Components/Blazor/DevServer/src/Microsoft.AspNetCore.Blazor.DevServer.nuspec
@@ -2,10 +2,12 @@
$CommonMetadataElements$
+ packageIcon.png
+
diff --git a/src/Components/Blazor/Templates/src/Microsoft.AspNetCore.Blazor.Templates.csproj b/src/Components/Blazor/Templates/src/Microsoft.AspNetCore.Blazor.Templates.csproj
index c91a32128d..640d8f21d0 100644
--- a/src/Components/Blazor/Templates/src/Microsoft.AspNetCore.Blazor.Templates.csproj
+++ b/src/Components/Blazor/Templates/src/Microsoft.AspNetCore.Blazor.Templates.csproj
@@ -15,6 +15,10 @@
false
+
+
+
+
diff --git a/src/Components/Blazor/Templates/src/Microsoft.AspNetCore.Blazor.Templates.nuspec b/src/Components/Blazor/Templates/src/Microsoft.AspNetCore.Blazor.Templates.nuspec
index 70b93d7253..cde7bc4c1f 100644
--- a/src/Components/Blazor/Templates/src/Microsoft.AspNetCore.Blazor.Templates.nuspec
+++ b/src/Components/Blazor/Templates/src/Microsoft.AspNetCore.Blazor.Templates.nuspec
@@ -5,11 +5,13 @@
+ packageIcon.png
+
diff --git a/src/Components/Blazor/Templates/src/content/BlazorWasm-CSharp/Client/wwwroot/css/site.css b/src/Components/Blazor/Templates/src/content/BlazorWasm-CSharp/Client/wwwroot/css/site.css
index fa2c7f19b7..22f9ecb710 100644
--- a/src/Components/Blazor/Templates/src/content/BlazorWasm-CSharp/Client/wwwroot/css/site.css
+++ b/src/Components/Blazor/Templates/src/content/BlazorWasm-CSharp/Client/wwwroot/css/site.css
@@ -96,6 +96,25 @@ app {
color: red;
}
+#blazor-error-ui {
+ background: lightyellow;
+ bottom: 0;
+ box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
+ display: none;
+ left: 0;
+ padding: 0.6rem 1.25rem 0.7rem 1.25rem;
+ position: fixed;
+ width: 100%;
+ z-index: 1000;
+}
+
+#blazor-error-ui .dismiss {
+ cursor: pointer;
+ position: absolute;
+ right: 0.75rem;
+ top: 0.5rem;
+}
+
@media (max-width: 767.98px) {
.main .top-row {
display: none;
diff --git a/src/Components/Blazor/Templates/src/content/BlazorWasm-CSharp/Client/wwwroot/index.html b/src/Components/Blazor/Templates/src/content/BlazorWasm-CSharp/Client/wwwroot/index.html
index 5ca6c3f6e6..586253b52c 100644
--- a/src/Components/Blazor/Templates/src/content/BlazorWasm-CSharp/Client/wwwroot/index.html
+++ b/src/Components/Blazor/Templates/src/content/BlazorWasm-CSharp/Client/wwwroot/index.html
@@ -1,5 +1,6 @@
+
@@ -8,9 +9,16 @@
+
Loading...
+
+ An unhandled error has occurred.
+
Reload
+
🗙
+
+
diff --git a/src/Components/Components/src/Microsoft.AspNetCore.Components.csproj b/src/Components/Components/src/Microsoft.AspNetCore.Components.csproj
index 68d1e48c8e..5fe8fe7f36 100644
--- a/src/Components/Components/src/Microsoft.AspNetCore.Components.csproj
+++ b/src/Components/Components/src/Microsoft.AspNetCore.Components.csproj
@@ -23,6 +23,14 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/Components/Components/src/Microsoft.AspNetCore.Components.multitarget.nuspec b/src/Components/Components/src/Microsoft.AspNetCore.Components.multitarget.nuspec
index b7c428d87e..cef54a29ba 100644
--- a/src/Components/Components/src/Microsoft.AspNetCore.Components.multitarget.nuspec
+++ b/src/Components/Components/src/Microsoft.AspNetCore.Components.multitarget.nuspec
@@ -15,11 +15,13 @@
+ packageIcon.png
+
diff --git a/src/Components/Components/src/Microsoft.AspNetCore.Components.netcoreapp.nuspec b/src/Components/Components/src/Microsoft.AspNetCore.Components.netcoreapp.nuspec
index 8e45bbdac0..ff59dd52cb 100644
--- a/src/Components/Components/src/Microsoft.AspNetCore.Components.netcoreapp.nuspec
+++ b/src/Components/Components/src/Microsoft.AspNetCore.Components.netcoreapp.nuspec
@@ -9,11 +9,13 @@
+ packageIcon.png
+
diff --git a/src/Components/Ignitor/src/Ignitor.csproj b/src/Components/Ignitor/src/Ignitor.csproj
index d2fce7263e..2b139eb30f 100644
--- a/src/Components/Ignitor/src/Ignitor.csproj
+++ b/src/Components/Ignitor/src/Ignitor.csproj
@@ -1,7 +1,8 @@

- $(DefaultNetCoreTargetFramework)
+
+ netcoreapp3.0
true
false
false
diff --git a/src/Components/Samples/BlazorServerApp/Pages/Index.razor b/src/Components/Samples/BlazorServerApp/Pages/Index.razor
index 16dac31925..e6a33ccd43 100644
--- a/src/Components/Samples/BlazorServerApp/Pages/Index.razor
+++ b/src/Components/Samples/BlazorServerApp/Pages/Index.razor
@@ -1,4 +1,4 @@
-@page "/"
+@page "/"
Hello, world!
diff --git a/src/Components/Samples/BlazorServerApp/Pages/_Host.cshtml b/src/Components/Samples/BlazorServerApp/Pages/_Host.cshtml
index 7818ea3afd..1c35c6954a 100644
--- a/src/Components/Samples/BlazorServerApp/Pages/_Host.cshtml
+++ b/src/Components/Samples/BlazorServerApp/Pages/_Host.cshtml
@@ -13,10 +13,16 @@
-
- @(await Html.RenderComponentAsync(RenderMode.ServerPrerendered))
-
+
-
+
+