diff --git a/.gitmodules b/.gitmodules
index e8c4effa7e06033f626abaf2caf7d76f23be243e..76458daf89c995f347650df8afa5001d4216eeb7 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -22,26 +22,10 @@
 	path = modules/BrowserLink
 	url = https://github.com/aspnet/BrowserLink.git
 	branch = release/2.1
-[submodule "modules/Caching"]
-	path = modules/Caching
-	url = https://github.com/aspnet/Caching.git
-	branch = release/2.1
-[submodule "modules/Common"]
-	path = modules/Common
-	url = https://github.com/aspnet/Common.git
-	branch = release/2.1
-[submodule "modules/Configuration"]
-	path = modules/Configuration
-	url = https://github.com/aspnet/Configuration.git
-	branch = release/2.1
 [submodule "modules/CORS"]
 	path = modules/CORS
 	url = https://github.com/aspnet/CORS.git
 	branch = release/2.1
-[submodule "modules/DependencyInjection"]
-	path = modules/DependencyInjection
-	url = https://github.com/aspnet/DependencyInjection.git
-	branch = release/2.1
 [submodule "modules/Diagnostics"]
 	path = modules/Diagnostics
 	url = https://github.com/aspnet/Diagnostics.git
@@ -54,14 +38,6 @@
 	path = modules/EntityFrameworkCore
 	url = https://github.com/aspnet/EntityFrameworkCore.git
 	branch = release/2.1
-[submodule "modules/EventNotification"]
-	path = modules/EventNotification
-	url = https://github.com/aspnet/EventNotification.git
-	branch = release/2.1
-[submodule "modules/FileSystem"]
-	path = modules/FileSystem
-	url = https://github.com/aspnet/FileSystem.git
-	branch = release/2.1
 [submodule "modules/Hosting"]
 	path = modules/Hosting
 	url = https://github.com/aspnet/Hosting.git
@@ -102,10 +78,6 @@
 	path = modules/Localization
 	url = https://github.com/aspnet/Localization.git
 	branch = release/2.1
-[submodule "modules/Logging"]
-	path = modules/Logging
-	url = https://github.com/aspnet/Logging.git
-	branch = release/2.1
 [submodule "modules/MetaPackages"]
 	path = modules/MetaPackages
 	url = https://github.com/aspnet/MetaPackages.git
@@ -122,10 +94,6 @@
 	path = modules/MvcPrecompilation
 	url = https://github.com/aspnet/MvcPrecompilation.git
 	branch = release/2.1
-[submodule "modules/Options"]
-	path = modules/Options
-	url = https://github.com/aspnet/Options.git
-	branch = release/2.1
 [submodule "modules/Razor"]
 	path = modules/Razor
 	url = https://github.com/aspnet/Razor.git
@@ -166,7 +134,3 @@
 	path = modules/Templating
 	url = https://github.com/aspnet/Templating.git
 	branch = release/2.1
-[submodule "modules/Testing"]
-	path = modules/Testing
-	url = https://github.com/aspnet/Testing.git
-	branch = release/2.1
diff --git a/build/GenerateCode.targets b/build/GenerateCode.targets
deleted file mode 100644
index 069e358ae6185c15a1f2a94744f6bbb8f75bb378..0000000000000000000000000000000000000000
--- a/build/GenerateCode.targets
+++ /dev/null
@@ -1,17 +0,0 @@
-<!--
-The targets in this file should not be executed from a CI build.
-They are meant to be used by developers to update the ASP.NET Core configuration.
--->
-<Project>
-
-  <!-- Generates a .dgml file representing the repo to repo graph of reach korebuild project -->
-  <Target Name="GenerateSubmoduleGraph" DependsOnTargets="ResolveRepoInfo;GeneratePropsFiles">
-    <RepoTasks.GenerateSubmoduleGraph
-      Solutions="@(Solution)"
-      Artifacts="@(ArtifactInfo)"
-      Repositories="@(Repository)"
-      RepositoryRoot="$(RepositoryRoot)"
-      Properties="Configuration=$(Configuration);BuildNumber=$(BuildNumber);DotNetPackageVersionPropsPath=$(GeneratedPackageVersionPropsPath)" />
-  </Target>
-
-</Project>
diff --git a/build/artifacts.props b/build/artifacts.props
index 39b35505e6149255e264d53238b16e23e00c42ca..a4ec6e8774f4d9f08876b58f18ce61970c52e6f9 100644
--- a/build/artifacts.props
+++ b/build/artifacts.props
@@ -51,9 +51,7 @@
     <PackageArtifact Include="Microsoft.AspNetCore.Authorization" AllMetapackage="true" AppMetapackage="true" Category="ship" />
     <PackageArtifact Include="Microsoft.AspNetCore.AzureAppServices.HostingStartup" AllMetapackage="true" Category="ship" />
     <PackageArtifact Include="Microsoft.AspNetCore.AzureAppServicesIntegration" AllMetapackage="true" Category="ship" />
-    <PackageArtifact Include="Microsoft.AspNetCore.BenchmarkRunner.Sources" Category="noship" />
     <PackageArtifact Include="Microsoft.AspNetCore.Buffering" Category="noship" />
-    <PackageArtifact Include="Microsoft.AspNetCore.Certificates.Generation.Sources" Category="noship" />
     <PackageArtifact Include="Microsoft.AspNetCore.ChunkingCookieManager.Sources" Category="noship" />
     <PackageArtifact Include="Microsoft.AspNetCore.Connections.Abstractions" AllMetapackage="true" AppMetapackage="true" Category="ship" />
     <PackageArtifact Include="Microsoft.AspNetCore.CookiePolicy" AllMetapackage="true" AppMetapackage="true" Category="ship" />
@@ -156,7 +154,6 @@
     <PackageArtifact Include="Microsoft.AspNetCore.SpaServices" AllMetapackage="true" AppMetapackage="true" Category="ship" />
     <PackageArtifact Include="Microsoft.AspNetCore.StaticFiles" AllMetapackage="true" AppMetapackage="true" Category="ship" />
     <PackageArtifact Include="Microsoft.AspNetCore.TestHost" Category="ship" />
-    <PackageArtifact Include="Microsoft.AspNetCore.Testing" Category="noship" />
     <PackageArtifact Include="Microsoft.AspNetCore.WebSockets" AllMetapackage="true" AppMetapackage="true" Category="ship" />
     <PackageArtifact Include="Microsoft.AspNetCore.WebUtilities" AllMetapackage="true" AppMetapackage="true" Category="ship" />
     <PackageArtifact Include="Microsoft.AspNetCore" AllMetapackage="true" AppMetapackage="true" Category="ship" />
@@ -183,40 +180,10 @@
     <PackageArtifact Include="Microsoft.EntityFrameworkCore.SqlServer" AllMetapackage="true" AppMetapackage="true" Category="ship" />
     <PackageArtifact Include="Microsoft.EntityFrameworkCore.Tools" AllMetapackage="true" AppMetapackage="true" Category="ship" />
     <PackageArtifact Include="Microsoft.EntityFrameworkCore" AllMetapackage="true" AppMetapackage="true" Category="ship" />
-    <PackageArtifact Include="Microsoft.Extensions.ActivatorUtilities.Sources" Category="noship" />
     <PackageArtifact Include="Microsoft.Extensions.ApplicationModelDetection" Category="noship" />
     <PackageArtifact Include="Microsoft.Extensions.Buffers.Testing.Sources" Category="noship" />
-    <PackageArtifact Include="Microsoft.Extensions.Caching.Abstractions" AllMetapackage="true" AppMetapackage="true" Category="ship" />
-    <PackageArtifact Include="Microsoft.Extensions.Caching.Memory" AllMetapackage="true" AppMetapackage="true" Category="ship" />
-    <PackageArtifact Include="Microsoft.Extensions.Caching.Redis" AllMetapackage="true" Category="ship" />
-    <PackageArtifact Include="Microsoft.Extensions.Caching.SqlServer" AllMetapackage="true" AppMetapackage="true" Category="ship" />
-    <PackageArtifact Include="Microsoft.Extensions.ClosedGenericMatcher.Sources" Category="noship" />
-    <PackageArtifact Include="Microsoft.Extensions.CommandLineUtils.Sources" Category="noship" />
-    <PackageArtifact Include="Microsoft.Extensions.Configuration.Abstractions" AllMetapackage="true" AppMetapackage="true" Category="ship" />
-    <PackageArtifact Include="Microsoft.Extensions.Configuration.AzureKeyVault" AllMetapackage="true" Category="ship" />
-    <PackageArtifact Include="Microsoft.Extensions.Configuration.Binder" AllMetapackage="true" AppMetapackage="true" Category="ship" />
-    <PackageArtifact Include="Microsoft.Extensions.Configuration.CommandLine" AllMetapackage="true" AppMetapackage="true" Category="ship" />
-    <PackageArtifact Include="Microsoft.Extensions.Configuration.EnvironmentVariables" AllMetapackage="true" AppMetapackage="true" Category="ship" />
-    <PackageArtifact Include="Microsoft.Extensions.Configuration.FileExtensions" AllMetapackage="true" AppMetapackage="true" Category="ship" />
-    <PackageArtifact Include="Microsoft.Extensions.Configuration.Ini" AllMetapackage="true" AppMetapackage="true" Category="ship" />
-    <PackageArtifact Include="Microsoft.Extensions.Configuration.Json" AllMetapackage="true" AppMetapackage="true" Category="ship" />
-    <PackageArtifact Include="Microsoft.Extensions.Configuration.KeyPerFile" AllMetapackage="true" AppMetapackage="true" Category="ship" />
-    <PackageArtifact Include="Microsoft.Extensions.Configuration.UserSecrets" AllMetapackage="true" AppMetapackage="true" Category="ship" />
-    <PackageArtifact Include="Microsoft.Extensions.Configuration.Xml" AllMetapackage="true" AppMetapackage="true" Category="ship" />
-    <PackageArtifact Include="Microsoft.Extensions.Configuration" AllMetapackage="true" AppMetapackage="true" Category="ship" />
-    <PackageArtifact Include="Microsoft.Extensions.CopyOnWriteDictionary.Sources" Category="noship" />
-    <PackageArtifact Include="Microsoft.Extensions.DependencyInjection.Abstractions" AllMetapackage="true" AppMetapackage="true" Category="ship" />
-    <PackageArtifact Include="Microsoft.Extensions.DependencyInjection.Specification.Tests" Category="ship" />
-    <PackageArtifact Include="Microsoft.Extensions.DependencyInjection" AllMetapackage="true" AppMetapackage="true" Category="ship" />
-    <PackageArtifact Include="Microsoft.Extensions.DiagnosticAdapter" AllMetapackage="true" AppMetapackage="true" Category="ship" />
     <PackageArtifact Include="Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions" Category="noship" />
     <PackageArtifact Include="Microsoft.Extensions.Diagnostics.HealthChecks" Category="noship" />
