Browse Source

Dougbu/check.solution.filters (#36449)

* Check solution filters
- confirm all mentioned projects are in AspNetCore.sln
- clean up CodeCheck.ps1
  - avoid aliases
  - rework long lines
  - avoid deprecated `dotnet run -p`
  - improve output a bit
  - correct whitespace
- there can be only one
  - we have just one solution file
  - solution file should mention projects _once_

* Add missing projects to AspNetCore.sln
- Middleware.slnf contained projects that no longer exist eg. NodeServices
  - VS also sorted the file and VS 2019 added ARM64 configurations
- a few other solution filters still referenced removed and moved projects
- correct capitalization in some solution filters

Note: Unable to load some WiX projects in VS 2019 or _any_ in VS 2022 (WiX extension unavailable for 2022)

* Remove trailing comma in a solution filter
Doug Bunting 4 years ago
parent
commit
779db7f3e6

File diff suppressed because it is too large
+ 1762 - 1
AspNetCore.sln


+ 60 - 46
eng/scripts/CodeCheck.ps1

@@ -50,9 +50,9 @@ try {
     if ($ci) {
         # Install dotnet.exe
         if ($RuntimeSourceFeed -or $RuntimeSourceFeedKey) {
-            & $repoRoot/restore.cmd -ci -nobl -noBuildNodeJS -RuntimeSourceFeed $RuntimeSourceFeed -RuntimeSourceFeedKey $RuntimeSourceFeedKey
-        }
-        else{
+            & $repoRoot/restore.cmd -ci -nobl -noBuildNodeJS -RuntimeSourceFeed $RuntimeSourceFeed `
+                -RuntimeSourceFeedKey $RuntimeSourceFeedKey
+        } else {
             & $repoRoot/restore.cmd -ci -nobl -noBuildNodeJS
         }
     }
@@ -67,16 +67,17 @@ try {
 
     # Ignore duplicates in submodules. These should be isolated from the rest of the build.
     # Ignore duplicates in the .ref folder. This is expected.
-    Get-ChildItem -Recurse "$repoRoot/src/*.*proj" `
-        | ? { $_.FullName -notmatch 'submodules' -and $_.FullName -notmatch 'node_modules' } `
-        | ? { (Split-Path -Leaf (Split-Path -Parent $_)) -ne 'ref' } `
-        | % {
-            $fileName = [io.path]::GetFileNameWithoutExtension($_)
-            if (-not ($projectFileNames.Add($fileName))) {
-                LogError -code 'BUILD003' -filepath $_ `
-                    "Multiple project files named '$fileName' exist. Project files should have a unique name to avoid conflicts in build output."
-            }
+    Get-ChildItem -Recurse "$repoRoot/src/*.*proj" |
+    Where-Object { $_.FullName -notmatch 'submodules' -and $_.FullName -notmatch 'node_modules' } |
+    Where-Object { (Split-Path -Leaf (Split-Path -Parent $_)) -ne 'ref' } |
+    ForEach-Object {
+        $fileName = [io.path]::GetFileNameWithoutExtension($_)
+        if (-not ($projectFileNames.Add($fileName))) {
+            LogError -code 'BUILD003' -filepath $_ `
+                "Multiple project files named '$fileName' exist. Project files should have a unique name " +
+                "to avoid conflicts in build output."
         }
+    }
 
     #
     # Versions.props and Version.Details.xml
@@ -102,9 +103,9 @@ try {
             $actualVersion = $globalJson.'msbuild-sdks'.($dep.Name)
 
             if ($expectedVersion -ne $actualVersion) {
-                LogError `
-                    "MSBuild SDK version '$($dep.Name)' in global.json does not match the value in Version.Details.xml. Expected '$expectedVersion', actual '$actualVersion'" `
-                    -filepath "$repoRoot\global.json"
+                LogError -filepath "$repoRoot\global.json" `
+                    "MSBuild SDK version '$($dep.Name)' in global.json does not match the value in " +
+                    "Version.Details.xml. Expected '$expectedVersion', actual '$actualVersion'"
             }
         }
         else {
@@ -122,40 +123,50 @@ try {
             }
 
             if ($expectedVersion -ne $actualVersion) {
-                LogError `
-                    "Version variable '$varName' does not match the value in Version.Details.xml. Expected '$expectedVersion', actual '$actualVersion'" `
-                    -filepath "$repoRoot\eng\Versions.props"
+                LogError -filepath "$repoRoot\eng\Versions.props" `
+                    "Version variable '$varName' does not match the value in Version.Details.xml. " +
+                    "Expected '$expectedVersion', actual '$actualVersion'"
             }
         }
     }
 
     foreach ($unexpectedVar in $versionVars) {
-        LogError `
-            "Version variable '$unexpectedVar' does not have a matching entry in Version.Details.xml. See https://github.com/dotnet/aspnetcore/blob/main/docs/ReferenceResolution.md for instructions on how to add a new dependency." `
-            -filepath "$repoRoot\eng\Versions.props"
+        LogError -Filepath "$repoRoot\eng\Versions.props" `
+            "Version variable '$unexpectedVar' does not have a matching entry in Version.Details.xml. " +
+            "See https://github.com/dotnet/aspnetcore/blob/main/docs/ReferenceResolution.md for instructions " +
+            "on how to add a new dependency."
     }
 
-    Write-Host "Checking that solutions are up to date"
-
-    Get-ChildItem "$repoRoot/*.sln" -Recurse `
-        | ? {
-            # These .sln files are used by the templating engine.
-            ($_.Name -ne "BlazorServerWeb_CSharp.sln") -and
-            ($_.Name -ne "ComponentsWebAssembly-CSharp.sln")
-        } `
-        | % {
-        Write-Host "  Checking $(Split-Path -Leaf $_)"
-        $slnDir = Split-Path -Parent $_
-        $sln = $_
-        & dotnet sln $_ list `
-            | ? { $_ -like '*proj' } `
-            | % {
-                $proj = Join-Path $slnDir $_
-                if (-not (Test-Path $proj)) {
-                    LogError "Missing project. Solution references a project which does not exist: $proj. [$sln] "
-                }
+    # ComponentsWebAssembly-CSharp.sln is used by the templating engine; MessagePack.sln is irrelevant (in submodule).
+    $solution = Get-ChildItem "$repoRoot/AspNetCore.sln"
+    $solutionFile = Split-Path -Leaf $solution
+
+    Write-Host "Checking that $solutionFile is up to date"
+
+    # $solutionProjects will store relative paths i.e. the exact solution and solution filter content.
+    $solutionProjects = New-Object 'System.Collections.Generic.HashSet[string]'
+
+    # Where-Object needed to ignore heading `dotnet sln` outputs
+    & dotnet sln $solution list  | Where-Object { $_ -like '*proj' } | ForEach-Object {
+        $proj = Join-Path $repoRoot $_
+        if (-not ($solutionProjects.Add($_))) {
+            LogError "Duplicate project. $solutionFile references a project more than once: $proj."
+        }
+        if (-not (Test-Path $proj)) {
+            LogError "Missing project. $solutionFile references a project which does not exist: $proj."
+        }
+    }
+
+    Write-Host "Checking solution filters"
+    Get-ChildItem -Recurse "$repoRoot\*.slnf" | ForEach-Object {
+        $solutionFilter = $_
+        $json = Get-Content -Raw -Path $solutionFilter |ConvertFrom-Json
+        $json.solution.projects | ForEach-Object {
+            if (!$solutionProjects.Contains($_)) {
+                LogError "$solutionFilter references a project not in $solutionFile`: $_"
             }
         }
+    }
 
     #
     # Generated code check
@@ -163,17 +174,17 @@ try {
 
     Write-Host "Re-running code generation"
 
-    Write-Host "Re-generating project lists"
+    Write-Host "  Re-generating project lists"
     Invoke-Block {
         & $PSScriptRoot\GenerateProjectList.ps1 -ci:$ci
     }
 
-    Write-Host "Re-generating package baselines"
+    Write-Host "  Re-generating package baselines"
     Invoke-Block {
-        & dotnet run -p "$repoRoot/eng/tools/BaselineGenerator/"
+        & dotnet run --project "$repoRoot/eng/tools/BaselineGenerator/"
     }
 
-    Write-Host "Run git diff to check for pending changes"
+    Write-Host "Running git diff to check for pending changes"
 
     # Redirect stderr to stdout because PowerShell does not consistently handle output to stderr
     $changedFiles = & cmd /c 'git --no-pager diff --ignore-space-change --name-only 2>nul'
@@ -186,7 +197,9 @@ try {
         foreach ($file in $changedFiles) {
             if ($changedFilesExclusions -contains $file) {continue}
             $filePath = Resolve-Path "${repoRoot}/${file}"
-            LogError "Generated code is not up to date in $file. You might need to regenerate the reference assemblies or project list (see docs/ReferenceResolution.md)" -filepath $filePath
+            LogError  -filepath $filePath `
+                "Generated code is not up to date in $file. You might need to regenerate the reference " +
+                "assemblies or project list (see docs/ReferenceResolution.md)"
             & git --no-pager diff --ignore-space-change $filePath
         }
     }
@@ -222,7 +235,8 @@ try {
         Write-Host "Found changes in $($changedAPIBaselines.count) API baseline files"
 
         if ($changedAPIBaselines.count -gt 0) {
-            LogError "Detected modification to baseline API files. PublicAPI.Shipped.txt files should only be updated after a major release. See /docs/APIBaselines.md for more information."
+            LogError "Detected modification to baseline API files. PublicAPI.Shipped.txt files should only " +
+                "be updated after a major release. See /docs/APIBaselines.md for more information."
             LogError "Modified API baseline files:"
             foreach ($file in $changedAPIBaselines) {
                 LogError $file

+ 2 - 2
src/Installers/Windows/AspNetCoreModule-Setup/IIS-Setup/IIS-Common/reftrace/reftrace.vcxproj

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <Import Project="..\build\submodule.props" />
-  <Import Project="..\build\settings.props" />
+  <Import Project="..\..\..\build\submodule.props" />
+  <Import Project="..\..\..\build\settings.props" />
   <ItemGroup Label="ProjectConfigurations">
     <ProjectConfiguration Include="Debug|Win32">
       <Configuration>Debug</Configuration>

+ 0 - 2
src/Installers/Windows/Installers.slnf

@@ -5,10 +5,8 @@
       "src\\Installers\\Windows\\AspNetCoreModule-Setup\\CustomAction\\aspnetcoreCA.vcxproj",
       "src\\Installers\\Windows\\AspNetCoreModule-Setup\\IIS-Setup\\iisca\\lib\\iisca.vcxproj",
       "src\\Installers\\Windows\\AspNetCoreModule-Setup\\IIS-Setup\\IIS-Common\\lib\\IISSetup.CommonLib.vcxproj",
-      "src\\Installers\\Windows\\AspNetCoreModule-Setup\\ANCMIISExpressV2\\AncmIISExpressV2.wixproj",
       "src\\Installers\\Windows\\SharedFrameworkLib\\SharedFrameworkLib.wixproj",
       "src\\Installers\\Windows\\SharedFrameworkBundle\\SharedFrameworkBundle.wixproj",
-      "src\\Installers\\Windows\\AspNetCoreModule-Setup\\ANCMV2\\AncmV2.wixproj",
       "src\\Installers\\Windows\\WindowsHostingBundle\\WindowsHostingBundle.wixproj",
       "src\\Installers\\Windows\\SharedFramework\\SharedFramework.wixproj"
     ]

+ 1 - 1
src/Localization/Localization.slnf

@@ -5,7 +5,7 @@
       "src\\Localization\\Abstractions\\src\\Microsoft.Extensions.Localization.Abstractions.csproj",
       "src\\Localization\\Localization\\src\\Microsoft.Extensions.Localization.csproj",
       "src\\Localization\\Localization\\test\\Microsoft.Extensions.Localization.RootNamespace.Tests\\Microsoft.Extensions.Localization.RootNamespace.Tests.csproj",
-      "src\\Localization\\Localization\\test\\Microsoft.Extensions.Localization.Tests\\Microsoft.Extensions.Localization.Tests.csproj",
+      "src\\Localization\\Localization\\test\\Microsoft.Extensions.Localization.Tests\\Microsoft.Extensions.Localization.Tests.csproj"
     ]
   }
 }

+ 3 - 3
src/Middleware/ConcurrencyLimiter/ConcurrencyLimiter.slnf

@@ -14,8 +14,8 @@
       "src\\Servers\\Kestrel\\Core\\src\\Microsoft.AspNetCore.Server.Kestrel.Core.csproj",
       "src\\Servers\\Kestrel\\Kestrel\\src\\Microsoft.AspNetCore.Server.Kestrel.csproj",
       "src\\Servers\\Kestrel\\Transport.Sockets\\src\\Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.csproj",
-      "src\\http\\Headers\\src\\Microsoft.Net.Http.Headers.csproj",
-      "src\\http\\http\\src\\Microsoft.AspNetCore.Http.csproj",
+      "src\\Http\\Headers\\src\\Microsoft.Net.Http.Headers.csproj",
+      "src\\Http\\Http\\src\\Microsoft.AspNetCore.Http.csproj",
       "src\\Middleware\\ConcurrencyLimiter\\perf\\Microbenchmarks\\Microsoft.AspNetCore.ConcurrencyLimiter.Microbenchmarks.csproj",
       "src\\Middleware\\ConcurrencyLimiter\\sample\\ConcurrencyLimiterSample.csproj",
       "src\\Middleware\\ConcurrencyLimiter\\src\\Microsoft.AspNetCore.ConcurrencyLimiter.csproj",
@@ -23,4 +23,4 @@
       "src\\Middleware\\HttpsPolicy\\src\\Microsoft.AspNetCore.HttpsPolicy.csproj"
     ]
   }
-}
+}

+ 3 - 3
src/Middleware/Diagnostics/Diagnostics.slnf

@@ -21,9 +21,9 @@
       "src\\Servers\\Kestrel\\Core\\src\\Microsoft.AspNetCore.Server.Kestrel.Core.csproj",
       "src\\Servers\\Kestrel\\Kestrel\\src\\Microsoft.AspNetCore.Server.Kestrel.csproj",
       "src\\Servers\\Kestrel\\Transport.Sockets\\src\\Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.csproj",
-      "src\\http\\Headers\\src\\Microsoft.Net.Http.Headers.csproj",
-      "src\\http\\Routing\\src\\Microsoft.AspNetCore.Routing.csproj",
-      "src\\http\\http\\src\\Microsoft.AspNetCore.Http.csproj",
+      "src\\Http\\Headers\\src\\Microsoft.Net.Http.Headers.csproj",
+      "src\\Http\\Routing\\src\\Microsoft.AspNetCore.Routing.csproj",
+      "src\\Http\\Http\\src\\Microsoft.AspNetCore.Http.csproj",
       "src\\Middleware\\Diagnostics.Abstractions\\src\\Microsoft.AspNetCore.Diagnostics.Abstractions.csproj",
       "src\\Middleware\\Diagnostics.EntityFrameworkCore\\src\\Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.csproj",
       "src\\Middleware\\Diagnostics.EntityFrameworkCore\\test\\FunctionalTests\\Diagnostics.EFCore.FunctionalTests.csproj",

+ 75 - 81
src/Middleware/Middleware.slnf

@@ -1,33 +1,56 @@
-{
+{
   "solution": {
     "path": "..\\..\\AspNetCore.sln",
-    "projects" : [
-      "src\\Middleware\\WebSockets\\samples\\EchoApp\\EchoApp.csproj",
-      "src\\Middleware\\WebSockets\\samples\\TestServer\\WebSockets.TestServer.csproj",
-      "src\\Middleware\\WebSockets\\src\\Microsoft.AspNetCore.WebSockets.csproj",
-      "src\\Middleware\\WebSockets\\test\\ConformanceTests\\Microsoft.AspNetCore.WebSockets.ConformanceTests.csproj",
-      "src\\Middleware\\WebSockets\\test\\UnitTests\\Microsoft.AspNetCore.WebSockets.Tests.csproj",
+    "projects": [
+      "src\\DataProtection\\Abstractions\\src\\Microsoft.AspNetCore.DataProtection.Abstractions.csproj",
+      "src\\DataProtection\\Cryptography.Internal\\src\\Microsoft.AspNetCore.Cryptography.Internal.csproj",
+      "src\\DataProtection\\DataProtection\\src\\Microsoft.AspNetCore.DataProtection.csproj",
+      "src\\DefaultBuilder\\src\\Microsoft.AspNetCore.csproj",
+      "src\\Extensions\\Features\\src\\Microsoft.Extensions.Features.csproj",
+      "src\\Hosting\\Abstractions\\src\\Microsoft.AspNetCore.Hosting.Abstractions.csproj",
+      "src\\Hosting\\Hosting\\src\\Microsoft.AspNetCore.Hosting.csproj",
+      "src\\Hosting\\Server.Abstractions\\src\\Microsoft.AspNetCore.Hosting.Server.Abstractions.csproj",
+      "src\\Hosting\\Server.IntegrationTesting\\src\\Microsoft.AspNetCore.Server.IntegrationTesting.csproj",
+      "src\\Hosting\\TestHost\\src\\Microsoft.AspNetCore.TestHost.csproj",
+      "src\\Http\\Authentication.Abstractions\\src\\Microsoft.AspNetCore.Authentication.Abstractions.csproj",
+      "src\\Http\\Authentication.Core\\src\\Microsoft.AspNetCore.Authentication.Core.csproj",
+      "src\\Http\\Headers\\src\\Microsoft.Net.Http.Headers.csproj",
+      "src\\Http\\Http.Abstractions\\src\\Microsoft.AspNetCore.Http.Abstractions.csproj",
+      "src\\Http\\Http.Extensions\\src\\Microsoft.AspNetCore.Http.Extensions.csproj",
+      "src\\Http\\Http.Features\\src\\Microsoft.AspNetCore.Http.Features.csproj",
+      "src\\Http\\Http\\src\\Microsoft.AspNetCore.Http.csproj",
+      "src\\Http\\Metadata\\src\\Microsoft.AspNetCore.Metadata.csproj",
+      "src\\Http\\Routing.Abstractions\\src\\Microsoft.AspNetCore.Routing.Abstractions.csproj",
+      "src\\Http\\Routing\\src\\Microsoft.AspNetCore.Routing.csproj",
+      "src\\Http\\WebUtilities\\src\\Microsoft.AspNetCore.WebUtilities.csproj",
+      "src\\Middleware\\CORS\\src\\Microsoft.AspNetCore.Cors.csproj",
+      "src\\Middleware\\CORS\\test\\UnitTests\\Microsoft.AspNetCore.Cors.Test.csproj",
+      "src\\Middleware\\CORS\\test\\testassets\\CorsMiddlewareWebSite\\CorsMiddlewareWebSite.csproj",
+      "src\\Middleware\\ConcurrencyLimiter\\perf\\Microbenchmarks\\Microsoft.AspNetCore.ConcurrencyLimiter.Microbenchmarks.csproj",
+      "src\\Middleware\\ConcurrencyLimiter\\sample\\ConcurrencyLimiterSample.csproj",
+      "src\\Middleware\\ConcurrencyLimiter\\src\\Microsoft.AspNetCore.ConcurrencyLimiter.csproj",
+      "src\\Middleware\\ConcurrencyLimiter\\test\\Microsoft.AspNetCore.ConcurrencyLimiter.Tests.csproj",
+      "src\\Middleware\\Diagnostics.Abstractions\\src\\Microsoft.AspNetCore.Diagnostics.Abstractions.csproj",
+      "src\\Middleware\\Diagnostics.EntityFrameworkCore\\src\\Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.csproj",
+      "src\\Middleware\\Diagnostics.EntityFrameworkCore\\test\\FunctionalTests\\Diagnostics.EFCore.FunctionalTests.csproj",
+      "src\\Middleware\\Diagnostics.EntityFrameworkCore\\test\\UnitTests\\Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.Tests.csproj",
       "src\\Middleware\\Diagnostics\\src\\Microsoft.AspNetCore.Diagnostics.csproj",
       "src\\Middleware\\Diagnostics\\test\\FunctionalTests\\Diagnostics.FunctionalTests.csproj",
+      "src\\Middleware\\Diagnostics\\test\\UnitTests\\Microsoft.AspNetCore.Diagnostics.Tests.csproj",
       "src\\Middleware\\Diagnostics\\test\\testassets\\ClassLibraryWithPortablePdbs\\ClassLibraryWithPortablePdbs.csproj",
       "src\\Middleware\\Diagnostics\\test\\testassets\\DatabaseErrorPageSample\\DatabaseErrorPageSample.csproj",
       "src\\Middleware\\Diagnostics\\test\\testassets\\DeveloperExceptionPageSample\\DeveloperExceptionPageSample.csproj",
       "src\\Middleware\\Diagnostics\\test\\testassets\\ExceptionHandlerSample\\ExceptionHandlerSample.csproj",
       "src\\Middleware\\Diagnostics\\test\\testassets\\StatusCodePagesSample\\StatusCodePagesSample.csproj",
       "src\\Middleware\\Diagnostics\\test\\testassets\\WelcomePageSample\\WelcomePageSample.csproj",
-      "src\\Middleware\\Diagnostics\\test\\UnitTests\\Microsoft.AspNetCore.Diagnostics.Tests.csproj",
-      "src\\Middleware\\Diagnostics.Abstractions\\src\\Microsoft.AspNetCore.Diagnostics.Abstractions.csproj",
-      "src\\Middleware\\Diagnostics.EntityFrameworkCore\\src\\Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.csproj",
-      "src\\Middleware\\Diagnostics.EntityFrameworkCore\\test\\FunctionalTests\\Diagnostics.EFCore.FunctionalTests.csproj",
-      "src\\Middleware\\Diagnostics.EntityFrameworkCore\\test\\UnitTests\\Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore.Tests.csproj",
-      "src\\Middleware\\MiddlewareAnalysis\\samples\\MiddlewareAnalysisSample\\MiddlewareAnalysisSample.csproj",
-      "src\\Middleware\\MiddlewareAnalysis\\src\\Microsoft.AspNetCore.MiddlewareAnalysis.csproj",
-      "src\\Middleware\\MiddlewareAnalysis\\test\\Microsoft.AspNetCore.MiddlewareAnalysis.Tests.csproj",
-      "src\\Middleware\\HealthChecks\\src\\Microsoft.AspNetCore.Diagnostics.HealthChecks.csproj",
-      "src\\Middleware\\HealthChecks\\test\\testassets\\HealthChecksSample\\HealthChecksSample.csproj",
-      "src\\Middleware\\HealthChecks\\test\\UnitTests\\Microsoft.AspNetCore.Diagnostics.HealthChecks.Tests.csproj",
+      "src\\Middleware\\HeaderPropagation\\samples\\HeaderPropagationSample\\HeaderPropagationSample.csproj",
+      "src\\Middleware\\HeaderPropagation\\src\\Microsoft.AspNetCore.HeaderPropagation.csproj",
+      "src\\Middleware\\HeaderPropagation\\test\\Microsoft.AspNetCore.HeaderPropagation.Tests.csproj",
       "src\\Middleware\\HealthChecks.EntityFrameworkCore\\src\\Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore.csproj",
       "src\\Middleware\\HealthChecks.EntityFrameworkCore\\test\\Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore.Tests.csproj",
+      "src\\Middleware\\HealthChecks\\src\\Microsoft.AspNetCore.Diagnostics.HealthChecks.csproj",
+      "src\\Middleware\\HealthChecks\\test\\UnitTests\\Microsoft.AspNetCore.Diagnostics.HealthChecks.Tests.csproj",
+      "src\\Middleware\\HealthChecks\\test\\testassets\\HealthChecksSample\\HealthChecksSample.csproj",
       "src\\Middleware\\HostFiltering\\sample\\HostFilteringSample.csproj",
       "src\\Middleware\\HostFiltering\\src\\Microsoft.AspNetCore.HostFiltering.csproj",
       "src\\Middleware\\HostFiltering\\test\\Microsoft.AspNetCore.HostFiltering.Tests.csproj",
@@ -41,12 +64,8 @@
       "src\\Middleware\\HttpsPolicy\\sample\\HttpsPolicySample.csproj",
       "src\\Middleware\\HttpsPolicy\\src\\Microsoft.AspNetCore.HttpsPolicy.csproj",
       "src\\Middleware\\HttpsPolicy\\test\\Microsoft.AspNetCore.HttpsPolicy.Tests.csproj",
-      "src\\Middleware\\ResponseCompression\\sample\\ResponseCompressionSample.csproj",
-      "src\\Middleware\\ResponseCompression\\src\\Microsoft.AspNetCore.ResponseCompression.csproj",
-      "src\\Middleware\\ResponseCompression\\test\\Microsoft.AspNetCore.ResponseCompression.Tests.csproj",
-      "src\\Middleware\\Rewrite\\sample\\RewriteSample.csproj",
-      "src\\Middleware\\Rewrite\\src\\Microsoft.AspNetCore.Rewrite.csproj",
-      "src\\Middleware\\Rewrite\\test\\Microsoft.AspNetCore.Rewrite.Tests.csproj",
+      "src\\Middleware\\Localization.Routing\\src\\Microsoft.AspNetCore.Localization.Routing.csproj",
+      "src\\Middleware\\Localization.Routing\\test\\Microsoft.AspNetCore.Localization.Routing.Tests.csproj",
       "src\\Middleware\\Localization\\sample\\LocalizationSample.csproj",
       "src\\Middleware\\Localization\\src\\Microsoft.AspNetCore.Localization.csproj",
       "src\\Middleware\\Localization\\test\\FunctionalTests\\Microsoft.AspNetCore.Localization.FunctionalTests.csproj",
@@ -54,71 +73,46 @@
       "src\\Middleware\\Localization\\testassets\\LocalizationWebsite\\LocalizationWebsite.csproj",
       "src\\Middleware\\Localization\\testassets\\ResourcesClassLibraryNoAttribute\\ResourcesClassLibraryNoAttribute.csproj",
       "src\\Middleware\\Localization\\testassets\\ResourcesClassLibraryWithAttribute\\ResourcesClassLibraryWithAttribute.csproj",
-      "src\\Middleware\\Localization.Routing\\src\\Microsoft.AspNetCore.Localization.Routing.csproj",
-      "src\\Middleware\\Localization.Routing\\test\\Microsoft.AspNetCore.Localization.Routing.Tests.csproj",
-      "src\\Middleware\\ResponseCompression\\perf\\Microbenchmarks\\Microsoft.AspNetCore.ResponseCompression.Microbenchmarks.csproj",
-      "src\\Middleware\\WebSockets\\test\\ConformanceTests\\AutobahnTestApp\\AutobahnTestApp.csproj",
-      "src\\Middleware\\CORS\\src\\Microsoft.AspNetCore.Cors.csproj",
-      "src\\Middleware\\CORS\\test\\UnitTests\\Microsoft.AspNetCore.Cors.Test.csproj",
-      "src\\Middleware\\CORS\\test\\testassets\\CorsMiddlewareWebSite\\CorsMiddlewareWebSite.csproj",
-      "src\\Middleware\\StaticFiles\\src\\Microsoft.AspNetCore.StaticFiles.csproj",
-      "src\\Middleware\\StaticFiles\\samples\\StaticFileSample\\StaticFileSample.csproj",
-      "src\\Middleware\\StaticFiles\\test\\FunctionalTests\\Microsoft.AspNetCore.StaticFiles.FunctionalTests.csproj",
-      "src\\Middleware\\StaticFiles\\test\\UnitTests\\Microsoft.AspNetCore.StaticFiles.Tests.csproj",
-      "src\\Middleware\\ResponseCaching\\src\\Microsoft.AspNetCore.ResponseCaching.csproj",
+      "src\\Middleware\\MiddlewareAnalysis\\samples\\MiddlewareAnalysisSample\\MiddlewareAnalysisSample.csproj",
+      "src\\Middleware\\MiddlewareAnalysis\\src\\Microsoft.AspNetCore.MiddlewareAnalysis.csproj",
+      "src\\Middleware\\MiddlewareAnalysis\\test\\Microsoft.AspNetCore.MiddlewareAnalysis.Tests.csproj",
+      "src\\Middleware\\ResponseCaching.Abstractions\\src\\Microsoft.AspNetCore.ResponseCaching.Abstractions.csproj",
       "src\\Middleware\\ResponseCaching\\samples\\ResponseCachingSample\\ResponseCachingSample.csproj",
+      "src\\Middleware\\ResponseCaching\\src\\Microsoft.AspNetCore.ResponseCaching.csproj",
       "src\\Middleware\\ResponseCaching\\test\\Microsoft.AspNetCore.ResponseCaching.Tests.csproj",
-      "src\\Middleware\\ResponseCaching.Abstractions\\src\\Microsoft.AspNetCore.ResponseCaching.Abstractions.csproj",
+      "src\\Middleware\\ResponseCompression\\perf\\Microbenchmarks\\Microsoft.AspNetCore.ResponseCompression.Microbenchmarks.csproj",
+      "src\\Middleware\\ResponseCompression\\sample\\ResponseCompressionSample.csproj",
+      "src\\Middleware\\ResponseCompression\\src\\Microsoft.AspNetCore.ResponseCompression.csproj",
+      "src\\Middleware\\ResponseCompression\\test\\Microsoft.AspNetCore.ResponseCompression.Tests.csproj",
+      "src\\Middleware\\Rewrite\\sample\\RewriteSample.csproj",
+      "src\\Middleware\\Rewrite\\src\\Microsoft.AspNetCore.Rewrite.csproj",
+      "src\\Middleware\\Rewrite\\test\\Microsoft.AspNetCore.Rewrite.Tests.csproj",
       "src\\Middleware\\Session\\samples\\SessionSample.csproj",
       "src\\Middleware\\Session\\src\\Microsoft.AspNetCore.Session.csproj",
       "src\\Middleware\\Session\\test\\Microsoft.AspNetCore.Session.Tests.csproj",
-      "src\\Servers\\Kestrel\\Kestrel\\src\\Microsoft.AspNetCore.Server.Kestrel.csproj",
-      "src\\Hosting\\TestHost\\src\\Microsoft.AspNetCore.TestHost.csproj",
-      "src\\http\\http\\src\\Microsoft.AspNetCore.Http.csproj",
-      "src\\http\\Headers\\src\\Microsoft.Net.Http.Headers.csproj",
-      "src\\http\\Routing\\src\\Microsoft.AspNetCore.Routing.csproj",
-      "src\\Hosting\\Server.IntegrationTesting\\src\\Microsoft.AspNetCore.Server.IntegrationTesting.csproj",
-      "src\\Servers\\HttpSys\\src\\Microsoft.AspNetCore.Server.HttpSys.csproj",
-      "src\\Servers\\Kestrel\\Core\\src\\Microsoft.AspNetCore.Server.Kestrel.Core.csproj",
-      "src\\Servers\\Kestrel\\Transport.Sockets\\src\\Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.csproj",
+      "src\\Middleware\\Spa\\SpaProxy\\src\\Microsoft.AspNetCore.SpaProxy.csproj",
+      "src\\Middleware\\Spa\\SpaServices.Extensions\\src\\Microsoft.AspNetCore.SpaServices.Extensions.csproj",
+      "src\\Middleware\\StaticFiles\\samples\\StaticFileSample\\StaticFileSample.csproj",
+      "src\\Middleware\\StaticFiles\\src\\Microsoft.AspNetCore.StaticFiles.csproj",
+      "src\\Middleware\\StaticFiles\\test\\FunctionalTests\\Microsoft.AspNetCore.StaticFiles.FunctionalTests.csproj",
+      "src\\Middleware\\StaticFiles\\test\\UnitTests\\Microsoft.AspNetCore.StaticFiles.Tests.csproj",
+      "src\\Middleware\\WebSockets\\samples\\EchoApp\\EchoApp.csproj",
+      "src\\Middleware\\WebSockets\\samples\\TestServer\\WebSockets.TestServer.csproj",
+      "src\\Middleware\\WebSockets\\src\\Microsoft.AspNetCore.WebSockets.csproj",
+      "src\\Middleware\\WebSockets\\test\\ConformanceTests\\AutobahnTestApp\\AutobahnTestApp.csproj",
+      "src\\Middleware\\WebSockets\\test\\ConformanceTests\\Microsoft.AspNetCore.WebSockets.ConformanceTests.csproj",
+      "src\\Middleware\\WebSockets\\test\\UnitTests\\Microsoft.AspNetCore.WebSockets.Tests.csproj",
+      "src\\Middleware\\perf\\Microbenchmarks\\Microsoft.AspNetCore.WebSockets.Microbenchmarks.csproj",
+      "src\\Middleware\\perf\\ResponseCaching.Microbenchmarks\\Microsoft.AspNetCore.ResponseCaching.Microbenchmarks.csproj",
+      "src\\Security\\Authorization\\Core\\src\\Microsoft.AspNetCore.Authorization.csproj",
       "src\\Servers\\Connections.Abstractions\\src\\Microsoft.AspNetCore.Connections.Abstractions.csproj",
-      "src\\Http\\Http.Extensions\\src\\Microsoft.AspNetCore.Http.Extensions.csproj",
-      "src\\Http\\Http.Abstractions\\src\\Microsoft.AspNetCore.Http.Abstractions.csproj",
-      "src\\Http\\WebUtilities\\src\\Microsoft.AspNetCore.WebUtilities.csproj",
-      "src\\Hosting\\Hosting\\src\\Microsoft.AspNetCore.Hosting.csproj",
-      "src\\Hosting\\Abstractions\\src\\Microsoft.AspNetCore.Hosting.Abstractions.csproj",
-      "src\\Http\\Authentication.Core\\src\\Microsoft.AspNetCore.Authentication.Core.csproj",
-      "src\\Http\\Authentication.Abstractions\\src\\Microsoft.AspNetCore.Authentication.Abstractions.csproj",
-      "src\\Hosting\\Server.Abstractions\\src\\Microsoft.AspNetCore.Hosting.Server.Abstractions.csproj",
-      "src\\Extensions\\Features\\src\\Microsoft.Extensions.Features.csproj",
-      "src\\Http\\Http.Features\\src\\Microsoft.AspNetCore.Http.Features.csproj",
-      "src\\Http\\Routing.Abstractions\\src\\Microsoft.AspNetCore.Routing.Abstractions.csproj",
-      "src\\DataProtection\\DataProtection\\src\\Microsoft.AspNetCore.DataProtection.csproj",
-      "src\\DataProtection\\Cryptography.Internal\\src\\Microsoft.AspNetCore.Cryptography.Internal.csproj",
-      "src\\DataProtection\\Abstractions\\src\\Microsoft.AspNetCore.DataProtection.Abstractions.csproj",
+      "src\\Servers\\HttpSys\\src\\Microsoft.AspNetCore.Server.HttpSys.csproj",
       "src\\Servers\\IIS\\IISIntegration\\src\\Microsoft.AspNetCore.Server.IISIntegration.csproj",
-      "src\\Middleware\\NodeServices\\samples\\NodeServicesExamples\\NodeServicesExamples.csproj",
-      "src\\Middleware\\NodeServices\\src\\Microsoft.AspNetCore.NodeServices.csproj",
-      "src\\Middleware\\SpaServices\\src\\Microsoft.AspNetCore.SpaServices.csproj",
-      "src\\Middleware\\Spa\\SpaServices.Extensions\\src\\Microsoft.AspNetCore.SpaServices.Extensions.csproj",
-      "src\\Middleware\\Spa\\SpaProxy\\src\\Microsoft.AspNetCore.SpaProxy.csproj",
-      "src\\Middleware\\NodeServices\\test\\Microsoft.AspNetCore.NodeServices.Tests.csproj",
-      "src\\Middleware\\HeaderPropagation\\src\\Microsoft.AspNetCore.HeaderPropagation.csproj",
-      "src\\Middleware\\HeaderPropagation\\test\\Microsoft.AspNetCore.HeaderPropagation.Tests.csproj",
-      "src\\Middleware\\HeaderPropagation\\samples\\HeaderPropagationSample\\HeaderPropagationSample.csproj",
       "src\\Servers\\IIS\\IIS\\src\\Microsoft.AspNetCore.Server.IIS.csproj",
-      "src\\Middleware\\ConcurrencyLimiter\\sample\\ConcurrencyLimiterSample.csproj",
-      "src\\Middleware\\ConcurrencyLimiter\\src\\Microsoft.AspNetCore.ConcurrencyLimiter.csproj",
-      "src\\Middleware\\ConcurrencyLimiter\\test\\Microsoft.AspNetCore.ConcurrencyLimiter.Tests.csproj",
-      "src\\Http\\Metadata\\src\\Microsoft.AspNetCore.Metadata.csproj",
-      "src\\Security\\Authorization\\Core\\src\\Microsoft.AspNetCore.Authorization.csproj",
-      "src\\Middleware\\ConcurrencyLimiter\\perf\\Microbenchmarks\\Microsoft.AspNetCore.ConcurrencyLimiter.Microbenchmarks.csproj",
-      "src\\DefaultBuilder\\src\\Microsoft.AspNetCore.csproj",
       "src\\Servers\\IIS\\IntegrationTesting.IIS\\src\\Microsoft.AspNetCore.Server.IntegrationTesting.IIS.csproj",
-      "src\\Middleware\\SpaServices.Extensions\\test\\Microsoft.AspNetCore.SpaServices.Extensions.Tests.csproj",
-      "src\\Middleware\\perf\\Microbenchmarks\\Microsoft.AspNetCore.WebSockets.Microbenchmarks.csproj",
-      "src\\Middleware\\SpaServices\\test\\Microsoft.AspNetCore.SpaServices.Tests.csproj",
-      "src\\Middleware\\perf\\ResponseCaching.Microbenchmarks\\Microsoft.AspNetCore.ResponseCaching.Microbenchmarks.csproj"
+      "src\\Servers\\Kestrel\\Core\\src\\Microsoft.AspNetCore.Server.Kestrel.Core.csproj",
+      "src\\Servers\\Kestrel\\Kestrel\\src\\Microsoft.AspNetCore.Server.Kestrel.csproj",
+      "src\\Servers\\Kestrel\\Transport.Sockets\\src\\Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.csproj"
     ]
   }
-}
+}

+ 4 - 4
src/Middleware/Session/Session.slnf

@@ -28,9 +28,9 @@
       "src\\Servers\\Kestrel\\Core\\src\\Microsoft.AspNetCore.Server.Kestrel.Core.csproj",
       "src\\Servers\\Kestrel\\Kestrel\\src\\Microsoft.AspNetCore.Server.Kestrel.csproj",
       "src\\Servers\\Kestrel\\Transport.Sockets\\src\\Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.csproj",
-      "src\\http\\Headers\\src\\Microsoft.Net.Http.Headers.csproj",
-      "src\\http\\Routing\\src\\Microsoft.AspNetCore.Routing.csproj",
-      "src\\http\\http\\src\\Microsoft.AspNetCore.Http.csproj",
+      "src\\Http\\Headers\\src\\Microsoft.Net.Http.Headers.csproj",
+      "src\\Http\\Routing\\src\\Microsoft.AspNetCore.Routing.csproj",
+      "src\\Http\\Http\\src\\Microsoft.AspNetCore.Http.csproj",
       "src\\Middleware\\Diagnostics.Abstractions\\src\\Microsoft.AspNetCore.Diagnostics.Abstractions.csproj",
       "src\\Middleware\\Diagnostics\\src\\Microsoft.AspNetCore.Diagnostics.csproj",
       "src\\Middleware\\HostFiltering\\src\\Microsoft.AspNetCore.HostFiltering.csproj",
@@ -40,4 +40,4 @@
       "src\\Middleware\\Session\\test\\Microsoft.AspNetCore.Session.Tests.csproj"
     ]
   }
-}
+}

+ 4 - 5
src/Middleware/StaticFiles/StaticFiles.slnf

@@ -22,11 +22,10 @@
       "src\\Servers\\IIS\\IISIntegration\\src\\Microsoft.AspNetCore.Server.IISIntegration.csproj",
       "src\\Servers\\Kestrel\\Core\\src\\Microsoft.AspNetCore.Server.Kestrel.Core.csproj",
       "src\\Servers\\Kestrel\\Kestrel\\src\\Microsoft.AspNetCore.Server.Kestrel.csproj",
-      "src\\Servers\\Kestrel\\Transport.Abstractions\\src\\Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.csproj",
       "src\\Servers\\Kestrel\\Transport.Sockets\\src\\Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.csproj",
-      "src\\http\\Headers\\src\\Microsoft.Net.Http.Headers.csproj",
-      "src\\http\\Routing\\src\\Microsoft.AspNetCore.Routing.csproj",
-      "src\\http\\http\\src\\Microsoft.AspNetCore.Http.csproj",
+      "src\\Http\\Headers\\src\\Microsoft.Net.Http.Headers.csproj",
+      "src\\Http\\Routing\\src\\Microsoft.AspNetCore.Routing.csproj",
+      "src\\Http\\Http\\src\\Microsoft.AspNetCore.Http.csproj",
       "src\\Middleware\\HttpOverrides\\src\\Microsoft.AspNetCore.HttpOverrides.csproj",
       "src\\Middleware\\ResponseCompression\\src\\Microsoft.AspNetCore.ResponseCompression.csproj",
       "src\\Middleware\\StaticFiles\\samples\\StaticFileSample\\StaticFileSample.csproj",
@@ -35,4 +34,4 @@
       "src\\Middleware\\StaticFiles\\test\\UnitTests\\Microsoft.AspNetCore.StaticFiles.Tests.csproj"
     ]
   }
-}
+}

+ 40 - 41
src/ProjectTemplates/ProjectTemplates.slnf

@@ -1,54 +1,37 @@
-{
+{
   "solution": {
     "path": "..\\..\\AspNetCore.sln",
-    "projects" : [
-      "src\\ProjectTemplates\\BlazorTemplates.Tests\\BlazorTemplates.Tests.csproj",
-      "src\\ProjectTemplates\\Web.ProjectTemplates\\Microsoft.DotNet.Web.ProjectTemplates.csproj",
-      "src\\submodules\\spa-templates\\src\\Microsoft.DotNet.Web.Spa.ProjectTemplates.csproj",
-      "src\\ProjectTemplates\\Web.Client.ItemTemplates\\Microsoft.DotNet.Web.Client.ItemTemplates.csproj",
-      "src\\ProjectTemplates\\Web.ItemTemplates\\Microsoft.DotNet.Web.ItemTemplates.csproj",
-      "src\\ProjectTemplates\\test\\ProjectTemplates.Tests.csproj",
-      "src\\ProjectTemplates\\testassets\\DotNetToolsInstaller\\DotNetToolsInstaller.csproj",
-      "src\\Hosting\\Server.IntegrationTesting\\src\\Microsoft.AspNetCore.Server.IntegrationTesting.csproj",
-      "src\\Hosting\\Abstractions\\src\\Microsoft.AspNetCore.Hosting.Abstractions.csproj",
-      "src\\Hosting\\Server.Abstractions\\src\\Microsoft.AspNetCore.Hosting.Server.Abstractions.csproj",
-      "src\\Http\\Http.Abstractions\\src\\Microsoft.AspNetCore.Http.Abstractions.csproj",
-      "src\\Extensions\\Features\\src\\Microsoft.Extensions.Features.csproj",
-      "src\\Http\\Http.Features\\src\\Microsoft.AspNetCore.Http.Features.csproj",
-      "src\\DefaultBuilder\\src\\Microsoft.AspNetCore.csproj",
+    "projects": [
+      "src\\Antiforgery\\src\\Microsoft.AspNetCore.Antiforgery.csproj",
+      "src\\Components\\Components\\src\\Microsoft.AspNetCore.Components.csproj",
+      "src\\Components\\Web\\src\\Microsoft.AspNetCore.Components.Web.csproj",
       "src\\DataProtection\\Abstractions\\src\\Microsoft.AspNetCore.DataProtection.Abstractions.csproj",
       "src\\DataProtection\\Cryptography.Internal\\src\\Microsoft.AspNetCore.Cryptography.Internal.csproj",
       "src\\DataProtection\\Cryptography.KeyDerivation\\src\\Microsoft.AspNetCore.Cryptography.KeyDerivation.csproj",
       "src\\DataProtection\\DataProtection\\src\\Microsoft.AspNetCore.DataProtection.csproj",
       "src\\DataProtection\\Extensions\\src\\Microsoft.AspNetCore.DataProtection.Extensions.csproj",
-      "src\\Antiforgery\\src\\Microsoft.AspNetCore.Antiforgery.csproj",
+      "src\\DefaultBuilder\\src\\Microsoft.AspNetCore.csproj",
+      "src\\Extensions\\Features\\src\\Microsoft.Extensions.Features.csproj",
+      "src\\Framework\\App.Runtime\\src\\Microsoft.AspNetCore.App.Runtime.csproj",
+      "src\\Hosting\\Abstractions\\src\\Microsoft.AspNetCore.Hosting.Abstractions.csproj",
       "src\\Hosting\\Hosting\\src\\Microsoft.AspNetCore.Hosting.csproj",
+      "src\\Hosting\\Server.Abstractions\\src\\Microsoft.AspNetCore.Hosting.Server.Abstractions.csproj",
+      "src\\Hosting\\Server.IntegrationTesting\\src\\Microsoft.AspNetCore.Server.IntegrationTesting.csproj",
+      "src\\Html.Abstractions\\src\\Microsoft.AspNetCore.Html.Abstractions.csproj",
       "src\\Http\\Authentication.Abstractions\\src\\Microsoft.AspNetCore.Authentication.Abstractions.csproj",
       "src\\Http\\Authentication.Core\\src\\Microsoft.AspNetCore.Authentication.Core.csproj",
       "src\\Http\\Headers\\src\\Microsoft.Net.Http.Headers.csproj",
+      "src\\Http\\Http.Abstractions\\src\\Microsoft.AspNetCore.Http.Abstractions.csproj",
       "src\\Http\\Http.Extensions\\src\\Microsoft.AspNetCore.Http.Extensions.csproj",
+      "src\\Http\\Http.Features\\src\\Microsoft.AspNetCore.Http.Features.csproj",
       "src\\Http\\Http\\src\\Microsoft.AspNetCore.Http.csproj",
       "src\\Http\\Routing.Abstractions\\src\\Microsoft.AspNetCore.Routing.Abstractions.csproj",
       "src\\Http\\Routing\\src\\Microsoft.AspNetCore.Routing.csproj",
       "src\\Http\\WebUtilities\\src\\Microsoft.AspNetCore.WebUtilities.csproj",
-      "src\\Html.Abstractions\\src\\Microsoft.AspNetCore.Html.Abstractions.csproj",
+      "src\\Identity\\ApiAuthorization.IdentityServer\\src\\Microsoft.AspNetCore.ApiAuthorization.IdentityServer.csproj",
       "src\\Identity\\Core\\src\\Microsoft.AspNetCore.Identity.csproj",
       "src\\Identity\\Extensions.Core\\src\\Microsoft.Extensions.Identity.Core.csproj",
       "src\\Identity\\Extensions.Stores\\src\\Microsoft.Extensions.Identity.Stores.csproj",
-      "src\\Servers\\Connections.Abstractions\\src\\Microsoft.AspNetCore.Connections.Abstractions.csproj",
-      "src\\Servers\\HttpSys\\src\\Microsoft.AspNetCore.Server.HttpSys.csproj",
-      "src\\Servers\\IIS\\IISIntegration\\src\\Microsoft.AspNetCore.Server.IISIntegration.csproj",
-      "src\\Servers\\IIS\\IIS\\src\\Microsoft.AspNetCore.Server.IIS.csproj",
-      "src\\Servers\\Kestrel\\Core\\src\\Microsoft.AspNetCore.Server.Kestrel.Core.csproj",
-      "src\\Servers\\Kestrel\\Kestrel\\src\\Microsoft.AspNetCore.Server.Kestrel.csproj",
-      "src\\Servers\\Kestrel\\Transport.Sockets\\src\\Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.csproj",
-      "src\\Security\\Authentication\\Cookies\\src\\Microsoft.AspNetCore.Authentication.Cookies.csproj",
-      "src\\Security\\Authentication\\Core\\src\\Microsoft.AspNetCore.Authentication.csproj",
-      "src\\Security\\Authentication\\OAuth\\src\\Microsoft.AspNetCore.Authentication.OAuth.csproj",
-      "src\\Security\\Authorization\\Core\\src\\Microsoft.AspNetCore.Authorization.csproj",
-      "src\\Security\\Authorization\\Policy\\src\\Microsoft.AspNetCore.Authorization.Policy.csproj",
-      "src\\Security\\CookiePolicy\\src\\Microsoft.AspNetCore.CookiePolicy.csproj",
-      "src\\Shared\\BrowserTesting\\src\\Microsoft.AspNetCore.BrowserTesting.csproj",
       "src\\Middleware\\CORS\\src\\Microsoft.AspNetCore.Cors.csproj",
       "src\\Middleware\\Diagnostics.Abstractions\\src\\Microsoft.AspNetCore.Diagnostics.Abstractions.csproj",
       "src\\Middleware\\Diagnostics\\src\\Microsoft.AspNetCore.Diagnostics.csproj",
@@ -63,10 +46,9 @@
       "src\\Middleware\\ResponseCompression\\src\\Microsoft.AspNetCore.ResponseCompression.csproj",
       "src\\Middleware\\Rewrite\\src\\Microsoft.AspNetCore.Rewrite.csproj",
       "src\\Middleware\\Session\\src\\Microsoft.AspNetCore.Session.csproj",
+      "src\\Middleware\\Spa\\SpaServices.Extensions\\src\\Microsoft.AspNetCore.SpaServices.Extensions.csproj",
       "src\\Middleware\\StaticFiles\\src\\Microsoft.AspNetCore.StaticFiles.csproj",
       "src\\Middleware\\WebSockets\\src\\Microsoft.AspNetCore.WebSockets.csproj",
-      "src\\Razor\\Razor.Runtime\\src\\Microsoft.AspNetCore.Razor.Runtime.csproj",
-      "src\\Razor\\Razor\\src\\Microsoft.AspNetCore.Razor.csproj",
       "src\\Mvc\\Mvc.Abstractions\\src\\Microsoft.AspNetCore.Mvc.Abstractions.csproj",
       "src\\Mvc\\Mvc.ApiExplorer\\src\\Microsoft.AspNetCore.Mvc.ApiExplorer.csproj",
       "src\\Mvc\\Mvc.Core\\src\\Microsoft.AspNetCore.Mvc.Core.csproj",
@@ -80,18 +62,35 @@
       "src\\Mvc\\Mvc.TagHelpers\\src\\Microsoft.AspNetCore.Mvc.TagHelpers.csproj",
       "src\\Mvc\\Mvc.ViewFeatures\\src\\Microsoft.AspNetCore.Mvc.ViewFeatures.csproj",
       "src\\Mvc\\Mvc\\src\\Microsoft.AspNetCore.Mvc.csproj",
+      "src\\ProjectTemplates\\BlazorTemplates.Tests\\BlazorTemplates.Tests.csproj",
+      "src\\ProjectTemplates\\Web.Client.ItemTemplates\\Microsoft.DotNet.Web.Client.ItemTemplates.csproj",
+      "src\\ProjectTemplates\\Web.ItemTemplates\\Microsoft.DotNet.Web.ItemTemplates.csproj",
+      "src\\ProjectTemplates\\Web.ProjectTemplates\\Microsoft.DotNet.Web.ProjectTemplates.csproj",
+      "src\\ProjectTemplates\\test\\ProjectTemplates.Tests.csproj",
+      "src\\ProjectTemplates\\testassets\\DotNetToolsInstaller\\DotNetToolsInstaller.csproj",
+      "src\\Razor\\Razor.Runtime\\src\\Microsoft.AspNetCore.Razor.Runtime.csproj",
+      "src\\Razor\\Razor\\src\\Microsoft.AspNetCore.Razor.csproj",
+      "src\\Security\\Authentication\\Cookies\\src\\Microsoft.AspNetCore.Authentication.Cookies.csproj",
+      "src\\Security\\Authentication\\Core\\src\\Microsoft.AspNetCore.Authentication.csproj",
+      "src\\Security\\Authentication\\OAuth\\src\\Microsoft.AspNetCore.Authentication.OAuth.csproj",
+      "src\\Security\\Authorization\\Core\\src\\Microsoft.AspNetCore.Authorization.csproj",
+      "src\\Security\\Authorization\\Policy\\src\\Microsoft.AspNetCore.Authorization.Policy.csproj",
+      "src\\Security\\CookiePolicy\\src\\Microsoft.AspNetCore.CookiePolicy.csproj",
+      "src\\Servers\\Connections.Abstractions\\src\\Microsoft.AspNetCore.Connections.Abstractions.csproj",
+      "src\\Servers\\HttpSys\\src\\Microsoft.AspNetCore.Server.HttpSys.csproj",
+      "src\\Servers\\IIS\\IISIntegration\\src\\Microsoft.AspNetCore.Server.IISIntegration.csproj",
+      "src\\Servers\\IIS\\IIS\\src\\Microsoft.AspNetCore.Server.IIS.csproj",
+      "src\\Servers\\Kestrel\\Core\\src\\Microsoft.AspNetCore.Server.Kestrel.Core.csproj",
+      "src\\Servers\\Kestrel\\Kestrel\\src\\Microsoft.AspNetCore.Server.Kestrel.csproj",
+      "src\\Servers\\Kestrel\\Transport.Sockets\\src\\Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.csproj",
+      "src\\Shared\\BrowserTesting\\src\\Microsoft.AspNetCore.BrowserTesting.csproj",
       "src\\SignalR\\common\\Http.Connections.Common\\src\\Microsoft.AspNetCore.Http.Connections.Common.csproj",
       "src\\SignalR\\common\\Http.Connections\\src\\Microsoft.AspNetCore.Http.Connections.csproj",
       "src\\SignalR\\common\\Protocols.NewtonsoftJson\\src\\Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson.csproj",
       "src\\SignalR\\common\\SignalR.Common\\src\\Microsoft.AspNetCore.SignalR.Common.csproj",
       "src\\SignalR\\server\\Core\\src\\Microsoft.AspNetCore.SignalR.Core.csproj",
       "src\\SignalR\\server\\SignalR\\src\\Microsoft.AspNetCore.SignalR.csproj",
-      "src\\Components\\Web\\src\\Microsoft.AspNetCore.Components.Web.csproj",
-      "src\\Components\\Components\\src\\Microsoft.AspNetCore.Components.csproj",
-      "src\\Identity\\ApiAuthorization.IdentityServer\\src\\Microsoft.AspNetCore.ApiAuthorization.IdentityServer.csproj",
-      "src\\Middleware\\SpaServices.Extensions\\src\\Microsoft.AspNetCore.SpaServices.Extensions.csproj",
-      "src\\ProjectTemplates\\BlazorTemplates.Tests\\BlazorTemplates.Tests.csproj",
-      "src\\Framework\\App.Runtime\\src\\Microsoft.AspNetCore.App.Runtime.csproj"
+      "src\\submodules\\spa-templates\\src\\Microsoft.DotNet.Web.Spa.ProjectTemplates.csproj"
     ]
   }
-}
+}

+ 2 - 3
src/Security/Security.slnf

@@ -40,12 +40,11 @@
       "src\\Security\\Authentication\\JwtBearer\\samples\\JwtBearerSample\\JwtBearerSample.csproj",
       "src\\Security\\Authentication\\JwtBearer\\src\\Microsoft.AspNetCore.Authentication.JwtBearer.csproj",
       "src\\Security\\Authentication\\MicrosoftAccount\\src\\Microsoft.AspNetCore.Authentication.MicrosoftAccount.csproj",
-      "src\\Security\\Authentication\\Negotiate\\Samples\\NegotiateAuthSample\\NegotiateAuthSample.csproj",
+      "src\\Security\\Authentication\\Negotiate\\samples\\NegotiateAuthSample\\NegotiateAuthSample.csproj",
       "src\\Security\\Authentication\\Negotiate\\src\\Microsoft.AspNetCore.Authentication.Negotiate.csproj",
       "src\\Security\\Authentication\\Negotiate\\test\\Negotiate.FunctionalTest\\Microsoft.AspNetCore.Authentication.Negotiate.FunctionalTest.csproj",
       "src\\Security\\Authentication\\Negotiate\\test\\Negotiate.Test\\Microsoft.AspNetCore.Authentication.Negotiate.Test.csproj",
       "src\\Security\\Authentication\\OAuth\\src\\Microsoft.AspNetCore.Authentication.OAuth.csproj",
-      "src\\Security\\Authentication\\OpenIdConnect\\samples\\OpenIdConnect.AzureAdSample\\OpenIdConnect.AzureAdSample.csproj",
       "src\\Security\\Authentication\\OpenIdConnect\\samples\\OpenIdConnectSample\\OpenIdConnectSample.csproj",
       "src\\Security\\Authentication\\OpenIdConnect\\src\\Microsoft.AspNetCore.Authentication.OpenIdConnect.csproj",
       "src\\Security\\Authentication\\Twitter\\src\\Microsoft.AspNetCore.Authentication.Twitter.csproj",
@@ -70,4 +69,4 @@
       "src\\WebEncoders\\src\\Microsoft.Extensions.WebEncoders.csproj"
     ]
   }
-}
+}

+ 11 - 11
src/Servers/test/FunctionalTests/FunctionalTests.slnf

@@ -1,23 +1,23 @@
-{
+{
   "solution": {
     "path": "..\\..\\..\\..\\AspNetCore.sln",
-    "projects" : [
-      "src\\Servers\\test\\FunctionalTests\\ServerComparison.FunctionalTests.csproj",
+    "projects": [
+      "src\\DataProtection\\Abstractions\\src\\Microsoft.AspNetCore.DataProtection.Abstractions.csproj",
+      "src\\DataProtection\\Cryptography.Internal\\src\\Microsoft.AspNetCore.Cryptography.Internal.csproj",
+      "src\\DataProtection\\DataProtection\\src\\Microsoft.AspNetCore.DataProtection.csproj",
       "src\\Hosting\\Server.IntegrationTesting\\src\\Microsoft.AspNetCore.Server.IntegrationTesting.csproj",
       "src\\Http\\Headers\\src\\Microsoft.Net.Http.Headers.csproj",
       "src\\Http\\WebUtilities\\src\\Microsoft.AspNetCore.WebUtilities.csproj",
       "src\\Middleware\\ResponseCompression\\src\\Microsoft.AspNetCore.ResponseCompression.csproj",
+      "src\\Security\\Authentication\\Core\\src\\Microsoft.AspNetCore.Authentication.csproj",
+      "src\\Security\\Authentication\\Negotiate\\src\\Microsoft.AspNetCore.Authentication.Negotiate.csproj",
       "src\\Servers\\HttpSys\\src\\Microsoft.AspNetCore.Server.HttpSys.csproj",
       "src\\Servers\\IIS\\IISIntegration\\src\\Microsoft.AspNetCore.Server.IISIntegration.csproj",
-      "src\\Servers\\Kestrel\\Kestrel\\src\\Microsoft.AspNetCore.Server.Kestrel.csproj",
-      "src\\Servers\\testassets\\ServerComparison.TestSites\\ServerComparison.TestSites.csproj",
       "src\\Servers\\IIS\\IIS\\src\\Microsoft.AspNetCore.Server.IIS.csproj",
       "src\\Servers\\IIS\\IntegrationTesting.IIS\\src\\Microsoft.AspNetCore.Server.IntegrationTesting.IIS.csproj",
-      "src\\Security\\Authentication\\Negotiate\\src\\Microsoft.AspNetCore.Authentication.Negotiate.csproj",
-      "src\\Security\\Authentication\\Core\\src\\Microsoft.AspNetCore.Authentication.csproj",
-      "src\\DataProtection\\DataProtection\\src\\Microsoft.AspNetCore.DataProtection.csproj",
-      "src\\DataProtection\\Abstractions\\src\\Microsoft.AspNetCore.DataProtection.Abstractions.csproj",
-      "src\\DataProtection\\Cryptography.Internal\\src\\Microsoft.AspNetCore.Cryptography.Internal.csproj"
+      "src\\Servers\\Kestrel\\Kestrel\\src\\Microsoft.AspNetCore.Server.Kestrel.csproj",
+      "src\\Servers\\test\\FunctionalTests\\ServerComparison.FunctionalTests.csproj",
+      "src\\Servers\\testassets\\ServerComparison.TestSites\\ServerComparison.TestSites.csproj"
     ]
   }
-}
+}

Some files were not shown because too many files changed in this diff