-    <PackageArtifact Include="Microsoft.Extensions.FileProviders.Abstractions" AllMetapackage="true" AppMetapackage="true" Category="ship" />
-    <PackageArtifact Include="Microsoft.Extensions.FileProviders.Composite" AllMetapackage="true" AppMetapackage="true" Category="ship" />
-    <PackageArtifact Include="Microsoft.Extensions.FileProviders.Embedded" AllMetapackage="true" AppMetapackage="true" Category="ship" />
-    <PackageArtifact Include="Microsoft.Extensions.FileProviders.Physical" AllMetapackage="true" AppMetapackage="true" Category="ship" />
-    <PackageArtifact Include="Microsoft.Extensions.FileSystemGlobbing" AllMetapackage="true" AppMetapackage="true" Category="ship" />
-    <PackageArtifact Include="Microsoft.Extensions.HashCodeCombiner.Sources" Category="noship" />
     <PackageArtifact Include="Microsoft.Extensions.Hosting.Abstractions" AllMetapackage="true" AppMetapackage="true" Category="ship" />
     <PackageArtifact Include="Microsoft.Extensions.Hosting" AllMetapackage="true" AppMetapackage="true" Category="ship" />
     <PackageArtifact Include="Microsoft.Extensions.Http.Polly" AllMetapackage="false" AppMetapackage="false" Category="ship" />
@@ -225,32 +192,6 @@
     <PackageArtifact Include="Microsoft.Extensions.Identity.Stores" AllMetapackage="true" AppMetapackage="true" Category="ship" />
     <PackageArtifact Include="Microsoft.Extensions.Localization.Abstractions" AllMetapackage="true" AppMetapackage="true" Category="ship" />
     <PackageArtifact Include="Microsoft.Extensions.Localization" AllMetapackage="true" AppMetapackage="true" Category="ship" />
-    <PackageArtifact Include="Microsoft.Extensions.Logging.Abstractions" AllMetapackage="true" AppMetapackage="true" Category="ship" />
-    <PackageArtifact Include="Microsoft.Extensions.Logging.Analyzers" Analyzer="true" Category="shipoob" />
-    <PackageArtifact Include="Microsoft.Extensions.Logging.AzureAppServices" AllMetapackage="true" Category="ship" />
-    <PackageArtifact Include="Microsoft.Extensions.Logging.Configuration" AllMetapackage="true" AppMetapackage="true" Category="ship" />
-    <PackageArtifact Include="Microsoft.Extensions.Logging.Console" AllMetapackage="true" AppMetapackage="true" Category="ship" />
-    <PackageArtifact Include="Microsoft.Extensions.Logging.Debug" AllMetapackage="true" AppMetapackage="true" Category="ship" />
-    <PackageArtifact Include="Microsoft.Extensions.Logging.EventLog" Category="ship" />
-    <PackageArtifact Include="Microsoft.Extensions.Logging.EventSource" AllMetapackage="true" AppMetapackage="true" Category="ship" />
-    <PackageArtifact Include="Microsoft.Extensions.Logging.Testing" Category="noship" />
-    <PackageArtifact Include="Microsoft.Extensions.Logging.TraceSource" AllMetapackage="true" AppMetapackage="true" Category="ship" />
-    <PackageArtifact Include="Microsoft.Extensions.Logging" AllMetapackage="true" AppMetapackage="true" Category="ship" />
-    <PackageArtifact Include="Microsoft.Extensions.ObjectMethodExecutor.Sources" Category="noship" />
-    <PackageArtifact Include="Microsoft.Extensions.ObjectPool" AllMetapackage="true" AppMetapackage="true" Category="ship" />
-    <PackageArtifact Include="Microsoft.Extensions.Options.ConfigurationExtensions" AllMetapackage="true" AppMetapackage="true" Category="ship" />
-    <PackageArtifact Include="Microsoft.Extensions.Options" AllMetapackage="true" AppMetapackage="true" Category="ship" />
-    <PackageArtifact Include="Microsoft.Extensions.ParameterDefaultValue.Sources" Category="noship" />
-    <PackageArtifact Include="Microsoft.Extensions.Primitives" AllMetapackage="true" AppMetapackage="true" Category="ship" />
-    <PackageArtifact Include="Microsoft.Extensions.Process.Sources" Category="noship" />
-    <PackageArtifact Include="Microsoft.Extensions.PropertyActivator.Sources" Category="noship" />
-    <PackageArtifact Include="Microsoft.Extensions.PropertyHelper.Sources" Category="noship" />
-    <PackageArtifact Include="Microsoft.Extensions.RazorViews.Sources" Category="noship" />
-    <PackageArtifact Include="Microsoft.Extensions.SecurityHelper.Sources" Category="noship" />
-    <PackageArtifact Include="Microsoft.Extensions.StackTrace.Sources" Category="noship" />
-    <PackageArtifact Include="Microsoft.Extensions.TypeNameHelper.Sources" Category="noship" />
-    <PackageArtifact Include="Microsoft.Extensions.ValueStopwatch.Sources" Category="noship" />
-    <PackageArtifact Include="Microsoft.Extensions.WebEncoders.Sources" Category="noship" />
     <PackageArtifact Include="Microsoft.Extensions.WebEncoders" AllMetapackage="true" AppMetapackage="true" Category="ship" />
     <PackageArtifact Include="Microsoft.Net.Http.Headers" AllMetapackage="true" AppMetapackage="true" Category="ship" />
     <PackageArtifact Include="Microsoft.NET.Sdk.Razor" Category="ship" />
diff --git a/build/buildorder.props b/build/buildorder.props
index fdc4e89b0f23e198e834c17767b539193b220291..1cb0f6cec8378c645310fdfc7e945cefab350d82 100644
--- a/build/buildorder.props
+++ b/build/buildorder.props
@@ -7,18 +7,9 @@
   </ItemDefinitionGroup>
 
   <ItemGroup>
-    <RepositoryBuildOrder Include="Common" Order="1" />
-    <RepositoryBuildOrder Include="Testing" Order="1" />
-    <RepositoryBuildOrder Include="DependencyInjection" Order="2" />
-    <RepositoryBuildOrder Include="FileSystem" Order="2" />
-    <RepositoryBuildOrder Include="EventNotification" Order="2" />
-    <RepositoryBuildOrder Include="JsonPatch" Order="2" />
-    <RepositoryBuildOrder Include="Configuration" Order="3" />
-    <RepositoryBuildOrder Include="Options" Order="4" />
-    <RepositoryBuildOrder Include="DotNetTools" Order="4" />
-    <RepositoryBuildOrder Include="Caching" Order="5" />
-    <RepositoryBuildOrder Include="HtmlAbstractions" Order="5" />
-    <RepositoryBuildOrder Include="Logging" Order="5" />
+    <RepositoryBuildOrder Include="JsonPatch" Order="1" />
+    <RepositoryBuildOrder Include="DotNetTools" Order="1" />
+    <RepositoryBuildOrder Include="HtmlAbstractions" Order="1" />
     <RepositoryBuildOrder Include="Razor" Order="6" />
     <RepositoryBuildOrder Include="HttpAbstractions" Order="6" />
     <RepositoryBuildOrder Include="HttpClientFactory" Order="6" />
diff --git a/build/dependencies.props b/build/dependencies.props
index 7de10ef40d2b5dd0cdf6c57d6b703fbc05723dd8..d906e02d29dc1ee6b8b360d5aa22d2eecb3dfa39 100644
--- a/build/dependencies.props
+++ b/build/dependencies.props
@@ -2,9 +2,9 @@
   <!-- These package versions may be overridden or updated by automation. -->
   <PropertyGroup Label="Package Versions: Auto" Condition=" '$(DotNetPackageVersionPropsPath)' == '' ">
     <!-- MicrosoftNETCoreApp21PackageVersion is assigned at the bottom so it can automatically pick up MicrosoftNETCoreAppPackageVersion in an orchestrated build. -->
-    <MicrosoftNETCoreAppPackageVersion>2.1.6-servicing-27017-02</MicrosoftNETCoreAppPackageVersion>
-    <MicrosoftNETCoreDotNetAppHostPackageVersion>2.1.6-servicing-27017-02</MicrosoftNETCoreDotNetAppHostPackageVersion>
-  </PropertyGroup>
+    <MicrosoftNETCoreAppPackageVersion>2.1.6</MicrosoftNETCoreAppPackageVersion>
+    <MicrosoftNETCoreDotNetAppHostPackageVersion>2.1.6</MicrosoftNETCoreDotNetAppHostPackageVersion>
+ </PropertyGroup>
 
   <Import Project="$(DotNetPackageVersionPropsPath)" Condition="'$(DotNetPackageVersionPropsPath)' != ''" />
 
@@ -19,6 +19,68 @@
 
   <!-- These are package versions that should not be overridden or updated by automation. -->
   <PropertyGroup Label="Package Versions: Pinned">
+    <!-- Packages that came from aspnet/Extensions. -->
+    <MicrosoftAspNetCoreBenchmarkRunnerSourcesPackageVersion>2.1.6</MicrosoftAspNetCoreBenchmarkRunnerSourcesPackageVersion>
+    <MicrosoftAspNetCoreCertificatesGenerationSourcesPackageVersion>2.1.6</MicrosoftAspNetCoreCertificatesGenerationSourcesPackageVersion>
+    <MicrosoftAspNetCoreTestingPackageVersion>2.1.0</MicrosoftAspNetCoreTestingPackageVersion>
+    <MicrosoftExtensionsActivatorUtilitiesSourcesPackageVersion>2.1.1</MicrosoftExtensionsActivatorUtilitiesSourcesPackageVersion>
+    <MicrosoftExtensionsCachingAbstractionsPackageVersion>2.1.2</MicrosoftExtensionsCachingAbstractionsPackageVersion>
+    <MicrosoftExtensionsCachingMemoryPackageVersion>2.1.2</MicrosoftExtensionsCachingMemoryPackageVersion>
+    <MicrosoftExtensionsCachingRedisPackageVersion>2.1.2</MicrosoftExtensionsCachingRedisPackageVersion>
+    <MicrosoftExtensionsCachingSqlServerPackageVersion>2.1.2</MicrosoftExtensionsCachingSqlServerPackageVersion>
+    <MicrosoftExtensionsClosedGenericMatcherSourcesPackageVersion>2.1.6</MicrosoftExtensionsClosedGenericMatcherSourcesPackageVersion>
+    <MicrosoftExtensionsCommandLineUtilsSourcesPackageVersion>2.1.6</MicrosoftExtensionsCommandLineUtilsSourcesPackageVersion>
+    <MicrosoftExtensionsConfigurationAbstractionsPackageVersion>2.1.1</MicrosoftExtensionsConfigurationAbstractionsPackageVersion>
+    <MicrosoftExtensionsConfigurationAzureKeyVaultPackageVersion>2.1.1</MicrosoftExtensionsConfigurationAzureKeyVaultPackageVersion>
+    <MicrosoftExtensionsConfigurationBinderPackageVersion>2.1.1</MicrosoftExtensionsConfigurationBinderPackageVersion>
+    <MicrosoftExtensionsConfigurationCommandLinePackageVersion>2.1.1</MicrosoftExtensionsConfigurationCommandLinePackageVersion>
+    <MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>2.1.1</MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>
+    <MicrosoftExtensionsConfigurationFileExtensionsPackageVersion>2.1.1</MicrosoftExtensionsConfigurationFileExtensionsPackageVersion>
+    <MicrosoftExtensionsConfigurationIniPackageVersion>2.1.1</MicrosoftExtensionsConfigurationIniPackageVersion>
+    <MicrosoftExtensionsConfigurationJsonPackageVersion>2.1.1</MicrosoftExtensionsConfigurationJsonPackageVersion>
+    <MicrosoftExtensionsConfigurationKeyPerFilePackageVersion>2.1.1</MicrosoftExtensionsConfigurationKeyPerFilePackageVersion>
+    <MicrosoftExtensionsConfigurationUserSecretsPackageVersion>2.1.1</MicrosoftExtensionsConfigurationUserSecretsPackageVersion>
+    <MicrosoftExtensionsConfigurationXmlPackageVersion>2.1.1</MicrosoftExtensionsConfigurationXmlPackageVersion>
+    <MicrosoftExtensionsConfigurationPackageVersion>2.1.1</MicrosoftExtensionsConfigurationPackageVersion>
+    <MicrosoftExtensionsCopyOnWriteDictionarySourcesPackageVersion>2.1.6</MicrosoftExtensionsCopyOnWriteDictionarySourcesPackageVersion>
+    <MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>2.1.1</MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion>
+    <MicrosoftExtensionsDependencyInjectionSpecificationTestsPackageVersion>2.1.1</MicrosoftExtensionsDependencyInjectionSpecificationTestsPackageVersion>
+    <MicrosoftExtensionsDependencyInjectionPackageVersion>2.1.1</MicrosoftExtensionsDependencyInjectionPackageVersion>
+    <MicrosoftExtensionsDiagnosticAdapterPackageVersion>2.1.1</MicrosoftExtensionsDiagnosticAdapterPackageVersion>
+    <MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>2.1.1</MicrosoftExtensionsFileProvidersAbstractionsPackageVersion>
+    <MicrosoftExtensionsFileProvidersCompositePackageVersion>2.1.1</MicrosoftExtensionsFileProvidersCompositePackageVersion>
+    <MicrosoftExtensionsFileProvidersEmbeddedPackageVersion>2.1.1</MicrosoftExtensionsFileProvidersEmbeddedPackageVersion>
+    <MicrosoftExtensionsFileProvidersPhysicalPackageVersion>2.1.1</MicrosoftExtensionsFileProvidersPhysicalPackageVersion>
+    <MicrosoftExtensionsFileSystemGlobbingPackageVersion>2.1.1</MicrosoftExtensionsFileSystemGlobbingPackageVersion>
+    <MicrosoftExtensionsHashCodeCombinerSourcesPackageVersion>2.1.6</MicrosoftExtensionsHashCodeCombinerSourcesPackageVersion>
+    <MicrosoftExtensionsLoggingAbstractionsPackageVersion>2.1.1</MicrosoftExtensionsLoggingAbstractionsPackageVersion>
+    <MicrosoftExtensionsLoggingAnalyzersPackageVersion>0.1.1</MicrosoftExtensionsLoggingAnalyzersPackageVersion>
+    <MicrosoftExtensionsLoggingAzureAppServicesPackageVersion>2.1.1</MicrosoftExtensionsLoggingAzureAppServicesPackageVersion>
+    <MicrosoftExtensionsLoggingConfigurationPackageVersion>2.1.1</MicrosoftExtensionsLoggingConfigurationPackageVersion>
+    <MicrosoftExtensionsLoggingConsolePackageVersion>2.1.1</MicrosoftExtensionsLoggingConsolePackageVersion>
+    <MicrosoftExtensionsLoggingDebugPackageVersion>2.1.1</MicrosoftExtensionsLoggingDebugPackageVersion>
+    <MicrosoftExtensionsLoggingEventLogPackageVersion>2.1.1</MicrosoftExtensionsLoggingEventLogPackageVersion>
+    <MicrosoftExtensionsLoggingEventSourcePackageVersion>2.1.1</MicrosoftExtensionsLoggingEventSourcePackageVersion>
+    <MicrosoftExtensionsLoggingTestingPackageVersion>2.1.1</MicrosoftExtensionsLoggingTestingPackageVersion>
+    <MicrosoftExtensionsLoggingTraceSourcePackageVersion>2.1.1</MicrosoftExtensionsLoggingTraceSourcePackageVersion>
+    <MicrosoftExtensionsLoggingPackageVersion>2.1.1</MicrosoftExtensionsLoggingPackageVersion>
+    <MicrosoftExtensionsObjectMethodExecutorSourcesPackageVersion>2.1.6</MicrosoftExtensionsObjectMethodExecutorSourcesPackageVersion>
+    <MicrosoftExtensionsObjectPoolPackageVersion>2.1.6</MicrosoftExtensionsObjectPoolPackageVersion>
+    <MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion>2.1.1</MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion>
+    <MicrosoftExtensionsOptionsPackageVersion>2.1.1</MicrosoftExtensionsOptionsPackageVersion>
+    <MicrosoftExtensionsParameterDefaultValueSourcesPackageVersion>2.1.1</MicrosoftExtensionsParameterDefaultValueSourcesPackageVersion>
+    <MicrosoftExtensionsPrimitivesPackageVersion>2.1.6</MicrosoftExtensionsPrimitivesPackageVersion>
+    <MicrosoftExtensionsProcessSourcesPackageVersion>2.1.6</MicrosoftExtensionsProcessSourcesPackageVersion>
+    <MicrosoftExtensionsPropertyActivatorSourcesPackageVersion>2.1.6</MicrosoftExtensionsPropertyActivatorSourcesPackageVersion>
+    <MicrosoftExtensionsPropertyHelperSourcesPackageVersion>2.1.6</MicrosoftExtensionsPropertyHelperSourcesPackageVersion>
+    <MicrosoftExtensionsRazorViewsSourcesPackageVersion>2.1.6</MicrosoftExtensionsRazorViewsSourcesPackageVersion>
+    <MicrosoftExtensionsSecurityHelperSourcesPackageVersion>2.1.6</MicrosoftExtensionsSecurityHelperSourcesPackageVersion>
+    <MicrosoftExtensionsStackTraceSourcesPackageVersion>2.1.6</MicrosoftExtensionsStackTraceSourcesPackageVersion>
+    <MicrosoftExtensionsTypeNameHelperSourcesPackageVersion>2.1.6</MicrosoftExtensionsTypeNameHelperSourcesPackageVersion>
+    <MicrosoftExtensionsValueStopwatchSourcesPackageVersion>2.1.6</MicrosoftExtensionsValueStopwatchSourcesPackageVersion>
+    <MicrosoftExtensionsWebEncodersSourcesPackageVersion>2.1.6</MicrosoftExtensionsWebEncodersSourcesPackageVersion>
+
+    <!-- External and partner dependencies -->
     <AngleSharpPackageVersion>0.9.9</AngleSharpPackageVersion>
     <BenchmarkDotNetPackageVersion>0.10.13</BenchmarkDotNetPackageVersion>
     <CastleCorePackageVersion>4.2.1</CastleCorePackageVersion>
diff --git a/build/external-dependencies.props b/build/external-dependencies.props
index 8f8858d98cf9911deca857eaa1f46959541b837a..d9edeee7cf22227f84e365ffffed8009af9ee85b 100644
--- a/build/external-dependencies.props
+++ b/build/external-dependencies.props
@@ -10,9 +10,85 @@
       <!-- When true, this dependency will be included in the Microsoft.AspNetCore.All metapackage. -->
       <AllMetapackage>false</AllMetapackage>
     </ExternalDependency>
+
+    <!-- For dependencies from aspnet/Extensions -->
+    <ExtensionsDependency>
+      <!-- The NuGet package version. Floating versions not allowed. -->
+      <Version></Version>
+      <!-- When true, this dependency will be included in the Microsoft.AspNetCore.App metapackage. -->
+      <AppMetapackage>false</AppMetapackage>
+      <!-- When true, this dependency will be included in the Microsoft.AspNetCore.All metapackage. -->
+      <AllMetapackage>false</AllMetapackage>
+      <IsExtensionsPackage>true</IsExtensionsPackage>
+    </ExtensionsDependency>
   </ItemDefinitionGroup>
 
   <ItemGroup>
+    <!-- Packages from aspnet/Extensions -->
+    <ExtensionsDependency Include="Microsoft.AspNetCore.BenchmarkRunner.Sources" Version="$(MicrosoftAspNetCoreBenchmarkRunnerSourcesPackageVersion)" />
+    <ExtensionsDependency Include="Microsoft.AspNetCore.Certificates.Generation.Sources" Version="$(MicrosoftAspNetCoreCertificatesGenerationSourcesPackageVersion)" />
+    <ExtensionsDependency Include="Microsoft.AspNetCore.Testing" Version="$(MicrosoftAspNetCoreTestingPackageVersion)" />
+    <ExtensionsDependency Include="Microsoft.Extensions.ActivatorUtilities.Sources" Version="$(MicrosoftExtensionsActivatorUtilitiesSourcesPackageVersion)"  />
+    <ExtensionsDependency Include="Microsoft.Extensions.Caching.Abstractions" Version="$(MicrosoftExtensionsCachingAbstractionsPackageVersion)"  AllMetapackage="true" AppMetapackage="true" />
+    <ExtensionsDependency Include="Microsoft.Extensions.Caching.Memory" Version="$(MicrosoftExtensionsCachingMemoryPackageVersion)"  AllMetapackage="true" AppMetapackage="true" />
+    <ExtensionsDependency Include="Microsoft.Extensions.Caching.Redis" Version="$(MicrosoftExtensionsCachingRedisPackageVersion)"  AllMetapackage="true" />
+    <ExtensionsDependency Include="Microsoft.Extensions.Caching.SqlServer" Version="$(MicrosoftExtensionsCachingSqlServerPackageVersion)"  AllMetapackage="true" AppMetapackage="true" />
+    <ExtensionsDependency Include="Microsoft.Extensions.ClosedGenericMatcher.Sources" Version="$(MicrosoftExtensionsClosedGenericMatcherSourcesPackageVersion)" />
+    <ExtensionsDependency Include="Microsoft.Extensions.CommandLineUtils.Sources" Version="$(MicrosoftExtensionsCommandLineUtilsSourcesPackageVersion)" />
+    <ExtensionsDependency Include="Microsoft.Extensions.Configuration.Abstractions" Version="$(MicrosoftExtensionsConfigurationAbstractionsPackageVersion)"  AllMetapackage="true" AppMetapackage="true" />
+    <ExtensionsDependency Include="Microsoft.Extensions.Configuration.AzureKeyVault" Version="$(MicrosoftExtensionsConfigurationAzureKeyVaultPackageVersion)"  AllMetapackage="true" />
+    <ExtensionsDependency Include="Microsoft.Extensions.Configuration.Binder" Version="$(MicrosoftExtensionsConfigurationBinderPackageVersion)"  AllMetapackage="true" AppMetapackage="true" />
+    <ExtensionsDependency Include="Microsoft.Extensions.Configuration.CommandLine" Version="$(MicrosoftExtensionsConfigurationCommandLinePackageVersion)"  AllMetapackage="true" AppMetapackage="true" />
+    <ExtensionsDependency Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="$(MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion)"  AllMetapackage="true" AppMetapackage="true" />
+    <ExtensionsDependency Include="Microsoft.Extensions.Configuration.FileExtensions" Version="$(MicrosoftExtensionsConfigurationFileExtensionsPackageVersion)"  AllMetapackage="true" AppMetapackage="true" />
+    <ExtensionsDependency Include="Microsoft.Extensions.Configuration.Ini" Version="$(MicrosoftExtensionsConfigurationIniPackageVersion)"  AllMetapackage="true" AppMetapackage="true" />
+    <ExtensionsDependency Include="Microsoft.Extensions.Configuration.Json" Version="$(MicrosoftExtensionsConfigurationJsonPackageVersion)"  AllMetapackage="true" AppMetapackage="true" />
+    <ExtensionsDependency Include="Microsoft.Extensions.Configuration.KeyPerFile" Version="$(MicrosoftExtensionsConfigurationKeyPerFilePackageVersion)"  AllMetapackage="true" AppMetapackage="true" />
+    <ExtensionsDependency Include="Microsoft.Extensions.Configuration.UserSecrets" Version="$(MicrosoftExtensionsConfigurationUserSecretsPackageVersion)"  AllMetapackage="true" AppMetapackage="true" />
+    <ExtensionsDependency Include="Microsoft.Extensions.Configuration.Xml" Version="$(MicrosoftExtensionsConfigurationXmlPackageVersion)"  AllMetapackage="true" AppMetapackage="true" />
+    <ExtensionsDependency Include="Microsoft.Extensions.Configuration" Version="$(MicrosoftExtensionsConfigurationPackageVersion)"  AllMetapackage="true" AppMetapackage="true" />
+    <ExtensionsDependency Include="Microsoft.Extensions.CopyOnWriteDictionary.Sources" Version="$(MicrosoftExtensionsCopyOnWriteDictionarySourcesPackageVersion)" />
+    <ExtensionsDependency Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="$(MicrosoftExtensionsDependencyInjectionAbstractionsPackageVersion)"  AllMetapackage="true" AppMetapackage="true" />
+    <ExtensionsDependency Include="Microsoft.Extensions.DependencyInjection.Specification.Tests" Version="$(MicrosoftExtensionsDependencyInjectionSpecificationTestsPackageVersion)"  />
+    <ExtensionsDependency Include="Microsoft.Extensions.DependencyInjection" Version="$(MicrosoftExtensionsDependencyInjectionPackageVersion)"  AllMetapackage="true" AppMetapackage="true" />
+    <ExtensionsDependency Include="Microsoft.Extensions.DiagnosticAdapter" Version="$(MicrosoftExtensionsDiagnosticAdapterPackageVersion)" AllMetapackage="true" AppMetapackage="true" />
+    <ExtensionsDependency Include="Microsoft.Extensions.FileProviders.Abstractions" Version="$(MicrosoftExtensionsFileProvidersAbstractionsPackageVersion)"  AllMetapackage="true" AppMetapackage="true" />
+    <ExtensionsDependency Include="Microsoft.Extensions.FileProviders.Composite" Version="$(MicrosoftExtensionsFileProvidersCompositePackageVersion)"  AllMetapackage="true" AppMetapackage="true" />
+    <ExtensionsDependency Include="Microsoft.Extensions.FileProviders.Embedded" Version="$(MicrosoftExtensionsFileProvidersEmbeddedPackageVersion)"  AllMetapackage="true" AppMetapackage="true" />
+    <ExtensionsDependency Include="Microsoft.Extensions.FileProviders.Physical" Version="$(MicrosoftExtensionsFileProvidersPhysicalPackageVersion)"  AllMetapackage="true" AppMetapackage="true" />
+    <ExtensionsDependency Include="Microsoft.Extensions.FileSystemGlobbing" Version="$(MicrosoftExtensionsFileSystemGlobbingPackageVersion)"  AllMetapackage="true" AppMetapackage="true" />
+    <ExtensionsDependency Include="Microsoft.Extensions.HashCodeCombiner.Sources" Version="$(MicrosoftExtensionsHashCodeCombinerSourcesPackageVersion)" />
+    <ExtensionsDependency Include="Microsoft.Extensions.Logging.Abstractions" Version="$(MicrosoftExtensionsLoggingAbstractionsPackageVersion)"  AllMetapackage="true" AppMetapackage="true" />
+    <ExtensionsDependency Include="Microsoft.Extensions.Logging.Analyzers" Version="$(MicrosoftExtensionsLoggingAnalyzersPackageVersion)"  Analyzer="true" Category="shipoob" />
+    <ExtensionsDependency Include="Microsoft.Extensions.Logging.AzureAppServices" Version="$(MicrosoftExtensionsLoggingAzureAppServicesPackageVersion)"  AllMetapackage="true" />
+    <ExtensionsDependency Include="Microsoft.Extensions.Logging.Configuration" Version="$(MicrosoftExtensionsLoggingConfigurationPackageVersion)"  AllMetapackage="true" AppMetapackage="true" />
+    <ExtensionsDependency Include="Microsoft.Extensions.Logging.Console" Version="$(MicrosoftExtensionsLoggingConsolePackageVersion)"  AllMetapackage="true" AppMetapackage="true" />
+    <ExtensionsDependency Include="Microsoft.Extensions.Logging.Debug" Version="$(MicrosoftExtensionsLoggingDebugPackageVersion)"  AllMetapackage="true" AppMetapackage="true" />
+    <ExtensionsDependency Include="Microsoft.Extensions.Logging.EventLog" Version="$(MicrosoftExtensionsLoggingEventLogPackageVersion)"  />
+    <ExtensionsDependency Include="Microsoft.Extensions.Logging.EventSource" Version="$(MicrosoftExtensionsLoggingEventSourcePackageVersion)"  AllMetapackage="true" AppMetapackage="true" />
+    <ExtensionsDependency Include="Microsoft.Extensions.Logging.Testing" Version="$(MicrosoftExtensionsLoggingTestingPackageVersion)"  />
+    <ExtensionsDependency Include="Microsoft.Extensions.Logging.TraceSource" Version="$(MicrosoftExtensionsLoggingTraceSourcePackageVersion)"  AllMetapackage="true" AppMetapackage="true" />
+    <ExtensionsDependency Include="Microsoft.Extensions.Logging" Version="$(MicrosoftExtensionsLoggingPackageVersion)"  AllMetapackage="true" AppMetapackage="true" />
+    <ExtensionsDependency Include="Microsoft.Extensions.ObjectMethodExecutor.Sources" Version="$(MicrosoftExtensionsObjectMethodExecutorSourcesPackageVersion)" />
+    <ExtensionsDependency Include="Microsoft.Extensions.ObjectPool" Version="$(MicrosoftExtensionsObjectPoolPackageVersion)" AllMetapackage="true" AppMetapackage="true" />
+    <ExtensionsDependency Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="$(MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion)"  AllMetapackage="true" AppMetapackage="true" />
+    <ExtensionsDependency Include="Microsoft.Extensions.Options" Version="$(MicrosoftExtensionsOptionsPackageVersion)"  AllMetapackage="true" AppMetapackage="true" />
+    <ExtensionsDependency Include="Microsoft.Extensions.ParameterDefaultValue.Sources" Version="$(MicrosoftExtensionsParameterDefaultValueSourcesPackageVersion)"  />
+    <ExtensionsDependency Include="Microsoft.Extensions.Primitives" Version="$(MicrosoftExtensionsPrimitivesPackageVersion)" AllMetapackage="true" AppMetapackage="true" />
+    <ExtensionsDependency Include="Microsoft.Extensions.Process.Sources" Version="$(MicrosoftExtensionsProcessSourcesPackageVersion)" />
+    <ExtensionsDependency Include="Microsoft.Extensions.PropertyActivator.Sources" Version="$(MicrosoftExtensionsPropertyActivatorSourcesPackageVersion)" />
+    <ExtensionsDependency Include="Microsoft.Extensions.PropertyHelper.Sources" Version="$(MicrosoftExtensionsPropertyHelperSourcesPackageVersion)" />
+    <ExtensionsDependency Include="Microsoft.Extensions.RazorViews.Sources" Version="$(MicrosoftExtensionsRazorViewsSourcesPackageVersion)" />
+    <ExtensionsDependency Include="Microsoft.Extensions.SecurityHelper.Sources" Version="$(MicrosoftExtensionsSecurityHelperSourcesPackageVersion)" />
+    <ExtensionsDependency Include="Microsoft.Extensions.StackTrace.Sources" Version="$(MicrosoftExtensionsStackTraceSourcesPackageVersion)" />
+    <ExtensionsDependency Include="Microsoft.Extensions.TypeNameHelper.Sources" Version="$(MicrosoftExtensionsTypeNameHelperSourcesPackageVersion)" />
+    <ExtensionsDependency Include="Microsoft.Extensions.ValueStopwatch.Sources" Version="$(MicrosoftExtensionsValueStopwatchSourcesPackageVersion)" />
+    <ExtensionsDependency Include="Microsoft.Extensions.WebEncoders.Sources" Version="$(MicrosoftExtensionsWebEncodersSourcesPackageVersion)" />
+  </ItemGroup>
+
+   <ItemGroup>
+    <ExternalDependency Include="@(ExtensionsDependency)" />
+
     <ExternalDependency Include="AngleSharp" Version="$(AngleSharpPackageVersion)" />
     <ExternalDependency Include="BenchmarkDotNet" Version="$(BenchmarkDotNetPackageVersion)" />
     <ExternalDependency Include="Castle.Core" Version="$(CastleCorePackageVersion)" />
diff --git a/build/repo.targets b/build/repo.targets
index 076c50232ec611bfea4eb7efdafa02fb29a82a01..cde696935cfc96ce65732fe34863a85e4a14588c 100644
--- a/build/repo.targets
+++ b/build/repo.targets
@@ -5,7 +5,6 @@
   <Import Project="SharedFx.targets" />
   <Import Project="SharedFxInstaller.targets" />
   <Import Project="Publish.targets" />
-  <Import Project="GenerateCode.targets" />
 
   <!-- Workaround for #1014 -->
   <Import Project="buildorder.props" Condition="$([MSBuild]::IsOSUnixLike())" />
diff --git a/build/submodules.props b/build/submodules.props
index 4064fe8af983371a0a551e29186da887c9d7ddb0..8b30d5efcb6d4d78df23313041e2c0a1cbc5bcfe 100644
--- a/build/submodules.props
+++ b/build/submodules.props
@@ -53,17 +53,11 @@
     <ShippedRepository Include="AzureIntegration" />
     <ShippedRepository Include="BasicMiddleware" />
     <ShippedRepository Include="BrowserLink" />
-    <ShippedRepository Include="Caching" />
-    <ShippedRepository Include="Common" />
-    <ShippedRepository Include="Configuration" />
     <ShippedRepository Include="CORS" />
     <ShippedRepository Include="DataProtection" RootPath="$(RepositoryRoot)src\DataProtection\" />
-    <ShippedRepository Include="DependencyInjection" />
     <ShippedRepository Include="Diagnostics" />
     <ShippedRepository Include="DotNetTools" />
     <ShippedRepository Include="EntityFrameworkCore" />
-    <ShippedRepository Include="EventNotification" />
-    <ShippedRepository Include="FileSystem" />
     <ShippedRepository Include="Hosting" />
     <ShippedRepository Include="HtmlAbstractions" />
     <ShippedRepository Include="HttpAbstractions" />
@@ -74,10 +68,8 @@
     <ShippedRepository Include="JsonPatch" />
     <ShippedRepository Include="KestrelHttpServer" />
     <ShippedRepository Include="Localization" />
-    <ShippedRepository Include="Logging" />
     <ShippedRepository Include="Mvc" />
     <ShippedRepository Include="MvcPrecompilation" />
-    <ShippedRepository Include="Options" />
     <ShippedRepository Include="Razor" />
     <ShippedRepository Include="ResponseCaching" />
     <ShippedRepository Include="Routing" />
@@ -85,7 +77,6 @@
     <ShippedRepository Include="Session" />
     <ShippedRepository Include="SignalR" />
     <ShippedRepository Include="StaticFiles" />
-    <ShippedRepository Include="Testing" />
     <ShippedRepository Include="WebSockets" RootPath="$(RepositoryRoot)src\WebSockets\" />
   </ItemGroup>
 </Project>
diff --git a/build/tasks/AnalyzeBuildGraph.cs b/build/tasks/AnalyzeBuildGraph.cs
index a7193d7735ae070184bfd8de5f129214ac5c86e7..c70d1d8a56c167d3c829658332de46a1cb869879 100644
--- a/build/tasks/AnalyzeBuildGraph.cs
+++ b/build/tasks/AnalyzeBuildGraph.cs
@@ -111,16 +111,26 @@ namespace RepoTasks
             var dependencyMap = new Dictionary<string, List<ExternalDependency>>(StringComparer.OrdinalIgnoreCase);
             foreach (var dep in Dependencies)
             {
-                if (!dependencyMap.TryGetValue(dep.ItemSpec, out var versions))
+                if (dep.GetMetadata("IsExtensionsPackage") == "true")
                 {
-                    dependencyMap[dep.ItemSpec] = versions = new List<ExternalDependency>();
+                    buildPackageMap.Add(dep.ItemSpec, new ArtifactInfo.Package
+                    {
+                        PackageInfo = new PackageInfo(dep.ItemSpec, new NuGetVersion(dep.GetMetadata("Version")), null, null),
+                    });
                 }
-
-                versions.Add(new ExternalDependency
+                else
                 {
-                    PackageId = dep.ItemSpec,
-                    Version = dep.GetMetadata("Version"),
-                });
+                    if (!dependencyMap.TryGetValue(dep.ItemSpec, out var versions))
+                    {
+                        dependencyMap[dep.ItemSpec] = versions = new List<ExternalDependency>();
+                    }
+
+                    versions.Add(new ExternalDependency
+                    {
+                        PackageId = dep.ItemSpec,
+                        Version = dep.GetMetadata("Version"),
+                    });
+                }
             }
 
             var inconsistentVersions = new List<VersionMismatch>();
diff --git a/build/tasks/CodeGen/DirectedGraphXml.cs b/build/tasks/CodeGen/DirectedGraphXml.cs
deleted file mode 100644
index e90d66ca6b33627f2d23eba3c83e4c6e2dfcb22d..0000000000000000000000000000000000000000
--- a/build/tasks/CodeGen/DirectedGraphXml.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-
-// Copyright (c) .NET Foundation. All rights reserved.
-// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
-
-using System.Xml.Linq;
-
-namespace RepoTasks.CodeGen
-{
-    class DirectedGraphXml
-    {
-        private readonly XNamespace _ns = "http://schemas.microsoft.com/vs/2009/dgml";
-        private readonly XDocument _doc;
-        private readonly XElement _nodes;
-        private readonly XElement _links;
-
-        public DirectedGraphXml()
-        {
-            _doc = new XDocument(new XElement(_ns + "DirectedGraph"));
-            _nodes = new XElement(_ns + "Nodes");
-            _links = new XElement(_ns + "Links");
-            _doc.Root.Add(_nodes);
-            _doc.Root.Add(_links);
-        }
-
-        public void AddNode(string id)
-        {
-            _nodes.Add(new XElement(_ns + "Node", new XAttribute("Id", id), new XAttribute("Label", id)));
-        }
-
-        public void AddLink(string source, string target)
-        {
-            _links.Add(new XElement(_ns + "Link",
-                new XAttribute("Source", source),
-                new XAttribute("Target", target)));
-        }
-
-        public void Save(string path)
-        {
-            _doc.Save(path);
-        }
-    }
-}
diff --git a/build/tasks/CodeGen/GenerateSubmoduleGraph.cs b/build/tasks/CodeGen/GenerateSubmoduleGraph.cs
deleted file mode 100644
index 7940b5cba28b0597cec58081d50bf1656c67aa9f..0000000000000000000000000000000000000000
--- a/build/tasks/CodeGen/GenerateSubmoduleGraph.cs
+++ /dev/null
@@ -1,226 +0,0 @@
-
-// Copyright (c) .NET Foundation. All rights reserved.
-// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
-
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Linq;
-using System.IO;
-using System.Text;
-using System.Threading;
-using Microsoft.Build.Framework;
-using Microsoft.Build.Utilities;
-using NuGet.Frameworks;
-using NuGet.Versioning;
-using RepoTools.BuildGraph;
-using RepoTasks.ProjectModel;
-using RepoTasks.Utilities;
-using RepoTasks.CodeGen;
-using NuGet.Packaging.Core;
-
-namespace RepoTasks
-{
-    public class GenerateSubmoduleGraph : Task, ICancelableTask
-    {
-        private readonly CancellationTokenSource _cts = new CancellationTokenSource();
-
-        /// <summary>
-        /// Repositories that we are building new versions of.
-        /// </summary>
-        [Required]
-        public ITaskItem[] Solutions { get; set; }
-
-        [Required]
-        public ITaskItem[] Artifacts { get; set; }
-
-        [Required]
-        public ITaskItem[] Repositories { get; set; }
-
-        [Required]
-        public string RepositoryRoot { get; set; }
-
-        [Required]
-        public string Properties { get; set; }
-
-        public void Cancel()
-        {
-            _cts.Cancel();
-        }
-
-        public override bool Execute()
-        {
-            var packageArtifacts = Artifacts.Select(ArtifactInfo.Parse)
-                .OfType<ArtifactInfo.Package>()
-                .Where(p => !p.IsSymbolsArtifact)
-                .ToDictionary(p => p.PackageInfo.Id, p => p, StringComparer.OrdinalIgnoreCase);
-
-            var factory = new SolutionInfoFactory(Log, BuildEngine5);
-            var props = MSBuildListSplitter.GetNamedProperties(Properties);
-
-            Log.LogMessage(MessageImportance.High, $"Beginning cross-repo analysis on {Solutions.Length} solutions. Hang tight...");
-
-            if (!props.TryGetValue("Configuration", out var defaultConfig))
-            {
-                defaultConfig = "Debug";
-            }
-
-            var solutions = factory.Create(Solutions, props, defaultConfig, _cts.Token).OrderBy(f => f.Directory).ToList();
-            Log.LogMessage($"Found {solutions.Count} and {solutions.Sum(p => p.Projects.Count)} projects");
-
-            if (_cts.IsCancellationRequested)
-            {
-                return false;
-            }
-
-            return GenerateGraph(packageArtifacts, solutions);
-        }
-
-        private bool GenerateGraph(IDictionary<string, ArtifactInfo.Package> packageArtifacts, IReadOnlyList<SolutionInfo> solutions)
-        {
-            var repoGraph = new AdjacencyMatrix(solutions.Count);
-            var packageToProjectMap = new Dictionary<PackageIdentity, ProjectInfo>();
-
-            for (var i = 0; i < solutions.Count; i++)
-            {
-                var sln = repoGraph[i] = solutions[i];
-
-                foreach (var proj in sln.Projects)
-                {
-                    if (!proj.IsPackable || proj.FullPath.Contains("samples"))
-                    {
-                        continue;
-                    }
-
-                    var id = new PackageIdentity(proj.PackageId, new NuGetVersion(proj.PackageVersion));
-
-                    if (packageToProjectMap.TryGetValue(id, out var otherProj))
-                    {
-                        Log.LogError($"Both {proj.FullPath} and {otherProj.FullPath} produce {id}");
-                        continue;
-                    }
-
-                    packageToProjectMap.Add(id, proj);
-                }
-
-                var sharedSrc = Path.Combine(sln.Directory, "shared");
-                if (Directory.Exists(sharedSrc))
-                {
-                    foreach (var dir in Directory.GetDirectories(sharedSrc, "*.Sources"))
-                    {
-                        var id = Path.GetFileName(dir);
-                        var artifactInfo = packageArtifacts[id];
-                        var sharedSrcProj = new ProjectInfo(dir,
-                            Array.Empty<ProjectFrameworkInfo>(),
-                            Array.Empty<DotNetCliReferenceInfo>(),
-                            true,
-                            artifactInfo.PackageInfo.Id,
-                            artifactInfo.PackageInfo.Version.ToNormalizedString());
-                        sharedSrcProj.SolutionInfo = sln;
-                        var identity = new PackageIdentity(artifactInfo.PackageInfo.Id, artifactInfo.PackageInfo.Version);
-                        packageToProjectMap.Add(identity, sharedSrcProj);
-                    }
-                }
-            }
-
-            if (Log.HasLoggedErrors)
-            {
-                return false;
-            }
-
-            for (var i = 0; i < solutions.Count; i++)
-            {
-                var sln = repoGraph[i];
-
-                var deps = from proj in sln.Projects
-                           from tfm in proj.Frameworks
-                           from dep in tfm.Dependencies.Values
-                           select dep;
-
-                foreach (var dep in deps)
-                {
-                    if (packageToProjectMap.TryGetValue(new PackageIdentity(dep.Id, new NuGetVersion(dep.Version)), out var target))
-                    {
-                        var j = repoGraph.FindIndex(target.SolutionInfo);
-                        repoGraph.SetLink(i, j);
-                    }
-                }
-
-                var toolDeps = from proj in sln.Projects
-                               from tool in proj.Tools
-                               select tool;
-
-                foreach (var toolDep in toolDeps)
-                {
-                    if (packageToProjectMap.TryGetValue(new PackageIdentity(toolDep.Id, new NuGetVersion(toolDep.Version)), out var target))
-                    {
-                        var j = repoGraph.FindIndex(target.SolutionInfo);
-                        repoGraph.SetLink(i, j);
-                    }
-                }
-            }
-
-            CreateDgml(repoGraph);
-            return !Log.HasLoggedErrors;
-        }
-
-
-        private void CreateDgml(AdjacencyMatrix repoGraph)
-        {
-            var dgml = new DirectedGraphXml();
-
-            for (var i = 0; i < repoGraph.Count; i++)
-            {
-                var node = repoGraph[i];
-                var nodeName = Path.GetFileName(node.Directory);
-                dgml.AddNode(nodeName);
-
-                for (var j = 0; j < repoGraph.Count; j++)
-                {
-                    if (j == i) continue;
-                    if (repoGraph.HasLink(i, j))
-                    {
-                        var target = repoGraph[j];
-                        var targetName = Path.GetFileName(target.Directory);
-                        dgml.AddLink(nodeName, targetName);
-                    }
-                }
-            }
-
-            dgml.Save(Path.Combine(RepositoryRoot, "modules", "SubmoduleGraph.dgml"));
-        }
-
-        private class AdjacencyMatrix
-        {
-            private readonly bool[,] _matrix;
-            private readonly SolutionInfo[] _items;
-
-            public AdjacencyMatrix(int size)
-            {
-                _matrix = new bool[size, size];
-                _items = new SolutionInfo[size];
-                Count = size;
-            }
-
-            public SolutionInfo this[int idx]
-            {
-                get => _items[idx];
-                set => _items[idx] = value;
-            }
-
-            public int FindIndex(SolutionInfo item)
-            {
-                return Array.FindIndex(_items, t => t.Equals(item));
-            }
-
-            public int Count { get; }
-
-            public bool HasLink(int source, int target) => _matrix[source, target];
-
-            public void SetLink(int source, int target)
-            {
-                _matrix[source, target] = true;
-            }
-        }
-    }
-}
diff --git a/build/tasks/CodeGen/RepositoryProject.cs b/build/tasks/CodeGen/RepositoryProject.cs
deleted file mode 100644
index 1cb3b76391081f9d9c97c48d9e0394625b781c3a..0000000000000000000000000000000000000000
--- a/build/tasks/CodeGen/RepositoryProject.cs
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright (c) .NET Foundation. All rights reserved.
-// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
-
-using System;
-using System.IO;
-using System.Text;
-using Microsoft.Build.Construction;
-using Microsoft.Build.Evaluation;
-
-namespace RepoTasks.CodeGen
-{
-    class RepositoryProject
-    {
-        private readonly ProjectRootElement _doc;
-
-        public RepositoryProject(string repositoryRoot)
-        {
-            _doc = ProjectRootElement.Create(NewProjectFileOptions.None);
-            var import = _doc.CreateImportElement(@"$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props");
-            var propGroup = _doc.AddPropertyGroup();
-            if (repositoryRoot[repositoryRoot.Length - 1] != '\\')
-            {
-                repositoryRoot += '\\';
-            }
-            propGroup.AddProperty("RepositoryRoot", repositoryRoot);
-            _doc.AddItemGroup();
-            _doc.PrependChild(import);
-            _doc.AddImport(@"$(MSBuildToolsPath)\Microsoft.Common.targets");
-        }
-
-        public void AddProjectReference(string path)
-        {
-            _doc.AddItem("ProjectReference", path);
-        }
-
-        public void AddProperty(string name, string value)
-        {
-            _doc.AddProperty(name, value);
-        }
-
-        public void Save(string filePath)
-        {
-            _doc.Save(filePath, Encoding.UTF8);
-        }
-    }
-}
diff --git a/build/tasks/RepoTasks.tasks b/build/tasks/RepoTasks.tasks
index 1339fcba27237c7b58f2c87a136cfefdfdc661a5..2c2f8d48af15af50ba336455f8db0a924c465d17 100644
--- a/build/tasks/RepoTasks.tasks
+++ b/build/tasks/RepoTasks.tasks
@@ -10,7 +10,6 @@
   <UsingTask TaskName="RepoTasks.CheckVersionOverrides" AssemblyFile="$(_RepoTaskAssembly)" />
   <UsingTask TaskName="RepoTasks.CreateLzma" AssemblyFile="$(_RepoTaskAssembly)" />
   <UsingTask TaskName="RepoTasks.GenerateRestoreSourcesPropsFile" AssemblyFile="$(_RepoTaskAssembly)" />
-  <UsingTask TaskName="RepoTasks.GenerateSubmoduleGraph" AssemblyFile="$(_RepoTaskAssembly)" />
   <UsingTask TaskName="RepoTasks.GetDocXmlFiles" AssemblyFile="$(_RepoTaskAssembly)" />
   <UsingTask TaskName="RepoTasks.JoinItems" AssemblyFile="$(_RepoTaskAssembly)" />
   <UsingTask TaskName="RepoTasks.OrderBy" AssemblyFile="$(_RepoTaskAssembly)" />
diff --git a/modules/Caching b/modules/Caching
deleted file mode 160000
index ced279b071920f055a309cd81acc333780ef2bf4..0000000000000000000000000000000000000000
--- a/modules/Caching
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit ced279b071920f055a309cd81acc333780ef2bf4
diff --git a/modules/Common b/modules/Common
deleted file mode 160000
index 975fcf302632a83059086cd8faabb92379f09d02..0000000000000000000000000000000000000000
--- a/modules/Common
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 975fcf302632a83059086cd8faabb92379f09d02
diff --git a/modules/Configuration b/modules/Configuration
deleted file mode 160000
index ef29dc86b970893147fd2a27d527f5a907af9fdd..0000000000000000000000000000000000000000
--- a/modules/Configuration
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit ef29dc86b970893147fd2a27d527f5a907af9fdd
diff --git a/modules/DependencyInjection b/modules/DependencyInjection
deleted file mode 160000
index 7a283947c231b6585c8ac95e653950b660f3da96..0000000000000000000000000000000000000000
--- a/modules/DependencyInjection
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 7a283947c231b6585c8ac95e653950b660f3da96
diff --git a/modules/EventNotification b/modules/EventNotification
deleted file mode 160000
index 69d9ba130050107409fc5c3d9d834ca55fc7a95d..0000000000000000000000000000000000000000
--- a/modules/EventNotification
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 69d9ba130050107409fc5c3d9d834ca55fc7a95d
diff --git a/modules/FileSystem b/modules/FileSystem
deleted file mode 160000
index baebb8b0c672ab37bac72d7196da1b919d362cc5..0000000000000000000000000000000000000000
--- a/modules/FileSystem
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit baebb8b0c672ab37bac72d7196da1b919d362cc5
diff --git a/modules/Logging b/modules/Logging
deleted file mode 160000
index 8270c545224e8734d7297e54edef5c584ee82f01..0000000000000000000000000000000000000000
--- a/modules/Logging
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 8270c545224e8734d7297e54edef5c584ee82f01
diff --git a/modules/Options b/modules/Options
deleted file mode 160000
index 2ea21ace21105df2839766a5f13e8e2636b7fc41..0000000000000000000000000000000000000000
--- a/modules/Options
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 2ea21ace21105df2839766a5f13e8e2636b7fc41
diff --git a/modules/SubmoduleGraph.dgml b/modules/SubmoduleGraph.dgml
deleted file mode 100644
index cdcd0a92cdc8a63afd56d05054f6a7d7d6947adf..0000000000000000000000000000000000000000
--- a/modules/SubmoduleGraph.dgml
+++ /dev/null
@@ -1,421 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<DirectedGraph xmlns="http://schemas.microsoft.com/vs/2009/dgml">
-  <Nodes>
-    <Node Id="AADIntegration" Label="AADIntegration" />
-    <Node Id="Antiforgery" Label="Antiforgery" />
-    <Node Id="AuthSamples" Label="AuthSamples" />
-    <Node Id="AzureIntegration" Label="AzureIntegration" />
-    <Node Id="BasicMiddleware" Label="BasicMiddleware" />
-    <Node Id="BrowserLink" Label="BrowserLink" />
-    <Node Id="Caching" Label="Caching" />
-    <Node Id="Common" Label="Common" />
-    <Node Id="Configuration" Label="Configuration" />
-    <Node Id="CORS" Label="CORS" />
-    <Node Id="DataProtection" Label="DataProtection" />
-    <Node Id="DependencyInjection" Label="DependencyInjection" />
-    <Node Id="Diagnostics" Label="Diagnostics" />
-    <Node Id="DotNetTools" Label="DotNetTools" />
-    <Node Id="EntityFrameworkCore" Label="EntityFrameworkCore" />
-    <Node Id="EventNotification" Label="EventNotification" />
-    <Node Id="FileSystem" Label="FileSystem" />
-    <Node Id="Hosting" Label="Hosting" />
-    <Node Id="HtmlAbstractions" Label="HtmlAbstractions" />
-    <Node Id="HttpAbstractions" Label="HttpAbstractions" />
-    <Node Id="HttpClientFactory" Label="HttpClientFactory" />
-    <Node Id="HttpSysServer" Label="HttpSysServer" />
-    <Node Id="Identity" Label="Identity" />
-    <Node Id="IISIntegration" Label="IISIntegration" />
-    <Node Id="JavaScriptServices" Label="JavaScriptServices" />
-    <Node Id="JsonPatch" Label="JsonPatch" />
-    <Node Id="KestrelHttpServer" Label="KestrelHttpServer" />
-    <Node Id="Localization" Label="Localization" />
-    <Node Id="Logging" Label="Logging" />
-    <Node Id="MetaPackages" Label="MetaPackages" />
-    <Node Id="Microsoft.Data.Sqlite" Label="Microsoft.Data.Sqlite" />
-    <Node Id="MusicStore" Label="MusicStore" />
-    <Node Id="Mvc" Label="Mvc" />
-    <Node Id="MvcPrecompilation" Label="MvcPrecompilation" />
-    <Node Id="Options" Label="Options" />
-    <Node Id="Proxy" Label="Proxy" />
-    <Node Id="Razor" Label="Razor" />
-    <Node Id="ResponseCaching" Label="ResponseCaching" />
-    <Node Id="Routing" Label="Routing" />
-    <Node Id="Scaffolding" Label="Scaffolding" />
-    <Node Id="Security" Label="Security" />
-    <Node Id="ServerTests" Label="ServerTests" />
-    <Node Id="Session" Label="Session" />
-    <Node Id="SignalR" Label="SignalR" />
-    <Node Id="StaticFiles" Label="StaticFiles" />
-    <Node Id="Testing" Label="Testing" />
-    <Node Id="WebHooks" Label="WebHooks" />
-    <Node Id="WebSockets" Label="WebSockets" />
-  </Nodes>
-  <Links>
-    <Link Source="AADIntegration" Target="BasicMiddleware" />
-    <Link Source="AADIntegration" Target="Configuration" />
-    <Link Source="AADIntegration" Target="IISIntegration" />
-    <Link Source="AADIntegration" Target="KestrelHttpServer" />
-    <Link Source="AADIntegration" Target="Logging" />
-    <Link Source="AADIntegration" Target="Mvc" />
-    <Link Source="AADIntegration" Target="Security" />
-    <Link Source="AADIntegration" Target="StaticFiles" />
-    <Link Source="Antiforgery" Target="Common" />
-    <Link Source="Antiforgery" Target="DataProtection" />
-    <Link Source="Antiforgery" Target="DependencyInjection" />
-    <Link Source="Antiforgery" Target="HtmlAbstractions" />
-    <Link Source="Antiforgery" Target="HttpAbstractions" />
-    <Link Source="Antiforgery" Target="Logging" />
-    <Link Source="Antiforgery" Target="Testing" />
-    <Link Source="AuthSamples" Target="Configuration" />
-    <Link Source="AuthSamples" Target="DataProtection" />
-    <Link Source="AuthSamples" Target="Diagnostics" />
-    <Link Source="AuthSamples" Target="EntityFrameworkCore" />
-    <Link Source="AuthSamples" Target="Hosting" />
-    <Link Source="AuthSamples" Target="Identity" />
-    <Link Source="AuthSamples" Target="IISIntegration" />
-    <Link Source="AuthSamples" Target="KestrelHttpServer" />
-    <Link Source="AuthSamples" Target="Logging" />
-    <Link Source="AuthSamples" Target="MetaPackages" />
-    <Link Source="AuthSamples" Target="Mvc" />
-    <Link Source="AuthSamples" Target="Security" />
-    <Link Source="AuthSamples" Target="StaticFiles" />
-    <Link Source="AuthSamples" Target="Testing" />
-    <Link Source="AzureIntegration" Target="Common" />
-    <Link Source="AzureIntegration" Target="Configuration" />
-    <Link Source="AzureIntegration" Target="EventNotification" />
-    <Link Source="AzureIntegration" Target="Hosting" />
-    <Link Source="AzureIntegration" Target="IISIntegration" />
-    <Link Source="AzureIntegration" Target="KestrelHttpServer" />
-    <Link Source="AzureIntegration" Target="Logging" />
-    <Link Source="AzureIntegration" Target="Mvc" />
-    <Link Source="AzureIntegration" Target="Razor" />
-    <Link Source="BasicMiddleware" Target="Configuration" />
-    <Link Source="BasicMiddleware" Target="FileSystem" />
-    <Link Source="BasicMiddleware" Target="Hosting" />
-    <Link Source="BasicMiddleware" Target="HttpAbstractions" />
-    <Link Source="BasicMiddleware" Target="KestrelHttpServer" />
-    <Link Source="BasicMiddleware" Target="Logging" />
-    <Link Source="BasicMiddleware" Target="Options" />
-    <Link Source="BrowserLink" Target="FileSystem" />
-    <Link Source="BrowserLink" Target="Hosting" />
-    <Link Source="BrowserLink" Target="HttpAbstractions" />
-    <Link Source="BrowserLink" Target="Testing" />
-    <Link Source="Caching" Target="Common" />
-    <Link Source="Caching" Target="Configuration" />
-    <Link Source="Caching" Target="DependencyInjection" />
-    <Link Source="Caching" Target="FileSystem" />
-    <Link Source="Caching" Target="Options" />
-    <Link Source="Caching" Target="Testing" />
-    <Link Source="Configuration" Target="Common" />
-    <Link Source="Configuration" Target="FileSystem" />
-    <Link Source="Configuration" Target="Testing" />
-    <Link Source="CORS" Target="Configuration" />
-    <Link Source="CORS" Target="DependencyInjection" />
-    <Link Source="CORS" Target="Hosting" />
-    <Link Source="CORS" Target="HttpAbstractions" />
-    <Link Source="CORS" Target="IISIntegration" />
-    <Link Source="CORS" Target="KestrelHttpServer" />
-    <Link Source="CORS" Target="Logging" />
-    <Link Source="CORS" Target="Options" />
-    <Link Source="DataProtection" Target="Common" />
-    <Link Source="DataProtection" Target="Configuration" />
-    <Link Source="DataProtection" Target="DependencyInjection" />
-    <Link Source="DataProtection" Target="Hosting" />
-    <Link Source="DataProtection" Target="Logging" />
-    <Link Source="DataProtection" Target="Options" />
-    <Link Source="DataProtection" Target="Testing" />
-    <Link Source="DependencyInjection" Target="Common" />
-    <Link Source="DependencyInjection" Target="Testing" />
-    <Link Source="Diagnostics" Target="Common" />
-    <Link Source="Diagnostics" Target="DependencyInjection" />
-    <Link Source="Diagnostics" Target="EntityFrameworkCore" />
-    <Link Source="Diagnostics" Target="EventNotification" />
-    <Link Source="Diagnostics" Target="FileSystem" />
-    <Link Source="Diagnostics" Target="Hosting" />
-    <Link Source="Diagnostics" Target="HttpAbstractions" />
-    <Link Source="Diagnostics" Target="IISIntegration" />
-    <Link Source="Diagnostics" Target="KestrelHttpServer" />
-    <Link Source="Diagnostics" Target="Logging" />
-    <Link Source="Diagnostics" Target="Options" />
-    <Link Source="Diagnostics" Target="StaticFiles" />
-    <Link Source="Diagnostics" Target="Testing" />
-    <Link Source="DotNetTools" Target="Common" />
-    <Link Source="DotNetTools" Target="Configuration" />
-    <Link Source="DotNetTools" Target="Testing" />
-    <Link Source="EntityFrameworkCore" Target="Caching" />
-    <Link Source="EntityFrameworkCore" Target="Configuration" />
-    <Link Source="EntityFrameworkCore" Target="DependencyInjection" />
-    <Link Source="EntityFrameworkCore" Target="Hosting" />
-    <Link Source="EntityFrameworkCore" Target="Logging" />
-    <Link Source="EntityFrameworkCore" Target="Microsoft.Data.Sqlite" />
-    <Link Source="EventNotification" Target="Testing" />
-    <Link Source="FileSystem" Target="Common" />
-    <Link Source="FileSystem" Target="Testing" />
-    <Link Source="Hosting" Target="Common" />
-    <Link Source="Hosting" Target="Configuration" />
-    <Link Source="Hosting" Target="DependencyInjection" />
-    <Link Source="Hosting" Target="EventNotification" />
-    <Link Source="Hosting" Target="FileSystem" />
-    <Link Source="Hosting" Target="HttpAbstractions" />
-    <Link Source="Hosting" Target="Logging" />
-    <Link Source="Hosting" Target="Options" />
-    <Link Source="Hosting" Target="Testing" />
-    <Link Source="HtmlAbstractions" Target="DependencyInjection" />
-    <Link Source="HtmlAbstractions" Target="Options" />
-    <Link Source="HtmlAbstractions" Target="Testing" />
-    <Link Source="HttpAbstractions" Target="Common" />
-    <Link Source="HttpAbstractions" Target="DependencyInjection" />
-    <Link Source="HttpAbstractions" Target="FileSystem" />
-    <Link Source="HttpAbstractions" Target="Logging" />
-    <Link Source="HttpAbstractions" Target="Options" />
-    <Link Source="HttpAbstractions" Target="Testing" />
-    <Link Source="HttpClientFactory" Target="Common" />
-    <Link Source="HttpClientFactory" Target="DependencyInjection" />
-    <Link Source="HttpClientFactory" Target="Logging" />
-    <Link Source="HttpClientFactory" Target="Options" />
-    <Link Source="HttpClientFactory" Target="Testing" />
-    <Link Source="HttpSysServer" Target="Hosting" />
-    <Link Source="HttpSysServer" Target="HttpAbstractions" />
-    <Link Source="HttpSysServer" Target="Logging" />
-    <Link Source="HttpSysServer" Target="Testing" />
-    <Link Source="Identity" Target="BasicMiddleware" />
-    <Link Source="Identity" Target="Common" />
-    <Link Source="Identity" Target="Configuration" />
-    <Link Source="Identity" Target="DataProtection" />
-    <Link Source="Identity" Target="DependencyInjection" />
-    <Link Source="Identity" Target="Diagnostics" />
-    <Link Source="Identity" Target="EntityFrameworkCore" />
-    <Link Source="Identity" Target="FileSystem" />
-    <Link Source="Identity" Target="Hosting" />
-    <Link Source="Identity" Target="HttpAbstractions" />
-    <Link Source="Identity" Target="IISIntegration" />
-    <Link Source="Identity" Target="KestrelHttpServer" />
-    <Link Source="Identity" Target="Logging" />
-    <Link Source="Identity" Target="Mvc" />
-    <Link Source="Identity" Target="Options" />
-    <Link Source="Identity" Target="Razor" />
-    <Link Source="Identity" Target="Security" />
-    <Link Source="Identity" Target="StaticFiles" />
-    <Link Source="Identity" Target="Testing" />
-    <Link Source="IISIntegration" Target="BasicMiddleware" />
-    <Link Source="IISIntegration" Target="Common" />
-    <Link Source="IISIntegration" Target="Configuration" />
-    <Link Source="IISIntegration" Target="Hosting" />
-    <Link Source="IISIntegration" Target="HttpAbstractions" />
-    <Link Source="IISIntegration" Target="HttpSysServer" />
-    <Link Source="IISIntegration" Target="KestrelHttpServer" />
-    <Link Source="IISIntegration" Target="Logging" />
-    <Link Source="IISIntegration" Target="Options" />
-    <Link Source="JavaScriptServices" Target="DependencyInjection" />
-    <Link Source="JavaScriptServices" Target="Diagnostics" />
-    <Link Source="JavaScriptServices" Target="FileSystem" />
-    <Link Source="JavaScriptServices" Target="Hosting" />
-    <Link Source="JavaScriptServices" Target="IISIntegration" />
-    <Link Source="JavaScriptServices" Target="KestrelHttpServer" />
-    <Link Source="JavaScriptServices" Target="Logging" />
-    <Link Source="JavaScriptServices" Target="Mvc" />
-    <Link Source="JavaScriptServices" Target="StaticFiles" />
-    <Link Source="JavaScriptServices" Target="WebSockets" />
-    <Link Source="JsonPatch" Target="Common" />
-    <Link Source="JsonPatch" Target="Testing" />
-    <Link Source="KestrelHttpServer" Target="Common" />
-    <Link Source="KestrelHttpServer" Target="Configuration" />
-    <Link Source="KestrelHttpServer" Target="DependencyInjection" />
-    <Link Source="KestrelHttpServer" Target="Hosting" />
-    <Link Source="KestrelHttpServer" Target="HttpAbstractions" />
-    <Link Source="KestrelHttpServer" Target="Logging" />
-    <Link Source="KestrelHttpServer" Target="Options" />
-    <Link Source="KestrelHttpServer" Target="Testing" />
-    <Link Source="Localization" Target="Configuration" />
-    <Link Source="Localization" Target="DependencyInjection" />
-    <Link Source="Localization" Target="Hosting" />
-    <Link Source="Localization" Target="HttpAbstractions" />
-    <Link Source="Localization" Target="IISIntegration" />
-    <Link Source="Localization" Target="KestrelHttpServer" />
-    <Link Source="Localization" Target="Logging" />
-    <Link Source="Localization" Target="Options" />
-    <Link Source="Localization" Target="Routing" />
-    <Link Source="Localization" Target="Testing" />
-    <Link Source="Logging" Target="Configuration" />
-    <Link Source="Logging" Target="DependencyInjection" />
-    <Link Source="Logging" Target="FileSystem" />
-    <Link Source="Logging" Target="Options" />
-    <Link Source="Logging" Target="Testing" />
-    <Link Source="MetaPackages" Target="BasicMiddleware" />
-    <Link Source="MetaPackages" Target="Configuration" />
-    <Link Source="MetaPackages" Target="Diagnostics" />
-    <Link Source="MetaPackages" Target="Hosting" />
-    <Link Source="MetaPackages" Target="IISIntegration" />
-    <Link Source="MetaPackages" Target="KestrelHttpServer" />
-    <Link Source="MetaPackages" Target="Logging" />
-    <Link Source="MetaPackages" Target="Routing" />
-    <Link Source="MetaPackages" Target="StaticFiles" />
-    <Link Source="MusicStore" Target="Common" />
-    <Link Source="MusicStore" Target="Configuration" />
-    <Link Source="MusicStore" Target="Diagnostics" />
-    <Link Source="MusicStore" Target="EntityFrameworkCore" />
-    <Link Source="MusicStore" Target="Hosting" />
-    <Link Source="MusicStore" Target="HttpAbstractions" />
-    <Link Source="MusicStore" Target="HttpSysServer" />
-    <Link Source="MusicStore" Target="Identity" />
-    <Link Source="MusicStore" Target="Logging" />
-    <Link Source="MusicStore" Target="MetaPackages" />
-    <Link Source="MusicStore" Target="Mvc" />
-    <Link Source="MusicStore" Target="MvcPrecompilation" />
-    <Link Source="MusicStore" Target="Security" />
-    <Link Source="MusicStore" Target="Session" />
-    <Link Source="MusicStore" Target="StaticFiles" />
-    <Link Source="Mvc" Target="Antiforgery" />
-    <Link Source="Mvc" Target="Caching" />
-    <Link Source="Mvc" Target="Common" />
-    <Link Source="Mvc" Target="Configuration" />
-    <Link Source="Mvc" Target="CORS" />
-    <Link Source="Mvc" Target="DependencyInjection" />
-    <Link Source="Mvc" Target="Diagnostics" />
-    <Link Source="Mvc" Target="EventNotification" />
-    <Link Source="Mvc" Target="FileSystem" />
-    <Link Source="Mvc" Target="Hosting" />
-    <Link Source="Mvc" Target="HtmlAbstractions" />
-    <Link Source="Mvc" Target="HttpAbstractions" />
-    <Link Source="Mvc" Target="IISIntegration" />
-    <Link Source="Mvc" Target="JsonPatch" />
-    <Link Source="Mvc" Target="KestrelHttpServer" />
-    <Link Source="Mvc" Target="Localization" />
-    <Link Source="Mvc" Target="Logging" />
-    <Link Source="Mvc" Target="Options" />
-    <Link Source="Mvc" Target="Razor" />
-    <Link Source="Mvc" Target="ResponseCaching" />
-    <Link Source="Mvc" Target="Routing" />
-    <Link Source="Mvc" Target="Security" />
-    <Link Source="Mvc" Target="Session" />
-    <Link Source="Mvc" Target="StaticFiles" />
-    <Link Source="Mvc" Target="Testing" />
-    <Link Source="MvcPrecompilation" Target="Common" />
-    <Link Source="MvcPrecompilation" Target="Configuration" />
-    <Link Source="MvcPrecompilation" Target="Hosting" />
-    <Link Source="MvcPrecompilation" Target="KestrelHttpServer" />
-    <Link Source="MvcPrecompilation" Target="Logging" />
-    <Link Source="MvcPrecompilation" Target="Mvc" />
-    <Link Source="MvcPrecompilation" Target="Razor" />
-    <Link Source="MvcPrecompilation" Target="Security" />
-    <Link Source="MvcPrecompilation" Target="Testing" />
-    <Link Source="Options" Target="Common" />
-    <Link Source="Options" Target="Configuration" />
-    <Link Source="Options" Target="DependencyInjection" />
-    <Link Source="Proxy" Target="Hosting" />
-    <Link Source="Proxy" Target="IISIntegration" />
-    <Link Source="Proxy" Target="KestrelHttpServer" />
-    <Link Source="Proxy" Target="Options" />
-    <Link Source="Proxy" Target="Testing" />
-    <Link Source="Proxy" Target="WebSockets" />
-    <Link Source="Razor" Target="Common" />
-    <Link Source="Razor" Target="HtmlAbstractions" />
-    <Link Source="Razor" Target="Testing" />
-    <Link Source="ResponseCaching" Target="Caching" />
-    <Link Source="ResponseCaching" Target="Common" />
-    <Link Source="ResponseCaching" Target="Hosting" />
-    <Link Source="ResponseCaching" Target="HttpAbstractions" />
-    <Link Source="ResponseCaching" Target="IISIntegration" />
-    <Link Source="ResponseCaching" Target="KestrelHttpServer" />
-    <Link Source="ResponseCaching" Target="Logging" />
-    <Link Source="Routing" Target="Common" />
-    <Link Source="Routing" Target="DependencyInjection" />
-    <Link Source="Routing" Target="Hosting" />
-    <Link Source="Routing" Target="HtmlAbstractions" />
-    <Link Source="Routing" Target="HttpAbstractions" />
-    <Link Source="Routing" Target="IISIntegration" />
-    <Link Source="Routing" Target="KestrelHttpServer" />
-    <Link Source="Routing" Target="Logging" />
-    <Link Source="Routing" Target="Options" />
-    <Link Source="Routing" Target="Testing" />
-    <Link Source="Scaffolding" Target="Common" />
-    <Link Source="Scaffolding" Target="Configuration" />
-    <Link Source="Scaffolding" Target="DependencyInjection" />
-    <Link Source="Scaffolding" Target="EntityFrameworkCore" />
-    <Link Source="Scaffolding" Target="FileSystem" />
-    <Link Source="Scaffolding" Target="Hosting" />
-    <Link Source="Scaffolding" Target="IISIntegration" />
-    <Link Source="Scaffolding" Target="KestrelHttpServer" />
-    <Link Source="Scaffolding" Target="Logging" />
-    <Link Source="Scaffolding" Target="Mvc" />
-    <Link Source="Scaffolding" Target="Razor" />
-    <Link Source="Scaffolding" Target="StaticFiles" />
-    <Link Source="Scaffolding" Target="Testing" />
-    <Link Source="Security" Target="Caching" />
-    <Link Source="Security" Target="Common" />
-    <Link Source="Security" Target="Configuration" />
-    <Link Source="Security" Target="DataProtection" />
-    <Link Source="Security" Target="DependencyInjection" />
-    <Link Source="Security" Target="Diagnostics" />
-    <Link Source="Security" Target="FileSystem" />
-    <Link Source="Security" Target="Hosting" />
-    <Link Source="Security" Target="HtmlAbstractions" />
-    <Link Source="Security" Target="HttpAbstractions" />
-    <Link Source="Security" Target="IISIntegration" />
-    <Link Source="Security" Target="KestrelHttpServer" />
-    <Link Source="Security" Target="Logging" />
-    <Link Source="Security" Target="Options" />
-    <Link Source="Security" Target="StaticFiles" />
-    <Link Source="Security" Target="Testing" />
-    <Link Source="ServerTests" Target="BasicMiddleware" />
-    <Link Source="ServerTests" Target="Configuration" />
-    <Link Source="ServerTests" Target="Hosting" />
-    <Link Source="ServerTests" Target="HttpAbstractions" />
-    <Link Source="ServerTests" Target="HttpSysServer" />
-    <Link Source="ServerTests" Target="IISIntegration" />
-    <Link Source="ServerTests" Target="KestrelHttpServer" />
-    <Link Source="ServerTests" Target="Logging" />
-    <Link Source="Session" Target="Caching" />
-    <Link Source="Session" Target="DataProtection" />
-    <Link Source="Session" Target="Hosting" />
-    <Link Source="Session" Target="HttpAbstractions" />
-    <Link Source="Session" Target="IISIntegration" />
-    <Link Source="Session" Target="KestrelHttpServer" />
-    <Link Source="Session" Target="Logging" />
-    <Link Source="Session" Target="Options" />
-    <Link Source="SignalR" Target="Common" />
-    <Link Source="SignalR" Target="Configuration" />
-    <Link Source="SignalR" Target="CORS" />
-    <Link Source="SignalR" Target="DependencyInjection" />
-    <Link Source="SignalR" Target="Diagnostics" />
-    <Link Source="SignalR" Target="EntityFrameworkCore" />
-    <Link Source="SignalR" Target="Hosting" />
-    <Link Source="SignalR" Target="HttpAbstractions" />
-    <Link Source="SignalR" Target="Identity" />
-    <Link Source="SignalR" Target="IISIntegration" />
-    <Link Source="SignalR" Target="KestrelHttpServer" />
-    <Link Source="SignalR" Target="Logging" />
-    <Link Source="SignalR" Target="Mvc" />
-    <Link Source="SignalR" Target="Options" />
-    <Link Source="SignalR" Target="Routing" />
-    <Link Source="SignalR" Target="Security" />
-    <Link Source="SignalR" Target="StaticFiles" />
-    <Link Source="SignalR" Target="Testing" />
-    <Link Source="SignalR" Target="WebSockets" />
-    <Link Source="StaticFiles" Target="FileSystem" />
-    <Link Source="StaticFiles" Target="Hosting" />
-    <Link Source="StaticFiles" Target="HtmlAbstractions" />
-    <Link Source="StaticFiles" Target="HttpAbstractions" />
-    <Link Source="StaticFiles" Target="HttpSysServer" />
-    <Link Source="StaticFiles" Target="IISIntegration" />
-    <Link Source="StaticFiles" Target="KestrelHttpServer" />
-    <Link Source="StaticFiles" Target="Logging" />
-    <Link Source="StaticFiles" Target="Testing" />
-    <Link Source="WebHooks" Target="Common" />
-    <Link Source="WebHooks" Target="Configuration" />
-    <Link Source="WebHooks" Target="MetaPackages" />
-    <Link Source="WebHooks" Target="Mvc" />
-    <Link Source="WebHooks" Target="StaticFiles" />
-    <Link Source="WebSockets" Target="Configuration" />
-    <Link Source="WebSockets" Target="Diagnostics" />
-    <Link Source="WebSockets" Target="Hosting" />
-    <Link Source="WebSockets" Target="HttpAbstractions" />
-    <Link Source="WebSockets" Target="HttpSysServer" />
-    <Link Source="WebSockets" Target="IISIntegration" />
-    <Link Source="WebSockets" Target="KestrelHttpServer" />
-    <Link Source="WebSockets" Target="Logging" />
-    <Link Source="WebSockets" Target="Options" />
-    <Link Source="WebSockets" Target="StaticFiles" />
-    <Link Source="WebSockets" Target="Testing" />
-  </Links>
-</DirectedGraph>
\ No newline at end of file
diff --git a/modules/Testing b/modules/Testing
deleted file mode 160000
index 8639233365b85997c7e0b97b50f23aaddd36f671..0000000000000000000000000000000000000000
--- a/modules/Testing
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 8639233365b85997c7e0b97b50f23aaddd36f671
diff --git a/scripts/UpdateDependencies.ps1 b/scripts/UpdateDependencies.ps1
index f8bfdac4fb88346ae78cc6f3e9a236134230dfcc..4ecb20704702f353232b275e6a8b64c6cd8b3da4 100755
--- a/scripts/UpdateDependencies.ps1
+++ b/scripts/UpdateDependencies.ps1
@@ -54,10 +54,8 @@ foreach ($package in $remoteDeps.SelectNodes('//Package')) {
     }
 }
 
-
-$currentBranch = Invoke-Block { & git rev-parse --abbrev-ref HEAD }
-
 if (-not $NoCommit) {
+    $currentBranch = Invoke-Block { & git rev-parse --abbrev-ref HEAD }
     $destinationBranch = "dotnetbot/UpdateDeps"
     Invoke-Block { & git checkout -tb $destinationBranch "origin/$GithubUpstreamBranch" }
 }
@@ -74,5 +72,7 @@ try {
     }
 }
 finally {
-    Invoke-Block { & git checkout $currentBranch }
+    if (-not $NoCommit) {
+        Invoke-Block { & git checkout $currentBranch }
+    }
 }