diff --git a/Directory.Build.targets b/Directory.Build.targets
index 821a7d214354426e546b7e569c04bb8fe25fede7..fc58b9610db22d6800b362c8218f4502dc2cb62b 100644
--- a/Directory.Build.targets
+++ b/Directory.Build.targets
@@ -38,6 +38,9 @@
     <!-- Implementation projects are the projects which produce nuget packages or shipping assemblies. -->
     <IsImplementationProject Condition=" '$(IsImplementationProject)' == '' AND '$(IsTestAssetProject)' != 'true' AND '$(IsTestProject)' != 'true' AND '$(IsBenchmarkProject)' != 'true' AND '$(IsSampleProject)' != 'true' ">true</IsImplementationProject>
 
+    <!-- This determines whether a project is available as a <Reference> to other projects in this repo. -->
+    <IsProjectReferenceProvider Condition=" '$(IsProjectReferenceProvider)' == '' AND '$(IsImplementationProject)' == 'true' AND '$(PackAsTool)' != 'true' ">true</IsProjectReferenceProvider>
+
     <!-- Suppress KoreBuild warnings about the mismatch of repo version and local project version. The versioning in this mega repo is sufficiently complicated that KoreBuild's validation isn't helpful. -->
     <VerifyVersion>false</VerifyVersion>
 
diff --git a/build/buildorder.props b/build/buildorder.props
index b51d1cfa3925f63b6ce5a41e845332c93cd62679..31803c24a50b2fdba8b5043a9c06f5f2589eac02 100644
--- a/build/buildorder.props
+++ b/build/buildorder.props
@@ -8,7 +8,6 @@
 
   <ItemGroup>
     <RepositoryBuildOrder Include="EntityFrameworkCore" Order="8" />
-    <RepositoryBuildOrder Include="AADIntegration" Order="15" RootPath="$(RepositoryRoot)src\AADIntegration\" />
     <RepositoryBuildOrder Include="Identity" Order="15" RootPath="$(RepositoryRoot)src\Identity\"  />
     <RepositoryBuildOrder Include="MvcPrecompilation" Order="15" RootPath="$(RepositoryRoot)src\MvcPrecompilation\" />
     <RepositoryBuildOrder Include="Scaffolding" Order="15" />
diff --git a/build/repo.props b/build/repo.props
index 81a62f784b29b8d5aeef36d0a7bc2c67ce8c94cf..0eada1db84f945a5697160f7adee0b44c4e6ba5f 100644
--- a/build/repo.props
+++ b/build/repo.props
@@ -51,56 +51,67 @@
     <SharedFrameworkName Include="Microsoft.AspNetCore.App" />
   </ItemGroup>
 
-  <ItemGroup>
-    <SamplesProject Include="$(RepositoryRoot)src\**\samples\**\*.csproj;"/>
-
-    <ProjectToExclude Include="@(SamplesProject)" Condition="'$(BuildSamples)' == 'false' "/>
-
-    <!-- These projects use 'legacy' csproj, which is not supported by dotnet-msbuild. -->
-    <ProjectToExclude Include="
-                      $(RepositoryRoot)src\Servers\HttpSys\samples\TestClient\TestClient.csproj;
-                      $(RepositoryRoot)src\Middleware\WebSockets\samples\TestServer\TestServer.csproj;
-                      "
-                      Condition=" '$(MSBuildRuntimeType)' == 'Core' " />
-
-    <!-- Exclude the websockets samples for now because they use classic .csproj, which is not yet supported in our build. -->
-    <ProjectToExclude Include="
-                       $(RepositoryRoot)src\Middleware\WebSockets\samples\**\*.csproj;
-                       $(RepositoryRoot)src\Middleware\NodeServices.Sockets\**\*.csproj;
-                       $(RepositoryRoot)src\Tools\dotnet-watch\test\TestProjects\**\*.csproj;
-                       $(RepositoryRoot)src\Razor\Razor.Design\test\testassets\**\*.*proj
-                       " />
-
-    <NpmProjectDirectory Include="$(RepositoryRoot)src\Middleware\CORS\test\FunctionalTests\" />
-
-    <ProjectToBuild Condition=" '$(OS)' == 'Windows_NT' AND '$(MSBuildRuntimeType)' != 'Core' " Include="$(RepositoryRoot)src\Servers\**\*.vcxproj">
-      <!-- Required to prevent triggering double-builds. See src\Servers\IIS\ResolveIisReferences.targets for details. -->
-      <AdditionalProperties Condition="'$(SharedFxRid)' == 'win-x64'">Platform=x64</AdditionalProperties>
-      <AdditionalProperties Condition="'$(SharedFxRid)' == 'win-x86'">Platform=x86</AdditionalProperties>
-    </ProjectToBuild>
-
-    <ProjectToBuild Include="
-                      $(RepositoryRoot)src\DefaultBuilder\**\*.*proj;
-                      $(RepositoryRoot)src\Features\JsonPatch\**\*.*proj;
-                      $(RepositoryRoot)src\DataProtection\**\*.*proj;
-                      $(RepositoryRoot)src\Antiforgery\**\*.*proj;
-                      $(RepositoryRoot)src\Hosting\**\*.*proj;
-                      $(RepositoryRoot)src\Http\**\*.*proj;
-                      $(RepositoryRoot)src\Html\**\*.*proj;
-                      $(RepositoryRoot)src\Servers\**\*.csproj;
-                      $(RepositoryRoot)src\Servers\**\*.pkgproj;
-                      $(RepositoryRoot)src\Security\**\*.*proj;
-                      $(RepositoryRoot)src\Shared\**\*.*proj;
-                      $(RepositoryRoot)src\Tools\**\*.*proj;
-                      $(RepositoryRoot)src\Middleware\**\*.*proj;
-                      $(RepositoryRoot)src\Razor\**\*.*proj;
-                      $(RepositoryRoot)src\Mvc\**\*.*proj;
-                      "
-                    Exclude="
-                      @(ProjectToExclude);
-                      $(RepositoryRoot)**\bin\**\*;
-                      $(RepositoryRoot)**\obj\**\*;" />
-  </ItemGroup>
+  <Choose>
+    <!-- Project selection can be overridden on the command line by passing in -projects -->
+    <When Condition="'$(Projects)' != ''">
+      <ItemGroup>
+        <ProjectToBuild Include="$(Projects)" Exclude="@(ProjectToExclude)" />
+      </ItemGroup>
+    </When>
+    <Otherwise>
+      <ItemGroup>
+        <SamplesProject Include="$(RepositoryRoot)src\**\samples\**\*.csproj;"/>
+
+        <ProjectToExclude Include="@(SamplesProject)" Condition="'$(BuildSamples)' == 'false' "/>
+
+        <!-- These projects use 'legacy' csproj, which is not supported by dotnet-msbuild. -->
+        <ProjectToExclude Include="
+                          $(RepositoryRoot)src\Servers\HttpSys\samples\TestClient\TestClient.csproj;
+                          $(RepositoryRoot)src\Middleware\WebSockets\samples\TestServer\TestServer.csproj;
+                          "
+                          Condition=" '$(MSBuildRuntimeType)' == 'Core' " />
+
+        <!-- Exclude the websockets samples for now because they use classic .csproj, which is not yet supported in our build. -->
+        <ProjectToExclude Include="
+                          $(RepositoryRoot)src\Middleware\WebSockets\samples\**\*.csproj;
+                          $(RepositoryRoot)src\Middleware\NodeServices.Sockets\**\*.csproj;
+                          $(RepositoryRoot)src\Tools\dotnet-watch\test\TestProjects\**\*.csproj;
+                          $(RepositoryRoot)src\Razor\Razor.Design\test\testassets\**\*.*proj
+                          " />
+
+        <NpmProjectDirectory Include="$(RepositoryRoot)src\Middleware\CORS\test\FunctionalTests\" />
+
+        <ProjectToBuild Condition=" '$(OS)' == 'Windows_NT' AND '$(MSBuildRuntimeType)' != 'Core' " Include="$(RepositoryRoot)src\Servers\**\*.vcxproj">
+          <!-- Required to prevent triggering double-builds. See src\Servers\IIS\ResolveIisReferences.targets for details. -->
+          <AdditionalProperties Condition="'$(SharedFxRid)' == 'win-x64'">Platform=x64</AdditionalProperties>
+          <AdditionalProperties Condition="'$(SharedFxRid)' == 'win-x86'">Platform=x86</AdditionalProperties>
+        </ProjectToBuild>
+
+        <ProjectToBuild Include="
+                          $(RepositoryRoot)src\DefaultBuilder\**\*.*proj;
+                          $(RepositoryRoot)src\Features\JsonPatch\**\*.*proj;
+                          $(RepositoryRoot)src\DataProtection\**\*.*proj;
+                          $(RepositoryRoot)src\Antiforgery\**\*.*proj;
+                          $(RepositoryRoot)src\Hosting\**\*.*proj;
+                          $(RepositoryRoot)src\Http\**\*.*proj;
+                          $(RepositoryRoot)src\Html\**\*.*proj;
+                          $(RepositoryRoot)src\Servers\**\*.csproj;
+                          $(RepositoryRoot)src\Servers\**\*.pkgproj;
+                          $(RepositoryRoot)src\Security\**\*.*proj;
+                          $(RepositoryRoot)src\Shared\**\*.*proj;
+                          $(RepositoryRoot)src\Tools\**\*.*proj;
+                          $(RepositoryRoot)src\Middleware\**\*.*proj;
+                          $(RepositoryRoot)src\Razor\**\*.*proj;
+                          $(RepositoryRoot)src\Mvc\**\*.*proj;
+                          $(RepositoryRoot)src\Azure\**\*.*proj;
+                          "
+                        Exclude="
+                          @(ProjectToExclude);
+                          $(RepositoryRoot)**\bin\**\*;
+                          $(RepositoryRoot)**\obj\**\*;" />
+      </ItemGroup>
+    </Otherwise>
+  </Choose>
 
   <!-- Properties for publishing -->
   <PropertyGroup>
diff --git a/build/submodules.props b/build/submodules.props
index 7a44f1631e23639daade6358db4cf57e60bf1739..4a8834c8bbf3342598fab17eedfef38164aaf035 100644
--- a/build/submodules.props
+++ b/build/submodules.props
@@ -46,7 +46,6 @@
   </ItemGroup>
 
   <ItemGroup>
-    <ShippedRepository Include="AADIntegration" RootPath="$(RepositoryRoot)src\AADIntegration\" />
     <ShippedRepository Include="AzureIntegration" RootPath="$(RepositoryRoot)src\AzureIntegration\" />
     <ShippedRepository Include="Identity" RootPath="$(RepositoryRoot)src\Identity\" />
     <ShippedRepository Include="MetaPackages" RootPath="$(RepositoryRoot)src\MetaPackages\" PatchPolicy="CascadeVersions" />
diff --git a/eng/Baseline.Designer.props b/eng/Baseline.Designer.props
index 81faff93f18d23118d590079649d85427e0c1921..515b5d2e3975dc72dc100b2d55b41269642c4f3c 100644
--- a/eng/Baseline.Designer.props
+++ b/eng/Baseline.Designer.props
@@ -48,6 +48,26 @@
     <BaselinePackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="[2.2.0, )" />
     <BaselinePackageReference Include="Microsoft.Extensions.Options" Version="[2.2.0, )" />
   </ItemGroup>
+  <!-- Package: Microsoft.AspNetCore.Authentication.AzureAD.UI-->
+  <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.AzureAD.UI' ">
+    <BaselinePackageVersion>2.2.0</BaselinePackageVersion>
+  </PropertyGroup>
+  <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.AzureAD.UI' AND '$(TargetFramework)' == 'netstandard2.0' ">
+    <BaselinePackageReference Include="Microsoft.AspNetCore.Authentication.Cookies" Version="[2.2.0, )" />
+    <BaselinePackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="[2.2.0, )" />
+    <BaselinePackageReference Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="[2.2.0, )" />
+    <BaselinePackageReference Include="Microsoft.AspNetCore.Mvc" Version="[2.2.0, )" />
+  </ItemGroup>
+  <!-- Package: Microsoft.AspNetCore.Authentication.AzureADB2C.UI-->
+  <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.AzureADB2C.UI' ">
+    <BaselinePackageVersion>2.2.0</BaselinePackageVersion>
+  </PropertyGroup>
+  <ItemGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.AzureADB2C.UI' AND '$(TargetFramework)' == 'netstandard2.0' ">
+    <BaselinePackageReference Include="Microsoft.AspNetCore.Authentication.Cookies" Version="[2.2.0, )" />
+    <BaselinePackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="[2.2.0, )" />
+    <BaselinePackageReference Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="[2.2.0, )" />
+    <BaselinePackageReference Include="Microsoft.AspNetCore.Mvc" Version="[2.2.0, )" />
+  </ItemGroup>
   <!-- Package: Microsoft.AspNetCore.Authentication.Cookies-->
   <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Authentication.Cookies' ">
     <BaselinePackageVersion>2.2.0</BaselinePackageVersion>
diff --git a/eng/Baseline.xml b/eng/Baseline.xml
index 2be295abfbc9bad2ccb8d053f92d183480644d40..2151866bf02ac4223fbf14638193ea9262d4dd8e 100644
--- a/eng/Baseline.xml
+++ b/eng/Baseline.xml
@@ -13,6 +13,8 @@ build of ASP.NET Core 2.2.x. Update this list when preparing for a new patch.
   <Package Id="Microsoft.AspNetCore.AspNetCoreModule" Version="2.2.0" />
   <Package Id="Microsoft.AspNetCore.AspNetCoreModuleV2" Version="2.2.0" />
   <Package Id="Microsoft.AspNetCore.Authentication.Abstractions" Version="2.2.0" />
+  <Package Id="Microsoft.AspNetCore.Authentication.AzureAD.UI" Version="2.2.0" />
+  <Package Id="Microsoft.AspNetCore.Authentication.AzureADB2C.UI" Version="2.2.0" />
   <Package Id="Microsoft.AspNetCore.Authentication.Cookies" Version="2.2.0" />
   <Package Id="Microsoft.AspNetCore.Authentication.Core" Version="2.2.0" />
   <Package Id="Microsoft.AspNetCore.Authentication.Facebook" Version="2.2.0" />
diff --git a/eng/Dependencies.props b/eng/Dependencies.props
index 06b0e956cf91e1c8b499503676fe0fa4de873a52..e858687e64a1f87093ca5526cdaa1e0a8a4271c4 100644
--- a/eng/Dependencies.props
+++ b/eng/Dependencies.props
@@ -55,6 +55,7 @@ and are generated based on the last package release.
     <LatestPackageReference Include="Microsoft.Extensions.Localization.Abstractions" Version="$(MicrosoftExtensionsLocalizationAbstractionsPackageVersion)" />
     <LatestPackageReference Include="Microsoft.Extensions.Localization" Version="$(MicrosoftExtensionsLocalizationPackageVersion)" />
     <LatestPackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="$(MicrosoftExtensionsLoggingAbstractionsPackageVersion)" />
+    <LatestPackageReference Include="Microsoft.Extensions.Logging.Configuration" Version="$(MicrosoftExtensionsLoggingConfigurationPackageVersion)" />
     <LatestPackageReference Include="Microsoft.Extensions.Logging.Console" Version="$(MicrosoftExtensionsLoggingConsolePackageVersion)" />
     <LatestPackageReference Include="Microsoft.Extensions.Logging.Debug" Version="$(MicrosoftExtensionsLoggingDebugPackageVersion)" />
     <LatestPackageReference Include="Microsoft.Extensions.Logging.Testing" Version="$(MicrosoftExtensionsLoggingTestingPackageVersion)" />
diff --git a/eng/ProjectReferences.props b/eng/ProjectReferences.props
index cfceb65ca42ba92424328bb526483bb377da9639..ee98f03e9c7f586353e039d1f288d084eb2e7b10 100644
--- a/eng/ProjectReferences.props
+++ b/eng/ProjectReferences.props
@@ -61,10 +61,6 @@
     <ProjectReferenceProvider Include="Microsoft.AspNetCore.Authorization.Policy" ProjectPath="$(RepositoryRoot)src\Security\Authorization\Policy\src\Microsoft.AspNetCore.Authorization.Policy.csproj" />
     <ProjectReferenceProvider Include="Microsoft.AspNetCore.CookiePolicy" ProjectPath="$(RepositoryRoot)src\Security\CookiePolicy\src\Microsoft.AspNetCore.CookiePolicy.csproj" />
     <ProjectReferenceProvider Include="Microsoft.Owin.Security.Interop" ProjectPath="$(RepositoryRoot)src\Security\Interop\src\Microsoft.Owin.Security.Interop.csproj" />
-    <ProjectReferenceProvider Include="dotnet-dev-certs" ProjectPath="$(RepositoryRoot)src\Tools\dotnet-dev-certs\src\dotnet-dev-certs.csproj" />
-    <ProjectReferenceProvider Include="dotnet-sql-cache" ProjectPath="$(RepositoryRoot)src\Tools\dotnet-sql-cache\src\dotnet-sql-cache.csproj" />
-    <ProjectReferenceProvider Include="dotnet-user-secrets" ProjectPath="$(RepositoryRoot)src\Tools\dotnet-user-secrets\src\dotnet-user-secrets.csproj" />
-    <ProjectReferenceProvider Include="dotnet-watch" ProjectPath="$(RepositoryRoot)src\Tools\dotnet-watch\src\dotnet-watch.csproj" />
     <ProjectReferenceProvider Include="Microsoft.AspNetCore.DeveloperCertificates.XPlat" ProjectPath="$(RepositoryRoot)src\Tools\FirstRunCertGenerator\src\Microsoft.AspNetCore.DeveloperCertificates.XPlat.csproj" />
     <ProjectReferenceProvider Include="Microsoft.AspNetCore.Cors" ProjectPath="$(RepositoryRoot)src\Middleware\CORS\src\Microsoft.AspNetCore.Cors.csproj" />
     <ProjectReferenceProvider Include="Microsoft.AspNetCore.Diagnostics.Abstractions" ProjectPath="$(RepositoryRoot)src\Middleware\Diagnostics.Abstractions\src\Microsoft.AspNetCore.Diagnostics.Abstractions.csproj" />
@@ -120,5 +116,7 @@
     <ProjectReferenceProvider Include="Microsoft.AspNetCore.Mvc.WebApiCompatShim" ProjectPath="$(RepositoryRoot)src\Mvc\src\Microsoft.AspNetCore.Mvc.WebApiCompatShim\Microsoft.AspNetCore.Mvc.WebApiCompatShim.csproj" />
     <ProjectReferenceProvider Include="Microsoft.AspNetCore.Mvc" ProjectPath="$(RepositoryRoot)src\Mvc\src\Microsoft.AspNetCore.Mvc\Microsoft.AspNetCore.Mvc.csproj" />
     <ProjectReferenceProvider Include="Microsoft.Extensions.ApiDescription.Tasks" ProjectPath="$(RepositoryRoot)src\Mvc\src\Microsoft.Extensions.ApiDescription.Design\Microsoft.Extensions.ApiDescription.Design.csproj" />
+    <ProjectReferenceProvider Include="Microsoft.AspNetCore.Authentication.AzureAD.UI" ProjectPath="$(RepositoryRoot)src\Azure\AzureAD\Authentication.AzureAD.UI\src\Microsoft.AspNetCore.Authentication.AzureAD.UI.csproj" />
+    <ProjectReferenceProvider Include="Microsoft.AspNetCore.Authentication.AzureADB2C.UI" ProjectPath="$(RepositoryRoot)src\Azure\AzureAD\Authentication.AzureADB2C.UI\src\Microsoft.AspNetCore.Authentication.AzureADB2C.UI.csproj" />
   </ItemGroup>
 </Project>
diff --git a/eng/targets/ResolveReferences.targets b/eng/targets/ResolveReferences.targets
index da076a33ca63114fe01ba5fd829e8fc7f951b2f1..03d40146caf758e5df43a075142aa901675f16e1 100644
--- a/eng/targets/ResolveReferences.targets
+++ b/eng/targets/ResolveReferences.targets
@@ -165,7 +165,7 @@
   </Target>
 
   <Target Name="_GetReferencesProvided" Returns="@(ProvidesReference)">
-    <ItemGroup Condition=" '$(IsImplementationProject)' == 'true' OR '$(IsProjectReferenceProvider)' == 'true' ">
+    <ItemGroup Condition=" '$(IsProjectReferenceProvider)' == 'true' ">
       <ProvidesReference Include="$(AssemblyName)">
         <ProjectFileRelativePath>$([MSBuild]::MakeRelative($(RepositoryRoot), $(MSBuildProjectFullPath)))</ProjectFileRelativePath>
       </ProvidesReference>
diff --git a/run.ps1 b/run.ps1
index 6b7e36c6cf1597c2de0a0a051e72748efb945cdb..955a61c7e732a7ac30518cf37301744e1dd4f04a 100644
--- a/run.ps1
+++ b/run.ps1
@@ -38,6 +38,9 @@ The path to the configuration file that stores values. Defaults to korebuild.jso
 .PARAMETER CI
 Sets up CI specific settings and variables.
 
+.PARAMETER Projects
+A list of projects to build. (Must be an absolute path.) Globbing patterns are supported, such as "$(pwd)/**/*.csproj"
+
 .PARAMETER PackageVersionPropsUrl
 (optional) the url of the package versions props path containing dependency versions.
 
@@ -90,6 +93,7 @@ param(
     [switch]$Reinstall,
     [string]$ConfigFile = $null,
     [switch]$CI,
+    [string]$Projects,
     [string]$PackageVersionPropsUrl = $null,
     [string]$AccessTokenSuffix = $null,
     [string]$RestoreSources = $null,
@@ -237,6 +241,11 @@ if ($ProductBuildId) {
     $MSBuildArguments += "-p:DotNetProductBuildId=$ProductBuildId"
 }
 
+if ($Projects) {
+    $MSBuildArguments += "-p:Projects=$Projects"
+    $MSBuildArguments += "-p:_ProjectsOnly=true"
+}
+
 # Execute
 
 $korebuildPath = Get-KoreBuild
diff --git a/src/AADIntegration/.gitignore b/src/AADIntegration/.gitignore
deleted file mode 100644
index e38f0aa1019f19981223958c1bb6dad81ff08f10..0000000000000000000000000000000000000000
--- a/src/AADIntegration/.gitignore
+++ /dev/null
@@ -1,43 +0,0 @@
-[Oo]bj/
-[Bb]in/
-TestResults/
-.nuget/
-.build/
-.testPublish/
-*.sln.ide/
-_ReSharper.*/
-packages/
-artifacts/
-PublishProfiles/
-.vs/
-bower_components/
-node_modules/
-debugSettings.json
-project.lock.json
-*.user
-*.suo
-*.cache
-*.docstates
-_ReSharper.*
-nuget.exe
-*net45.csproj
-*net451.csproj
-*k10.csproj
-*.psess
-*.vsp
-*.pidb
-*.userprefs
-*DS_Store
-*.ncrunchsolution
-*.*sdf
-*.ipch
-.settings
-*.sln.ide
-node_modules
-*launchSettings.json
-*.orig
-.vscode/
-global.json
-BenchmarkDotNet.Artifacts/
-.idea/
-msbuild.binlog
diff --git a/src/AADIntegration/AADIntegration.sln b/src/AADIntegration/AADIntegration.sln
deleted file mode 100644
index 2ed6ef887659f1e048db3eb71372b5a9b5212316..0000000000000000000000000000000000000000
--- a/src/AADIntegration/AADIntegration.sln
+++ /dev/null
@@ -1,79 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.26124.0
-MinimumVisualStudioVersion = 15.0.26124.0
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{75A812B0-D98C-45F3-B2A9-357BBDF7331A}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{8CF63E1D-F9F7-4CB4-AD90-88C4077F7BFF}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{57F46508-E53D-4F6B-B77C-2EFE95925AEF}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AzureADB2CSample", "samples\AzureADB2CSample\AzureADB2CSample.csproj", "{5D2378D4-9DDA-468F-82C6-AE4DAA54E96C}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Authentication.AzureADB2C.UI", "src\Microsoft.AspNetCore.Authentication.AzureADB2C.UI\Microsoft.AspNetCore.Authentication.AzureADB2C.UI.csproj", "{16912327-C9B3-49FC-87E0-49FEDED0A065}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Authentication.AzureADB2C.UI.Test", "test\Microsoft.AspNetCore.Authentication.AzureADB2C.UI.Test\Microsoft.AspNetCore.Authentication.AzureADB2C.UI.Test.csproj", "{454089F9-ED16-4A11-9C52-2BA74DCF5D35}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Authentication.AzureAD.UI", "src\Microsoft.AspNetCore.Authentication.AzureAD.UI\Microsoft.AspNetCore.Authentication.AzureAD.UI.csproj", "{1762840C-A14A-4498-9883-CC671956F0F2}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Authentication.AzureAD.UI.Test", "test\Microsoft.AspNetCore.Authentication.AzureAD.UI.Test\Microsoft.AspNetCore.Authentication.AzureAD.UI.Test.csproj", "{3D0CF896-3A9D-4A8F-A343-A2E1A131C861}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.AspNetCore.Authentication.AzureAD.FunctionalTests", "test\Microsoft.AspNetCore.Authentication.AzureAD.FunctionalTests\Microsoft.AspNetCore.Authentication.AzureAD.FunctionalTests.csproj", "{1967296B-614B-43E5-B1BA-A601579961D5}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WebSites", "WebSites", "{2AEF59C3-7ADA-404D-B965-26B700FBD03F}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AzureAD.WebSite", "test\WebSites\AzureAD.WebSite\AzureAD.WebSite.csproj", "{4DB3C5B2-9FBF-42BC-80B2-2190EB1AE316}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|Any CPU = Debug|Any CPU
-		Release|Any CPU = Release|Any CPU
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{5D2378D4-9DDA-468F-82C6-AE4DAA54E96C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{5D2378D4-9DDA-468F-82C6-AE4DAA54E96C}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{5D2378D4-9DDA-468F-82C6-AE4DAA54E96C}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{5D2378D4-9DDA-468F-82C6-AE4DAA54E96C}.Release|Any CPU.Build.0 = Release|Any CPU
-		{16912327-C9B3-49FC-87E0-49FEDED0A065}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{16912327-C9B3-49FC-87E0-49FEDED0A065}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{16912327-C9B3-49FC-87E0-49FEDED0A065}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{16912327-C9B3-49FC-87E0-49FEDED0A065}.Release|Any CPU.Build.0 = Release|Any CPU
-		{454089F9-ED16-4A11-9C52-2BA74DCF5D35}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{454089F9-ED16-4A11-9C52-2BA74DCF5D35}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{454089F9-ED16-4A11-9C52-2BA74DCF5D35}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{454089F9-ED16-4A11-9C52-2BA74DCF5D35}.Release|Any CPU.Build.0 = Release|Any CPU
-		{1762840C-A14A-4498-9883-CC671956F0F2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{1762840C-A14A-4498-9883-CC671956F0F2}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{1762840C-A14A-4498-9883-CC671956F0F2}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{1762840C-A14A-4498-9883-CC671956F0F2}.Release|Any CPU.Build.0 = Release|Any CPU
-		{3D0CF896-3A9D-4A8F-A343-A2E1A131C861}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{3D0CF896-3A9D-4A8F-A343-A2E1A131C861}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{3D0CF896-3A9D-4A8F-A343-A2E1A131C861}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{3D0CF896-3A9D-4A8F-A343-A2E1A131C861}.Release|Any CPU.Build.0 = Release|Any CPU
-		{1967296B-614B-43E5-B1BA-A601579961D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{1967296B-614B-43E5-B1BA-A601579961D5}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{1967296B-614B-43E5-B1BA-A601579961D5}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{1967296B-614B-43E5-B1BA-A601579961D5}.Release|Any CPU.Build.0 = Release|Any CPU
-		{4DB3C5B2-9FBF-42BC-80B2-2190EB1AE316}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{4DB3C5B2-9FBF-42BC-80B2-2190EB1AE316}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{4DB3C5B2-9FBF-42BC-80B2-2190EB1AE316}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{4DB3C5B2-9FBF-42BC-80B2-2190EB1AE316}.Release|Any CPU.Build.0 = Release|Any CPU
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-	GlobalSection(NestedProjects) = preSolution
-		{5D2378D4-9DDA-468F-82C6-AE4DAA54E96C} = {8CF63E1D-F9F7-4CB4-AD90-88C4077F7BFF}
-		{16912327-C9B3-49FC-87E0-49FEDED0A065} = {75A812B0-D98C-45F3-B2A9-357BBDF7331A}
-		{454089F9-ED16-4A11-9C52-2BA74DCF5D35} = {57F46508-E53D-4F6B-B77C-2EFE95925AEF}
-		{1762840C-A14A-4498-9883-CC671956F0F2} = {75A812B0-D98C-45F3-B2A9-357BBDF7331A}
-		{3D0CF896-3A9D-4A8F-A343-A2E1A131C861} = {57F46508-E53D-4F6B-B77C-2EFE95925AEF}
-		{1967296B-614B-43E5-B1BA-A601579961D5} = {57F46508-E53D-4F6B-B77C-2EFE95925AEF}
-		{2AEF59C3-7ADA-404D-B965-26B700FBD03F} = {57F46508-E53D-4F6B-B77C-2EFE95925AEF}
-		{4DB3C5B2-9FBF-42BC-80B2-2190EB1AE316} = {2AEF59C3-7ADA-404D-B965-26B700FBD03F}
-	EndGlobalSection
-	GlobalSection(ExtensibilityGlobals) = postSolution
-		SolutionGuid = {C6DBF56C-E862-46EA-A4E0-993D2950D78D}
-	EndGlobalSection
-EndGlobal
diff --git a/src/AADIntegration/Directory.Build.props b/src/AADIntegration/Directory.Build.props
deleted file mode 100644
index 1cc732270e94bae5ccf51f6f4ced894a942425aa..0000000000000000000000000000000000000000
--- a/src/AADIntegration/Directory.Build.props
+++ /dev/null
@@ -1,20 +0,0 @@
-<Project>
-  <Import
-    Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), AspNetCoreSettings.props))\AspNetCoreSettings.props"
-    Condition=" '$(CI)' != 'true' AND '$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), AspNetCoreSettings.props))' != '' " />
-
-  <Import Project="version.props" />
-  <Import Project="build\dependencies.props" />
-  <Import Project="build\sources.props" />
-
-  <PropertyGroup>
-    <Product>Microsoft ASP.NET Core AAD Integration</Product>
-    <RepositoryUrl>https://github.com/aspnet/AspNetCore</RepositoryUrl>
-    <RepositoryType>git</RepositoryType>
-    <RepositoryRoot>$(MSBuildThisFileDirectory)</RepositoryRoot>
-    <AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)..\..\eng\AspNetCore.snk</AssemblyOriginatorKeyFile>
-    <SignAssembly>true</SignAssembly>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-  </PropertyGroup>
-
-</Project>
diff --git a/src/AADIntegration/Directory.Build.targets b/src/AADIntegration/Directory.Build.targets
deleted file mode 100644
index 78626b773eab3ec0d6d7eaa0ed012df9bb969acf..0000000000000000000000000000000000000000
--- a/src/AADIntegration/Directory.Build.targets
+++ /dev/null
@@ -1,10 +0,0 @@
-<Project>
-  <PropertyGroup>
-    <RuntimeFrameworkVersion Condition=" '$(TargetFramework)' == 'netcoreapp2.0' ">$(MicrosoftNETCoreApp20PackageVersion)</RuntimeFrameworkVersion>
-    <RuntimeFrameworkVersion Condition=" '$(TargetFramework)' == 'netcoreapp2.1' ">$(MicrosoftNETCoreApp21PackageVersion)</RuntimeFrameworkVersion>
-    <RuntimeFrameworkVersion Condition=" '$(TargetFramework)' == 'netcoreapp2.2' ">$(MicrosoftNETCoreApp22PackageVersion)</RuntimeFrameworkVersion>
-    <NETStandardImplicitPackageVersion Condition=" '$(TargetFramework)' == 'netstandard2.0' ">$(NETStandardLibrary20PackageVersion)</NETStandardImplicitPackageVersion>
-    <!-- aspnet/BuildTools#662 Don't police what version of NetCoreApp we use -->
-    <NETCoreAppMaximumVersion>99.9</NETCoreAppMaximumVersion>
-  </PropertyGroup>
-</Project>
diff --git a/src/AADIntegration/NuGetPackageVerifier.json b/src/AADIntegration/NuGetPackageVerifier.json
deleted file mode 100644
index adc8b62fce9e0f8cefbacd2eb54262cf3005f0a5..0000000000000000000000000000000000000000
--- a/src/AADIntegration/NuGetPackageVerifier.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-    "Default": {
-        "rules": [
-            "DefaultCompositeRule"
-        ],
-        "packages": {
-            "Microsoft.AspNetCore.Authentication.AzureADB2C.UI": {
-                "Exclusions": {
-                    "DOC_MISSING": {
-                        "lib/netstandard2.0/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.Views.dll": "This library contains precompiled views."
-                    }
-                }
-            },
-            "Microsoft.AspNetCore.Authentication.AzureAD.UI": {
-                "Exclusions": {
-                    "DOC_MISSING": {
-                        "lib/netstandard2.0/Microsoft.AspNetCore.Authentication.AzureAD.UI.Views.dll": "This library contains precompiled views."
-                    }
-                }
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/src/AADIntegration/README.md b/src/AADIntegration/README.md
deleted file mode 100644
index 5155df07d9a1cce08c5e1c88452f37812e35e747..0000000000000000000000000000000000000000
--- a/src/AADIntegration/README.md
+++ /dev/null
@@ -1,14 +0,0 @@
-ASP.NET Core Azure Active Directory Integration
-===
-
-<!-- AppVeyor: [![AppVeyor](https://ci.appveyor.com/api/projects/status/969jbosi0qwc1awg/branch/dev?svg=true)](https://ci.appveyor.com/project/aspnetci/aadintegration/branch/dev)
-
-Travis:   [![Travis](https://travis-ci.org/aspnet/AADIntegration.svg?branch=dev)](https://travis-ci.org/aspnet/aadintegration) -->
-
-ASP.NET Core Azure Active Directory Integration provides seamless authentication integration with different Azure Active Directory services like Azure Active Directory and Azure Active Directory B2C for ASP.NET Core applications.
-
-This project is part of ASP.NET Core. You can find samples, documentation and getting started instructions for ASP.NET Core at the [Home](https://github.com/aspnet/home) repo.
-
-## Building from source
-
-To run a complete build on command line only, execute `build.cmd` or `build.sh` without arguments. See [developer documentation](https://github.com/aspnet/Home/wiki) for more details.
diff --git a/src/AADIntegration/build/dependencies.props b/src/AADIntegration/build/dependencies.props
deleted file mode 100644
index c1628a677c9c0a8098be1a545b3bd4289af7e61d..0000000000000000000000000000000000000000
--- a/src/AADIntegration/build/dependencies.props
+++ /dev/null
@@ -1,42 +0,0 @@
-<Project>
-  <PropertyGroup>
-    <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
-  </PropertyGroup>
-  <PropertyGroup Label="Package Versions">
-    <InternalAspNetCoreSdkPackageVersion>2.2.0-preview1-20180928.5</InternalAspNetCoreSdkPackageVersion>
-    <MicrosoftAspNetCoreAuthenticationCookiesPackageVersion>2.2.0-preview3-35359</MicrosoftAspNetCoreAuthenticationCookiesPackageVersion>
-    <MicrosoftAspNetCoreAuthenticationJwtBearerPackageVersion>2.2.0-preview3-35359</MicrosoftAspNetCoreAuthenticationJwtBearerPackageVersion>
-    <MicrosoftAspNetCoreAuthenticationOpenIdConnectPackageVersion>2.2.0-preview3-35359</MicrosoftAspNetCoreAuthenticationOpenIdConnectPackageVersion>
-    <MicrosoftAspNetCoreAuthorizationPackageVersion>2.2.0-preview3-35359</MicrosoftAspNetCoreAuthorizationPackageVersion>
-    <MicrosoftAspNetCoreDataProtectionExtensionsPackageVersion>2.2.0-preview3-35359</MicrosoftAspNetCoreDataProtectionExtensionsPackageVersion>
-    <MicrosoftAspNetCoreHostingPackageVersion>2.2.0-preview3-35359</MicrosoftAspNetCoreHostingPackageVersion>
-    <MicrosoftAspNetCoreHttpsPolicyPackageVersion>2.2.0-preview3-35359</MicrosoftAspNetCoreHttpsPolicyPackageVersion>
-    <MicrosoftAspNetCoreMvcPackageVersion>2.2.0-preview3-35359</MicrosoftAspNetCoreMvcPackageVersion>
-    <MicrosoftAspNetCoreMvcTestingPackageVersion>2.2.0-preview3-35359</MicrosoftAspNetCoreMvcTestingPackageVersion>
-    <MicrosoftAspNetCoreServerIISIntegrationPackageVersion>2.2.0-preview3-35359</MicrosoftAspNetCoreServerIISIntegrationPackageVersion>
-    <MicrosoftAspNetCoreServerKestrelHttpsPackageVersion>2.2.0-preview3-35359</MicrosoftAspNetCoreServerKestrelHttpsPackageVersion>
-    <MicrosoftAspNetCoreServerKestrelPackageVersion>2.2.0-preview3-35359</MicrosoftAspNetCoreServerKestrelPackageVersion>
-    <MicrosoftAspNetCoreStaticFilesPackageVersion>2.2.0-preview3-35359</MicrosoftAspNetCoreStaticFilesPackageVersion>
-    <MicrosoftExtensionsConfigurationCommandLinePackageVersion>2.2.0-preview3-35359</MicrosoftExtensionsConfigurationCommandLinePackageVersion>
-    <MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>2.2.0-preview3-35359</MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion>
-    <MicrosoftExtensionsConfigurationJsonPackageVersion>2.2.0-preview3-35359</MicrosoftExtensionsConfigurationJsonPackageVersion>
-    <MicrosoftExtensionsConfigurationUserSecretsPackageVersion>2.2.0-preview3-35359</MicrosoftExtensionsConfigurationUserSecretsPackageVersion>
-    <MicrosoftExtensionsLoggingConfigurationPackageVersion>2.2.0-preview3-35359</MicrosoftExtensionsLoggingConfigurationPackageVersion>
-    <MicrosoftExtensionsLoggingConsolePackageVersion>2.2.0-preview3-35359</MicrosoftExtensionsLoggingConsolePackageVersion>
-    <MicrosoftExtensionsLoggingDebugPackageVersion>2.2.0-preview3-35359</MicrosoftExtensionsLoggingDebugPackageVersion>
-    <MicrosoftExtensionsLoggingTestingPackageVersion>2.2.0-preview3-35359</MicrosoftExtensionsLoggingTestingPackageVersion>
-    <MicrosoftNETCoreApp20PackageVersion>2.0.9</MicrosoftNETCoreApp20PackageVersion>
-    <MicrosoftNETCoreApp21PackageVersion>2.1.3</MicrosoftNETCoreApp21PackageVersion>
-    <MicrosoftNETCoreApp22PackageVersion>2.2.0-preview3-26927-02</MicrosoftNETCoreApp22PackageVersion>
-    <MicrosoftNETSdkRazorPackageVersion>2.2.0-preview3-35359</MicrosoftNETSdkRazorPackageVersion>
-    <MicrosoftNETTestSdkPackageVersion>15.6.1</MicrosoftNETTestSdkPackageVersion>
-    <MoqPackageVersion>4.7.49</MoqPackageVersion>
-    <NETStandardLibrary20PackageVersion>2.0.3</NETStandardLibrary20PackageVersion>
-    <XunitAnalyzersPackageVersion>0.10.0</XunitAnalyzersPackageVersion>
-    <XunitPackageVersion>2.3.1</XunitPackageVersion>
-    <XunitRunnerVisualStudioPackageVersion>2.4.0</XunitRunnerVisualStudioPackageVersion>
-  </PropertyGroup>
-  <PropertyGroup Label="Package Versions: Pinned" />
-
-  <Import Project="$(DotNetPackageVersionPropsPath)" Condition=" '$(DotNetPackageVersionPropsPath)' != '' " />
-</Project>
diff --git a/src/AADIntegration/build/repo.props b/src/AADIntegration/build/repo.props
deleted file mode 100644
index e3e0fa123ba169abff4ffcdc99ec7f4402fd1360..0000000000000000000000000000000000000000
--- a/src/AADIntegration/build/repo.props
+++ /dev/null
@@ -1,9 +0,0 @@
-<Project>
-  <Import Project="dependencies.props" />
-
-  <ItemGroup>
-    <DotNetCoreRuntime Include="$(MicrosoftNETCoreApp20PackageVersion)" />
-    <DotNetCoreRuntime Include="$(MicrosoftNETCoreApp21PackageVersion)" />
-    <DotNetCoreRuntime Include="$(MicrosoftNETCoreApp22PackageVersion)" />
-  </ItemGroup>
-</Project>
diff --git a/src/AADIntegration/build/sources.props b/src/AADIntegration/build/sources.props
deleted file mode 100644
index f23d25514284e26ddeed9aa57866f5338409bc68..0000000000000000000000000000000000000000
--- a/src/AADIntegration/build/sources.props
+++ /dev/null
@@ -1,17 +0,0 @@
-<Project>
-  <Import Project="$(DotNetRestoreSourcePropsPath)" Condition="'$(DotNetRestoreSourcePropsPath)' != ''"/>
-
-  <PropertyGroup Label="RestoreSources">
-    <RestoreSources>$(DotNetRestoreSources)</RestoreSources>
-    <RestoreSources Condition="'$(DotNetBuildOffline)' != 'true' AND '$(AspNetUniverseBuildOffline)' != 'true' ">
-      $(RestoreSources);
-      https://dotnet.myget.org/F/dotnet-core/api/v3/index.json;
-      https://dotnet.myget.org/F/aspnetcore-dev/api/v3/index.json;
-      https://dotnet.myget.org/F/aspnetcore-tools/api/v3/index.json;
-    </RestoreSources>
-    <RestoreSources Condition="'$(DotNetBuildOffline)' != 'true'">
-      $(RestoreSources);
-      https://api.nuget.org/v3/index.json;
-    </RestoreSources>
-  </PropertyGroup>
-</Project>
\ No newline at end of file
diff --git a/src/AADIntegration/samples/AzureADB2CSample/AzureADB2CSample.csproj b/src/AADIntegration/samples/AzureADB2CSample/AzureADB2CSample.csproj
deleted file mode 100644
index 14b499103d36fa4be6731997283800270bbb8fe8..0000000000000000000000000000000000000000
--- a/src/AADIntegration/samples/AzureADB2CSample/AzureADB2CSample.csproj
+++ /dev/null
@@ -1,28 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk.Web">
-
-  <PropertyGroup>
-    <TargetFrameworks>netcoreapp2.2</TargetFrameworks>
-    <TargetFrameworks Condition=" '$(DeveloperBuild)' != 'true' ">$(TargetFrameworks)</TargetFrameworks>
-    <TargetFrameworks Condition=" '$(DeveloperBuild)' != 'true' AND '$(OS)' == 'Windows_NT' ">$(TargetFrameworks);net461</TargetFrameworks>
-  </PropertyGroup>
-
-  <PropertyGroup>
-    <RazorCompileOnBuild>true</RazorCompileOnBuild>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\..\src\Microsoft.AspNetCore.Authentication.AzureADB2C.UI\Microsoft.AspNetCore.Authentication.AzureADB2C.UI.csproj" />
-  </ItemGroup>
-  
-  <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.HttpsPolicy" Version="$(MicrosoftAspNetCoreHttpsPolicyPackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.Server.IISIntegration" Version="$(MicrosoftAspNetCoreServerIISIntegrationPackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.Server.Kestrel" Version="$(MicrosoftAspNetCoreServerKestrelPackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="$(MicrosoftAspNetCoreStaticFilesPackageVersion)" />
-    <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="$(MicrosoftExtensionsConfigurationJsonPackageVersion)" />
-    <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="$(MicrosoftExtensionsLoggingConsolePackageVersion)" />
-    <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="$(MicrosoftExtensionsLoggingDebugPackageVersion)" />
-    <PackageReference Include="Microsoft.NET.Sdk.Razor" Version="$(MicrosoftNETSdkRazorPackageVersion)" PrivateAssets="All" />
-  </ItemGroup>
-
-</Project>
diff --git a/src/AADIntegration/samples/AzureADB2CSample/Properties/launchSettings.json b/src/AADIntegration/samples/AzureADB2CSample/Properties/launchSettings.json
deleted file mode 100644
index 1ee213cd173ab06387a49653b1be87567e432fa2..0000000000000000000000000000000000000000
--- a/src/AADIntegration/samples/AzureADB2CSample/Properties/launchSettings.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
-  "iisSettings": {
-    "windowsAuthentication": false,
-    "anonymousAuthentication": true,
-    "iisExpress": {
-      "applicationUrl": "http://localhost:59364/",
-      "sslPort": 44315
-    }
-  },
-  "profiles": {
-    "IIS Express": {
-      "commandName": "IISExpress",
-      "launchBrowser": true,
-      "environmentVariables": {
-        "ASPNETCORE_ENVIRONMENT": "Development"
-      }
-    },
-    "AzureADB2CSample": {
-      "commandName": "Project",
-      "launchBrowser": true,
-      "environmentVariables": {
-        "ASPNETCORE_ENVIRONMENT": "Development"
-      },
-      "applicationUrl": "https://localhost:44315/;http://localhost:59364/"
-    }
-  }
-}
\ No newline at end of file
diff --git a/src/AADIntegration/src/Directory.Build.props b/src/AADIntegration/src/Directory.Build.props
deleted file mode 100644
index 4b89a431e7f239398aec95bc914cccb5c59e3d3e..0000000000000000000000000000000000000000
--- a/src/AADIntegration/src/Directory.Build.props
+++ /dev/null
@@ -1,7 +0,0 @@
-<Project>
-  <Import Project="..\Directory.Build.props" />
-
-  <ItemGroup>
-    <PackageReference Include="Internal.AspNetCore.Sdk" PrivateAssets="All" Version="$(InternalAspNetCoreSdkPackageVersion)" />
-  </ItemGroup>
-</Project>
diff --git a/src/AADIntegration/test/Directory.Build.props b/src/AADIntegration/test/Directory.Build.props
deleted file mode 100644
index 7cf5dcd771d3db04982c802a263eca8552e191b3..0000000000000000000000000000000000000000
--- a/src/AADIntegration/test/Directory.Build.props
+++ /dev/null
@@ -1,25 +0,0 @@
-<Project>
-  <Import Project="..\Directory.Build.props" />
-
-  <PropertyGroup>
-    <DeveloperBuildTestTfms>netcoreapp2.2</DeveloperBuildTestTfms>
-    <StandardTestTfms>$(DeveloperBuildTestTfms)</StandardTestTfms>
-
-    <StandardTestTfms Condition=" '$(DeveloperBuild)' != 'true' AND '$(OS)' == 'Windows_NT' ">$(StandardTestTfms);net461</StandardTestTfms>
-  </PropertyGroup>
-
-  <PropertyGroup>
-    <IsPackable>false</IsPackable>
-    <WarningsNotAsErrors>xUnit1026:$(WarningsNotAsErrors)</WarningsNotAsErrors>
-    <CodeAnalysisRuleSet>$(MSBuildThisFileDirectory)AADIntegration.ruleset</CodeAnalysisRuleSet>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Internal.AspNetCore.Sdk" PrivateAssets="All" Version="$(InternalAspNetCoreSdkPackageVersion)" />
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="$(MicrosoftNETTestSdkPackageVersion)" />
-    <PackageReference Include="Moq" Version="$(MoqPackageVersion)" />
-    <PackageReference Include="xunit" Version="$(XunitPackageVersion)" />
-    <PackageReference Include="xunit.analyzers" Version="$(XunitAnalyzersPackageVersion)" />
-    <PackageReference Include="xunit.runner.visualstudio" Version="$(XunitRunnerVisualStudioPackageVersion)" />
-  </ItemGroup>
-</Project>
diff --git a/src/AADIntegration/test/Microsoft.AspNetCore.Authentication.AzureAD.FunctionalTests/Microsoft.AspNetCore.Authentication.AzureAD.FunctionalTests.csproj b/src/AADIntegration/test/Microsoft.AspNetCore.Authentication.AzureAD.FunctionalTests/Microsoft.AspNetCore.Authentication.AzureAD.FunctionalTests.csproj
deleted file mode 100644
index fa61c208d3ab453a12f23e9e58a3470a7e501edd..0000000000000000000000000000000000000000
--- a/src/AADIntegration/test/Microsoft.AspNetCore.Authentication.AzureAD.FunctionalTests/Microsoft.AspNetCore.Authentication.AzureAD.FunctionalTests.csproj
+++ /dev/null
@@ -1,21 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-  <PropertyGroup>
-    <TargetFrameworks>$(StandardTestTfms)</TargetFrameworks>
-    <PlatformTarget Condition=" '$(TargetFramework)' == 'netcoreapp2.2' "></PlatformTarget>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\WebSites\AzureAD.WebSite\AzureAD.WebSite.csproj" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <None Include="xunit.runner.json" CopyToOutputDirectory="PreserveNewest" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="$(MicrosoftAspNetCoreMvcTestingPackageVersion)" />
-    <PackageReference Include="Microsoft.Extensions.Logging.Testing" Version="$(MicrosoftExtensionsLoggingTestingPackageVersion)" />
-  </ItemGroup>
-
-</Project>
\ No newline at end of file
diff --git a/src/AADIntegration/test/WebSites/AzureAD.WebSite/AzureAD.WebSite.csproj b/src/AADIntegration/test/WebSites/AzureAD.WebSite/AzureAD.WebSite.csproj
deleted file mode 100644
index 4dac556941562321d3e181b88a75387d55837a3b..0000000000000000000000000000000000000000
--- a/src/AADIntegration/test/WebSites/AzureAD.WebSite/AzureAD.WebSite.csproj
+++ /dev/null
@@ -1,29 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk.Web">
-
-  <PropertyGroup>
-    <TargetFrameworks>$(StandardTestWebsiteTfms)</TargetFrameworks>
-  </PropertyGroup>
-  
-  <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.Authorization" Version="$(MicrosoftAspNetCoreAuthorizationPackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.DataProtection.Extensions" Version="$(MicrosoftAspNetCoreDataProtectionExtensionsPackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.Hosting" Version="$(MicrosoftAspNetCoreHostingPackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="$(MicrosoftAspNetCoreMvcPackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.Server.IISIntegration" Version="$(MicrosoftAspNetCoreServerIISIntegrationPackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.Server.Kestrel" Version="$(MicrosoftAspNetCoreServerKestrelPackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.Server.Kestrel.Https" Version="$(MicrosoftAspNetCoreServerKestrelHttpsPackageVersion)" />
-    <PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="$(MicrosoftExtensionsConfigurationEnvironmentVariablesPackageVersion)" />
-    <PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" Version="$(MicrosoftExtensionsConfigurationUserSecretsPackageVersion)" />
-    <PackageReference Include="Microsoft.Extensions.Configuration.CommandLine" Version="$(MicrosoftExtensionsConfigurationCommandLinePackageVersion)" />
-    <PackageReference Include="Microsoft.Extensions.Logging.Configuration" Version="$(MicrosoftExtensionsLoggingConfigurationPackageVersion)" />
-    <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="$(MicrosoftExtensionsLoggingConsolePackageVersion)" />
-    <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="$(MicrosoftExtensionsLoggingDebugPackageVersion)" />
-    <PackageReference Include="Microsoft.NET.Sdk.Razor" Version="$(MicrosoftNETSdkRazorPackageVersion)" PrivateAssets="All" />
-  </ItemGroup>
-  
-  <ItemGroup>
-    <ProjectReference Include="..\..\..\src\Microsoft.AspNetCore.Authentication.AzureAD.UI\Microsoft.AspNetCore.Authentication.AzureAD.UI.csproj" />
-    <ProjectReference Include="..\..\..\src\Microsoft.AspNetCore.Authentication.AzureADB2C.UI\Microsoft.AspNetCore.Authentication.AzureADB2C.UI.csproj" />
-  </ItemGroup>
-
-</Project>
diff --git a/src/AADIntegration/test/WebSites/Directory.Build.props b/src/AADIntegration/test/WebSites/Directory.Build.props
deleted file mode 100644
index ed2a214a03103247261c240880874af0fa81b103..0000000000000000000000000000000000000000
--- a/src/AADIntegration/test/WebSites/Directory.Build.props
+++ /dev/null
@@ -1,11 +0,0 @@
-<Project>
-  <!-- Skip the parent directory so test websites do not get the test package references. -->
-  <Import Project="..\..\Directory.Build.props" />
-
-  <PropertyGroup>
-    <DeveloperBuildTestWebsiteTfms>netcoreapp2.2</DeveloperBuildTestWebsiteTfms>
-    <StandardTestWebsiteTfms>$(DeveloperBuildTestWebsiteTfms)</StandardTestWebsiteTfms>
-    <StandardTestWebsiteTfms Condition=" '$(DeveloperBuild)' != 'true' ">$(StandardTestWebsiteTfms)</StandardTestWebsiteTfms>
-    <StandardTestWebsiteTfms Condition=" '$(DeveloperBuild)' != 'true' AND '$(OS)' == 'Windows_NT' ">$(StandardTestWebsiteTfms);net461</StandardTestWebsiteTfms>
-  </PropertyGroup>
-</Project>
\ No newline at end of file
diff --git a/src/AADIntegration/version.props b/src/AADIntegration/version.props
deleted file mode 100644
index a51450c625e346ed04ab7eed3f7ba67d1e8317ac..0000000000000000000000000000000000000000
--- a/src/AADIntegration/version.props
+++ /dev/null
@@ -1,12 +0,0 @@
-<Project>
-  <PropertyGroup>
-    <VersionPrefix>2.2.0</VersionPrefix>
-    <ExperimentalProjectVersionPrefix>0.4.0</ExperimentalProjectVersionPrefix>
-    <VersionSuffix>rtm</VersionSuffix>
-    <PackageVersion Condition="'$(IsFinalBuild)' == 'true' AND '$(VersionSuffix)' == 'rtm' ">$(VersionPrefix)</PackageVersion>
-    <PackageVersion Condition="'$(IsFinalBuild)' == 'true' AND '$(VersionSuffix)' != 'rtm' ">$(VersionPrefix)-$(VersionSuffix)-final</PackageVersion>
-    <BuildNumber Condition="'$(BuildNumber)' == ''">t000</BuildNumber>
-    <VersionSuffix Condition="'$(VersionSuffix)' != '' And '$(FeatureBranchVersionSuffix)' != ''">$(VersionSuffix)-$([System.Text.RegularExpressions.Regex]::Replace('$(FeatureBranchVersionSuffix)', '[^\w-]', '-'))</VersionSuffix>
-    <VersionSuffix Condition="'$(VersionSuffix)' != '' And '$(BuildNumber)' != ''">$(VersionSuffix)-$(BuildNumber)</VersionSuffix>
-  </PropertyGroup>
-</Project>
diff --git a/src/Azure/Azure.sln b/src/Azure/Azure.sln
new file mode 100644
index 0000000000000000000000000000000000000000..56ef0ae6f2976ab92c81a124c88b4effa5827b4a
--- /dev/null
+++ b/src/Azure/Azure.sln
@@ -0,0 +1,284 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.26124.0
+MinimumVisualStudioVersion = 15.0.26124.0
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AzureAD", "AzureAD", "{B931802A-45BB-49A4-9919-B36C827100AC}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Authentication.AzureAD.UI", "Authentication.AzureAD.UI", "{312795E1-D5E2-4021-8FEA-342CA6F14CC8}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Authentication.AzureAD.UI", "AzureAD\Authentication.AzureAD.UI\src\Microsoft.AspNetCore.Authentication.AzureAD.UI.csproj", "{0579BC3C-DC2C-440F-9FB9-F47ABD9B8A58}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Authentication.AzureAD.UI.Test", "AzureAD\Authentication.AzureAD.UI\test\Microsoft.AspNetCore.Authentication.AzureAD.UI.Test.csproj", "{06817D18-5694-454E-A010-CDAECD8AF89B}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Authentication.AzureADB2C.UI", "Authentication.AzureADB2C.UI", "{79FE11AB-8D1E-4DEF-81C0-9B352769BFA4}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Authentication.AzureADB2C.UI", "AzureAD\Authentication.AzureADB2C.UI\src\Microsoft.AspNetCore.Authentication.AzureADB2C.UI.csproj", "{6EC81D5C-D17C-4F11-9471-A8CDBDD8B76C}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Authentication.AzureADB2C.UI.Test", "AzureAD\Authentication.AzureADB2C.UI\test\Microsoft.AspNetCore.Authentication.AzureADB2C.UI.Test.csproj", "{C4703BE0-E8DE-4A22-8653-9E2A20E2BE51}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{A28A64CA-297E-4023-895A-483DFDA59FBE}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AzureADB2CSample", "AzureAD\samples\AzureADB2CSample\AzureADB2CSample.csproj", "{A81C6D14-8A7F-4AC0-B4E8-DF0A925C1ECE}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{F4F1E3C9-38E5-49EC-8688-A2D16AA8807B}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Authentication.AzureAD.FunctionalTests", "AzureAD\test\FunctionalTests\Microsoft.AspNetCore.Authentication.AzureAD.FunctionalTests.csproj", "{B1FC9E6F-F2A2-4E3A-8CFC-0446C592C951}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "testassets", "testassets", "{0F577D33-2EA4-4182-9D89-2EFB022A2835}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AzureAD.WebSite", "AzureAD\test\testassets\AzureAD.WebSite\AzureAD.WebSite.csproj", "{84E67496-B000-4AAD-9626-2135F677C4F1}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "dependencies", "dependencies", "{84622717-F98A-4DE2-806E-1EF89C45C0EB}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.Kestrel", "..\Servers\Kestrel\Kestrel\src\Microsoft.AspNetCore.Server.Kestrel.csproj", "{CF6B45E8-BF6C-487F-A0D0-D3EA31D80529}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.Kestrel.Core", "..\Servers\Kestrel\Core\src\Microsoft.AspNetCore.Server.Kestrel.Core.csproj", "{B1385496-607F-4573-ABE9-D9FE88D96DB8}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.StaticFiles", "..\Middleware\StaticFiles\src\Microsoft.AspNetCore.StaticFiles.csproj", "{6EFFA596-23E7-498C-8D5E-331C6D8E945D}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.HttpsPolicy", "..\Middleware\HttpsPolicy\src\Microsoft.AspNetCore.HttpsPolicy.csproj", "{A3789DA9-2E0E-41D6-BDDD-11DA4D3DD72D}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.IISIntegration", "..\Servers\IIS\src\Microsoft.AspNetCore.Server.IISIntegration\Microsoft.AspNetCore.Server.IISIntegration.csproj", "{9631D314-7B0C-4CEC-8650-0259A8F4C77A}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.Kestrel.Https", "..\Servers\Kestrel\Https\src\Microsoft.AspNetCore.Server.Kestrel.Https.csproj", "{01B31C53-7BAB-4DA7-A55D-C67D9B1FB4A2}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.DataProtection.Extensions", "..\DataProtection\Extensions\src\Microsoft.AspNetCore.DataProtection.Extensions.csproj", "{240BBDB1-3501-4637-8A17-996EA4EBB20B}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc", "..\Mvc\src\Microsoft.AspNetCore.Mvc\Microsoft.AspNetCore.Mvc.csproj", "{88EF760A-99A2-48C8-920F-78632A3BB57A}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc.Testing", "..\Mvc\src\Microsoft.AspNetCore.Mvc.Testing\Microsoft.AspNetCore.Mvc.Testing.csproj", "{9593691E-1B65-4EB1-97AA-F8B292B0082A}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|Any CPU = Release|Any CPU
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{0579BC3C-DC2C-440F-9FB9-F47ABD9B8A58}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{0579BC3C-DC2C-440F-9FB9-F47ABD9B8A58}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{0579BC3C-DC2C-440F-9FB9-F47ABD9B8A58}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{0579BC3C-DC2C-440F-9FB9-F47ABD9B8A58}.Debug|x64.Build.0 = Debug|Any CPU
+		{0579BC3C-DC2C-440F-9FB9-F47ABD9B8A58}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{0579BC3C-DC2C-440F-9FB9-F47ABD9B8A58}.Debug|x86.Build.0 = Debug|Any CPU
+		{0579BC3C-DC2C-440F-9FB9-F47ABD9B8A58}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{0579BC3C-DC2C-440F-9FB9-F47ABD9B8A58}.Release|Any CPU.Build.0 = Release|Any CPU
+		{0579BC3C-DC2C-440F-9FB9-F47ABD9B8A58}.Release|x64.ActiveCfg = Release|Any CPU
+		{0579BC3C-DC2C-440F-9FB9-F47ABD9B8A58}.Release|x64.Build.0 = Release|Any CPU
+		{0579BC3C-DC2C-440F-9FB9-F47ABD9B8A58}.Release|x86.ActiveCfg = Release|Any CPU
+		{0579BC3C-DC2C-440F-9FB9-F47ABD9B8A58}.Release|x86.Build.0 = Release|Any CPU
+		{06817D18-5694-454E-A010-CDAECD8AF89B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{06817D18-5694-454E-A010-CDAECD8AF89B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{06817D18-5694-454E-A010-CDAECD8AF89B}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{06817D18-5694-454E-A010-CDAECD8AF89B}.Debug|x64.Build.0 = Debug|Any CPU
+		{06817D18-5694-454E-A010-CDAECD8AF89B}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{06817D18-5694-454E-A010-CDAECD8AF89B}.Debug|x86.Build.0 = Debug|Any CPU
+		{06817D18-5694-454E-A010-CDAECD8AF89B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{06817D18-5694-454E-A010-CDAECD8AF89B}.Release|Any CPU.Build.0 = Release|Any CPU
+		{06817D18-5694-454E-A010-CDAECD8AF89B}.Release|x64.ActiveCfg = Release|Any CPU
+		{06817D18-5694-454E-A010-CDAECD8AF89B}.Release|x64.Build.0 = Release|Any CPU
+		{06817D18-5694-454E-A010-CDAECD8AF89B}.Release|x86.ActiveCfg = Release|Any CPU
+		{06817D18-5694-454E-A010-CDAECD8AF89B}.Release|x86.Build.0 = Release|Any CPU
+		{6EC81D5C-D17C-4F11-9471-A8CDBDD8B76C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{6EC81D5C-D17C-4F11-9471-A8CDBDD8B76C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{6EC81D5C-D17C-4F11-9471-A8CDBDD8B76C}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{6EC81D5C-D17C-4F11-9471-A8CDBDD8B76C}.Debug|x64.Build.0 = Debug|Any CPU
+		{6EC81D5C-D17C-4F11-9471-A8CDBDD8B76C}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{6EC81D5C-D17C-4F11-9471-A8CDBDD8B76C}.Debug|x86.Build.0 = Debug|Any CPU
+		{6EC81D5C-D17C-4F11-9471-A8CDBDD8B76C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{6EC81D5C-D17C-4F11-9471-A8CDBDD8B76C}.Release|Any CPU.Build.0 = Release|Any CPU
+		{6EC81D5C-D17C-4F11-9471-A8CDBDD8B76C}.Release|x64.ActiveCfg = Release|Any CPU
+		{6EC81D5C-D17C-4F11-9471-A8CDBDD8B76C}.Release|x64.Build.0 = Release|Any CPU
+		{6EC81D5C-D17C-4F11-9471-A8CDBDD8B76C}.Release|x86.ActiveCfg = Release|Any CPU
+		{6EC81D5C-D17C-4F11-9471-A8CDBDD8B76C}.Release|x86.Build.0 = Release|Any CPU
+		{C4703BE0-E8DE-4A22-8653-9E2A20E2BE51}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{C4703BE0-E8DE-4A22-8653-9E2A20E2BE51}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{C4703BE0-E8DE-4A22-8653-9E2A20E2BE51}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{C4703BE0-E8DE-4A22-8653-9E2A20E2BE51}.Debug|x64.Build.0 = Debug|Any CPU
+		{C4703BE0-E8DE-4A22-8653-9E2A20E2BE51}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{C4703BE0-E8DE-4A22-8653-9E2A20E2BE51}.Debug|x86.Build.0 = Debug|Any CPU
+		{C4703BE0-E8DE-4A22-8653-9E2A20E2BE51}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{C4703BE0-E8DE-4A22-8653-9E2A20E2BE51}.Release|Any CPU.Build.0 = Release|Any CPU
+		{C4703BE0-E8DE-4A22-8653-9E2A20E2BE51}.Release|x64.ActiveCfg = Release|Any CPU
+		{C4703BE0-E8DE-4A22-8653-9E2A20E2BE51}.Release|x64.Build.0 = Release|Any CPU
+		{C4703BE0-E8DE-4A22-8653-9E2A20E2BE51}.Release|x86.ActiveCfg = Release|Any CPU
+		{C4703BE0-E8DE-4A22-8653-9E2A20E2BE51}.Release|x86.Build.0 = Release|Any CPU
+		{A81C6D14-8A7F-4AC0-B4E8-DF0A925C1ECE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{A81C6D14-8A7F-4AC0-B4E8-DF0A925C1ECE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{A81C6D14-8A7F-4AC0-B4E8-DF0A925C1ECE}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{A81C6D14-8A7F-4AC0-B4E8-DF0A925C1ECE}.Debug|x64.Build.0 = Debug|Any CPU
+		{A81C6D14-8A7F-4AC0-B4E8-DF0A925C1ECE}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{A81C6D14-8A7F-4AC0-B4E8-DF0A925C1ECE}.Debug|x86.Build.0 = Debug|Any CPU
+		{A81C6D14-8A7F-4AC0-B4E8-DF0A925C1ECE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{A81C6D14-8A7F-4AC0-B4E8-DF0A925C1ECE}.Release|Any CPU.Build.0 = Release|Any CPU
+		{A81C6D14-8A7F-4AC0-B4E8-DF0A925C1ECE}.Release|x64.ActiveCfg = Release|Any CPU
+		{A81C6D14-8A7F-4AC0-B4E8-DF0A925C1ECE}.Release|x64.Build.0 = Release|Any CPU
+		{A81C6D14-8A7F-4AC0-B4E8-DF0A925C1ECE}.Release|x86.ActiveCfg = Release|Any CPU
+		{A81C6D14-8A7F-4AC0-B4E8-DF0A925C1ECE}.Release|x86.Build.0 = Release|Any CPU
+		{B1FC9E6F-F2A2-4E3A-8CFC-0446C592C951}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{B1FC9E6F-F2A2-4E3A-8CFC-0446C592C951}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{B1FC9E6F-F2A2-4E3A-8CFC-0446C592C951}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{B1FC9E6F-F2A2-4E3A-8CFC-0446C592C951}.Debug|x64.Build.0 = Debug|Any CPU
+		{B1FC9E6F-F2A2-4E3A-8CFC-0446C592C951}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{B1FC9E6F-F2A2-4E3A-8CFC-0446C592C951}.Debug|x86.Build.0 = Debug|Any CPU
+		{B1FC9E6F-F2A2-4E3A-8CFC-0446C592C951}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{B1FC9E6F-F2A2-4E3A-8CFC-0446C592C951}.Release|Any CPU.Build.0 = Release|Any CPU
+		{B1FC9E6F-F2A2-4E3A-8CFC-0446C592C951}.Release|x64.ActiveCfg = Release|Any CPU
+		{B1FC9E6F-F2A2-4E3A-8CFC-0446C592C951}.Release|x64.Build.0 = Release|Any CPU
+		{B1FC9E6F-F2A2-4E3A-8CFC-0446C592C951}.Release|x86.ActiveCfg = Release|Any CPU
+		{B1FC9E6F-F2A2-4E3A-8CFC-0446C592C951}.Release|x86.Build.0 = Release|Any CPU
+		{84E67496-B000-4AAD-9626-2135F677C4F1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{84E67496-B000-4AAD-9626-2135F677C4F1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{84E67496-B000-4AAD-9626-2135F677C4F1}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{84E67496-B000-4AAD-9626-2135F677C4F1}.Debug|x64.Build.0 = Debug|Any CPU
+		{84E67496-B000-4AAD-9626-2135F677C4F1}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{84E67496-B000-4AAD-9626-2135F677C4F1}.Debug|x86.Build.0 = Debug|Any CPU
+		{84E67496-B000-4AAD-9626-2135F677C4F1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{84E67496-B000-4AAD-9626-2135F677C4F1}.Release|Any CPU.Build.0 = Release|Any CPU
+		{84E67496-B000-4AAD-9626-2135F677C4F1}.Release|x64.ActiveCfg = Release|Any CPU
+		{84E67496-B000-4AAD-9626-2135F677C4F1}.Release|x64.Build.0 = Release|Any CPU
+		{84E67496-B000-4AAD-9626-2135F677C4F1}.Release|x86.ActiveCfg = Release|Any CPU
+		{84E67496-B000-4AAD-9626-2135F677C4F1}.Release|x86.Build.0 = Release|Any CPU
+		{CF6B45E8-BF6C-487F-A0D0-D3EA31D80529}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{CF6B45E8-BF6C-487F-A0D0-D3EA31D80529}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{CF6B45E8-BF6C-487F-A0D0-D3EA31D80529}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{CF6B45E8-BF6C-487F-A0D0-D3EA31D80529}.Debug|x64.Build.0 = Debug|Any CPU
+		{CF6B45E8-BF6C-487F-A0D0-D3EA31D80529}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{CF6B45E8-BF6C-487F-A0D0-D3EA31D80529}.Debug|x86.Build.0 = Debug|Any CPU
+		{CF6B45E8-BF6C-487F-A0D0-D3EA31D80529}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{CF6B45E8-BF6C-487F-A0D0-D3EA31D80529}.Release|Any CPU.Build.0 = Release|Any CPU
+		{CF6B45E8-BF6C-487F-A0D0-D3EA31D80529}.Release|x64.ActiveCfg = Release|Any CPU
+		{CF6B45E8-BF6C-487F-A0D0-D3EA31D80529}.Release|x64.Build.0 = Release|Any CPU
+		{CF6B45E8-BF6C-487F-A0D0-D3EA31D80529}.Release|x86.ActiveCfg = Release|Any CPU
+		{CF6B45E8-BF6C-487F-A0D0-D3EA31D80529}.Release|x86.Build.0 = Release|Any CPU
+		{B1385496-607F-4573-ABE9-D9FE88D96DB8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{B1385496-607F-4573-ABE9-D9FE88D96DB8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{B1385496-607F-4573-ABE9-D9FE88D96DB8}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{B1385496-607F-4573-ABE9-D9FE88D96DB8}.Debug|x64.Build.0 = Debug|Any CPU
+		{B1385496-607F-4573-ABE9-D9FE88D96DB8}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{B1385496-607F-4573-ABE9-D9FE88D96DB8}.Debug|x86.Build.0 = Debug|Any CPU
+		{B1385496-607F-4573-ABE9-D9FE88D96DB8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{B1385496-607F-4573-ABE9-D9FE88D96DB8}.Release|Any CPU.Build.0 = Release|Any CPU
+		{B1385496-607F-4573-ABE9-D9FE88D96DB8}.Release|x64.ActiveCfg = Release|Any CPU
+		{B1385496-607F-4573-ABE9-D9FE88D96DB8}.Release|x64.Build.0 = Release|Any CPU
+		{B1385496-607F-4573-ABE9-D9FE88D96DB8}.Release|x86.ActiveCfg = Release|Any CPU
+		{B1385496-607F-4573-ABE9-D9FE88D96DB8}.Release|x86.Build.0 = Release|Any CPU
+		{6EFFA596-23E7-498C-8D5E-331C6D8E945D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{6EFFA596-23E7-498C-8D5E-331C6D8E945D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{6EFFA596-23E7-498C-8D5E-331C6D8E945D}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{6EFFA596-23E7-498C-8D5E-331C6D8E945D}.Debug|x64.Build.0 = Debug|Any CPU
+		{6EFFA596-23E7-498C-8D5E-331C6D8E945D}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{6EFFA596-23E7-498C-8D5E-331C6D8E945D}.Debug|x86.Build.0 = Debug|Any CPU
+		{6EFFA596-23E7-498C-8D5E-331C6D8E945D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{6EFFA596-23E7-498C-8D5E-331C6D8E945D}.Release|Any CPU.Build.0 = Release|Any CPU
+		{6EFFA596-23E7-498C-8D5E-331C6D8E945D}.Release|x64.ActiveCfg = Release|Any CPU
+		{6EFFA596-23E7-498C-8D5E-331C6D8E945D}.Release|x64.Build.0 = Release|Any CPU
+		{6EFFA596-23E7-498C-8D5E-331C6D8E945D}.Release|x86.ActiveCfg = Release|Any CPU
+		{6EFFA596-23E7-498C-8D5E-331C6D8E945D}.Release|x86.Build.0 = Release|Any CPU
+		{A3789DA9-2E0E-41D6-BDDD-11DA4D3DD72D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{A3789DA9-2E0E-41D6-BDDD-11DA4D3DD72D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{A3789DA9-2E0E-41D6-BDDD-11DA4D3DD72D}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{A3789DA9-2E0E-41D6-BDDD-11DA4D3DD72D}.Debug|x64.Build.0 = Debug|Any CPU
+		{A3789DA9-2E0E-41D6-BDDD-11DA4D3DD72D}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{A3789DA9-2E0E-41D6-BDDD-11DA4D3DD72D}.Debug|x86.Build.0 = Debug|Any CPU
+		{A3789DA9-2E0E-41D6-BDDD-11DA4D3DD72D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{A3789DA9-2E0E-41D6-BDDD-11DA4D3DD72D}.Release|Any CPU.Build.0 = Release|Any CPU
+		{A3789DA9-2E0E-41D6-BDDD-11DA4D3DD72D}.Release|x64.ActiveCfg = Release|Any CPU
+		{A3789DA9-2E0E-41D6-BDDD-11DA4D3DD72D}.Release|x64.Build.0 = Release|Any CPU
+		{A3789DA9-2E0E-41D6-BDDD-11DA4D3DD72D}.Release|x86.ActiveCfg = Release|Any CPU
+		{A3789DA9-2E0E-41D6-BDDD-11DA4D3DD72D}.Release|x86.Build.0 = Release|Any CPU
+		{9631D314-7B0C-4CEC-8650-0259A8F4C77A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{9631D314-7B0C-4CEC-8650-0259A8F4C77A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{9631D314-7B0C-4CEC-8650-0259A8F4C77A}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{9631D314-7B0C-4CEC-8650-0259A8F4C77A}.Debug|x64.Build.0 = Debug|Any CPU
+		{9631D314-7B0C-4CEC-8650-0259A8F4C77A}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{9631D314-7B0C-4CEC-8650-0259A8F4C77A}.Debug|x86.Build.0 = Debug|Any CPU
+		{9631D314-7B0C-4CEC-8650-0259A8F4C77A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{9631D314-7B0C-4CEC-8650-0259A8F4C77A}.Release|Any CPU.Build.0 = Release|Any CPU
+		{9631D314-7B0C-4CEC-8650-0259A8F4C77A}.Release|x64.ActiveCfg = Release|Any CPU
+		{9631D314-7B0C-4CEC-8650-0259A8F4C77A}.Release|x64.Build.0 = Release|Any CPU
+		{9631D314-7B0C-4CEC-8650-0259A8F4C77A}.Release|x86.ActiveCfg = Release|Any CPU
+		{9631D314-7B0C-4CEC-8650-0259A8F4C77A}.Release|x86.Build.0 = Release|Any CPU
+		{01B31C53-7BAB-4DA7-A55D-C67D9B1FB4A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{01B31C53-7BAB-4DA7-A55D-C67D9B1FB4A2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{01B31C53-7BAB-4DA7-A55D-C67D9B1FB4A2}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{01B31C53-7BAB-4DA7-A55D-C67D9B1FB4A2}.Debug|x64.Build.0 = Debug|Any CPU
+		{01B31C53-7BAB-4DA7-A55D-C67D9B1FB4A2}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{01B31C53-7BAB-4DA7-A55D-C67D9B1FB4A2}.Debug|x86.Build.0 = Debug|Any CPU
+		{01B31C53-7BAB-4DA7-A55D-C67D9B1FB4A2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{01B31C53-7BAB-4DA7-A55D-C67D9B1FB4A2}.Release|Any CPU.Build.0 = Release|Any CPU
+		{01B31C53-7BAB-4DA7-A55D-C67D9B1FB4A2}.Release|x64.ActiveCfg = Release|Any CPU
+		{01B31C53-7BAB-4DA7-A55D-C67D9B1FB4A2}.Release|x64.Build.0 = Release|Any CPU
+		{01B31C53-7BAB-4DA7-A55D-C67D9B1FB4A2}.Release|x86.ActiveCfg = Release|Any CPU
+		{01B31C53-7BAB-4DA7-A55D-C67D9B1FB4A2}.Release|x86.Build.0 = Release|Any CPU
+		{240BBDB1-3501-4637-8A17-996EA4EBB20B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{240BBDB1-3501-4637-8A17-996EA4EBB20B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{240BBDB1-3501-4637-8A17-996EA4EBB20B}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{240BBDB1-3501-4637-8A17-996EA4EBB20B}.Debug|x64.Build.0 = Debug|Any CPU
+		{240BBDB1-3501-4637-8A17-996EA4EBB20B}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{240BBDB1-3501-4637-8A17-996EA4EBB20B}.Debug|x86.Build.0 = Debug|Any CPU
+		{240BBDB1-3501-4637-8A17-996EA4EBB20B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{240BBDB1-3501-4637-8A17-996EA4EBB20B}.Release|Any CPU.Build.0 = Release|Any CPU
+		{240BBDB1-3501-4637-8A17-996EA4EBB20B}.Release|x64.ActiveCfg = Release|Any CPU
+		{240BBDB1-3501-4637-8A17-996EA4EBB20B}.Release|x64.Build.0 = Release|Any CPU
+		{240BBDB1-3501-4637-8A17-996EA4EBB20B}.Release|x86.ActiveCfg = Release|Any CPU
+		{240BBDB1-3501-4637-8A17-996EA4EBB20B}.Release|x86.Build.0 = Release|Any CPU
+		{88EF760A-99A2-48C8-920F-78632A3BB57A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{88EF760A-99A2-48C8-920F-78632A3BB57A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{88EF760A-99A2-48C8-920F-78632A3BB57A}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{88EF760A-99A2-48C8-920F-78632A3BB57A}.Debug|x64.Build.0 = Debug|Any CPU
+		{88EF760A-99A2-48C8-920F-78632A3BB57A}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{88EF760A-99A2-48C8-920F-78632A3BB57A}.Debug|x86.Build.0 = Debug|Any CPU
+		{88EF760A-99A2-48C8-920F-78632A3BB57A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{88EF760A-99A2-48C8-920F-78632A3BB57A}.Release|Any CPU.Build.0 = Release|Any CPU
+		{88EF760A-99A2-48C8-920F-78632A3BB57A}.Release|x64.ActiveCfg = Release|Any CPU
+		{88EF760A-99A2-48C8-920F-78632A3BB57A}.Release|x64.Build.0 = Release|Any CPU
+		{88EF760A-99A2-48C8-920F-78632A3BB57A}.Release|x86.ActiveCfg = Release|Any CPU
+		{88EF760A-99A2-48C8-920F-78632A3BB57A}.Release|x86.Build.0 = Release|Any CPU
+		{9593691E-1B65-4EB1-97AA-F8B292B0082A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{9593691E-1B65-4EB1-97AA-F8B292B0082A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{9593691E-1B65-4EB1-97AA-F8B292B0082A}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{9593691E-1B65-4EB1-97AA-F8B292B0082A}.Debug|x64.Build.0 = Debug|Any CPU
+		{9593691E-1B65-4EB1-97AA-F8B292B0082A}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{9593691E-1B65-4EB1-97AA-F8B292B0082A}.Debug|x86.Build.0 = Debug|Any CPU
+		{9593691E-1B65-4EB1-97AA-F8B292B0082A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{9593691E-1B65-4EB1-97AA-F8B292B0082A}.Release|Any CPU.Build.0 = Release|Any CPU
+		{9593691E-1B65-4EB1-97AA-F8B292B0082A}.Release|x64.ActiveCfg = Release|Any CPU
+		{9593691E-1B65-4EB1-97AA-F8B292B0082A}.Release|x64.Build.0 = Release|Any CPU
+		{9593691E-1B65-4EB1-97AA-F8B292B0082A}.Release|x86.ActiveCfg = Release|Any CPU
+		{9593691E-1B65-4EB1-97AA-F8B292B0082A}.Release|x86.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(NestedProjects) = preSolution
+		{312795E1-D5E2-4021-8FEA-342CA6F14CC8} = {B931802A-45BB-49A4-9919-B36C827100AC}
+		{0579BC3C-DC2C-440F-9FB9-F47ABD9B8A58} = {312795E1-D5E2-4021-8FEA-342CA6F14CC8}
+		{06817D18-5694-454E-A010-CDAECD8AF89B} = {312795E1-D5E2-4021-8FEA-342CA6F14CC8}
+		{79FE11AB-8D1E-4DEF-81C0-9B352769BFA4} = {B931802A-45BB-49A4-9919-B36C827100AC}
+		{6EC81D5C-D17C-4F11-9471-A8CDBDD8B76C} = {79FE11AB-8D1E-4DEF-81C0-9B352769BFA4}
+		{C4703BE0-E8DE-4A22-8653-9E2A20E2BE51} = {79FE11AB-8D1E-4DEF-81C0-9B352769BFA4}
+		{A28A64CA-297E-4023-895A-483DFDA59FBE} = {B931802A-45BB-49A4-9919-B36C827100AC}
+		{A81C6D14-8A7F-4AC0-B4E8-DF0A925C1ECE} = {A28A64CA-297E-4023-895A-483DFDA59FBE}
+		{F4F1E3C9-38E5-49EC-8688-A2D16AA8807B} = {B931802A-45BB-49A4-9919-B36C827100AC}
+		{B1FC9E6F-F2A2-4E3A-8CFC-0446C592C951} = {F4F1E3C9-38E5-49EC-8688-A2D16AA8807B}
+		{0F577D33-2EA4-4182-9D89-2EFB022A2835} = {F4F1E3C9-38E5-49EC-8688-A2D16AA8807B}
+		{84E67496-B000-4AAD-9626-2135F677C4F1} = {0F577D33-2EA4-4182-9D89-2EFB022A2835}
+		{CF6B45E8-BF6C-487F-A0D0-D3EA31D80529} = {84622717-F98A-4DE2-806E-1EF89C45C0EB}
+		{B1385496-607F-4573-ABE9-D9FE88D96DB8} = {84622717-F98A-4DE2-806E-1EF89C45C0EB}
+		{6EFFA596-23E7-498C-8D5E-331C6D8E945D} = {84622717-F98A-4DE2-806E-1EF89C45C0EB}
+		{A3789DA9-2E0E-41D6-BDDD-11DA4D3DD72D} = {84622717-F98A-4DE2-806E-1EF89C45C0EB}
+		{9631D314-7B0C-4CEC-8650-0259A8F4C77A} = {84622717-F98A-4DE2-806E-1EF89C45C0EB}
+		{01B31C53-7BAB-4DA7-A55D-C67D9B1FB4A2} = {84622717-F98A-4DE2-806E-1EF89C45C0EB}
+		{240BBDB1-3501-4637-8A17-996EA4EBB20B} = {84622717-F98A-4DE2-806E-1EF89C45C0EB}
+		{88EF760A-99A2-48C8-920F-78632A3BB57A} = {84622717-F98A-4DE2-806E-1EF89C45C0EB}
+		{9593691E-1B65-4EB1-97AA-F8B292B0082A} = {84622717-F98A-4DE2-806E-1EF89C45C0EB}
+	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+		SolutionGuid = {81AADD49-473B-43ED-8A08-F6B7A058AA39}
+	EndGlobalSection
+EndGlobal
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/Areas/AzureAD/Controllers/AccountController.cs b/src/Azure/AzureAD/Authentication.AzureAD.UI/src/Areas/AzureAD/Controllers/AccountController.cs
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/Areas/AzureAD/Controllers/AccountController.cs
rename to src/Azure/AzureAD/Authentication.AzureAD.UI/src/Areas/AzureAD/Controllers/AccountController.cs
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/Areas/AzureAD/Pages/Account/AccessDenied.cshtml b/src/Azure/AzureAD/Authentication.AzureAD.UI/src/Areas/AzureAD/Pages/Account/AccessDenied.cshtml
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/Areas/AzureAD/Pages/Account/AccessDenied.cshtml
rename to src/Azure/AzureAD/Authentication.AzureAD.UI/src/Areas/AzureAD/Pages/Account/AccessDenied.cshtml
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/Areas/AzureAD/Pages/Account/AccessDenied.cshtml.cs b/src/Azure/AzureAD/Authentication.AzureAD.UI/src/Areas/AzureAD/Pages/Account/AccessDenied.cshtml.cs
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/Areas/AzureAD/Pages/Account/AccessDenied.cshtml.cs
rename to src/Azure/AzureAD/Authentication.AzureAD.UI/src/Areas/AzureAD/Pages/Account/AccessDenied.cshtml.cs
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/Areas/AzureAD/Pages/Account/Error.cshtml b/src/Azure/AzureAD/Authentication.AzureAD.UI/src/Areas/AzureAD/Pages/Account/Error.cshtml
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/Areas/AzureAD/Pages/Account/Error.cshtml
rename to src/Azure/AzureAD/Authentication.AzureAD.UI/src/Areas/AzureAD/Pages/Account/Error.cshtml
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/Areas/AzureAD/Pages/Account/Error.cshtml.cs b/src/Azure/AzureAD/Authentication.AzureAD.UI/src/Areas/AzureAD/Pages/Account/Error.cshtml.cs
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/Areas/AzureAD/Pages/Account/Error.cshtml.cs
rename to src/Azure/AzureAD/Authentication.AzureAD.UI/src/Areas/AzureAD/Pages/Account/Error.cshtml.cs
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/Areas/AzureAD/Pages/Account/SignedOut.cshtml b/src/Azure/AzureAD/Authentication.AzureAD.UI/src/Areas/AzureAD/Pages/Account/SignedOut.cshtml
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/Areas/AzureAD/Pages/Account/SignedOut.cshtml
rename to src/Azure/AzureAD/Authentication.AzureAD.UI/src/Areas/AzureAD/Pages/Account/SignedOut.cshtml
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/Areas/AzureAD/Pages/Account/SignedOut.cshtml.cs b/src/Azure/AzureAD/Authentication.AzureAD.UI/src/Areas/AzureAD/Pages/Account/SignedOut.cshtml.cs
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/Areas/AzureAD/Pages/Account/SignedOut.cshtml.cs
rename to src/Azure/AzureAD/Authentication.AzureAD.UI/src/Areas/AzureAD/Pages/Account/SignedOut.cshtml.cs
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/Areas/AzureAD/Pages/Account/_viewImports.cshtml b/src/Azure/AzureAD/Authentication.AzureAD.UI/src/Areas/AzureAD/Pages/Account/_viewImports.cshtml
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/Areas/AzureAD/Pages/Account/_viewImports.cshtml
rename to src/Azure/AzureAD/Authentication.AzureAD.UI/src/Areas/AzureAD/Pages/Account/_viewImports.cshtml
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/Areas/AzureAD/Pages/_ViewStart.cshtml b/src/Azure/AzureAD/Authentication.AzureAD.UI/src/Areas/AzureAD/Pages/_ViewStart.cshtml
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/Areas/AzureAD/Pages/_ViewStart.cshtml
rename to src/Azure/AzureAD/Authentication.AzureAD.UI/src/Areas/AzureAD/Pages/_ViewStart.cshtml
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/AzureADAccountControllerFeatureProvider.cs b/src/Azure/AzureAD/Authentication.AzureAD.UI/src/AzureADAccountControllerFeatureProvider.cs
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/AzureADAccountControllerFeatureProvider.cs
rename to src/Azure/AzureAD/Authentication.AzureAD.UI/src/AzureADAccountControllerFeatureProvider.cs
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/AzureADAuthenticationBuilderExtensions.cs b/src/Azure/AzureAD/Authentication.AzureAD.UI/src/AzureADAuthenticationBuilderExtensions.cs
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/AzureADAuthenticationBuilderExtensions.cs
rename to src/Azure/AzureAD/Authentication.AzureAD.UI/src/AzureADAuthenticationBuilderExtensions.cs
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/AzureADDefaults.cs b/src/Azure/AzureAD/Authentication.AzureAD.UI/src/AzureADDefaults.cs
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/AzureADDefaults.cs
rename to src/Azure/AzureAD/Authentication.AzureAD.UI/src/AzureADDefaults.cs
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/AzureADOptions.cs b/src/Azure/AzureAD/Authentication.AzureAD.UI/src/AzureADOptions.cs
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/AzureADOptions.cs
rename to src/Azure/AzureAD/Authentication.AzureAD.UI/src/AzureADOptions.cs
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/AzureADOptionsConfiguration.cs b/src/Azure/AzureAD/Authentication.AzureAD.UI/src/AzureADOptionsConfiguration.cs
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/AzureADOptionsConfiguration.cs
rename to src/Azure/AzureAD/Authentication.AzureAD.UI/src/AzureADOptionsConfiguration.cs
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/AzureADSchemeOptions.cs b/src/Azure/AzureAD/Authentication.AzureAD.UI/src/AzureADSchemeOptions.cs
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/AzureADSchemeOptions.cs
rename to src/Azure/AzureAD/Authentication.AzureAD.UI/src/AzureADSchemeOptions.cs
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/CookieOptionsConfiguration.cs b/src/Azure/AzureAD/Authentication.AzureAD.UI/src/CookieOptionsConfiguration.cs
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/CookieOptionsConfiguration.cs
rename to src/Azure/AzureAD/Authentication.AzureAD.UI/src/CookieOptionsConfiguration.cs
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/JwtBearerOptionsConfiguration.cs b/src/Azure/AzureAD/Authentication.AzureAD.UI/src/JwtBearerOptionsConfiguration.cs
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/JwtBearerOptionsConfiguration.cs
rename to src/Azure/AzureAD/Authentication.AzureAD.UI/src/JwtBearerOptionsConfiguration.cs
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/Microsoft.AspNetCore.Authentication.AzureAD.UI.csproj b/src/Azure/AzureAD/Authentication.AzureAD.UI/src/Microsoft.AspNetCore.Authentication.AzureAD.UI.csproj
similarity index 69%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/Microsoft.AspNetCore.Authentication.AzureAD.UI.csproj
rename to src/Azure/AzureAD/Authentication.AzureAD.UI/src/Microsoft.AspNetCore.Authentication.AzureAD.UI.csproj
index 710d06643434d452c0bb209b2bd3cbc9958ea972..52e285c0255959def10a47d58dbd540738bbbd2c 100644
--- a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/Microsoft.AspNetCore.Authentication.AzureAD.UI.csproj
+++ b/src/Azure/AzureAD/Authentication.AzureAD.UI/src/Microsoft.AspNetCore.Authentication.AzureAD.UI.csproj
@@ -10,11 +10,10 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="$(MicrosoftAspNetCoreMvcPackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="$(MicrosoftAspNetCoreAuthenticationJwtBearerPackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.Authentication.Cookies" Version="$(MicrosoftAspNetCoreAuthenticationCookiesPackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="$(MicrosoftAspNetCoreAuthenticationOpenIdConnectPackageVersion)" />
-    <PackageReference Include="Microsoft.NET.Sdk.Razor" Version="$(MicrosoftNETSdkRazorPackageVersion)" PrivateAssets="All" />
+    <Reference Include="Microsoft.AspNetCore.Mvc" />
+    <Reference Include="Microsoft.AspNetCore.Authentication.JwtBearer" />
+    <Reference Include="Microsoft.AspNetCore.Authentication.Cookies" />
+    <Reference Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" />
   </ItemGroup>
 
     <ItemGroup>
@@ -28,10 +27,10 @@
        <_Parameter2>$(BuildNumber)</_Parameter2>
      </RazorTargetAssemblyAttribute>
    </ItemGroup>
- 
+
    <ItemGroup>
      <RazorCompile Include="$(GeneratedCommitHashAttributeFile)" />
      <RazorCompile Include="$(GeneratedInternalAspNetCoreAttributeFile)" />
    </ItemGroup>
-  
+
 </Project>
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/OpenIdConnectOptionsConfiguration.cs b/src/Azure/AzureAD/Authentication.AzureAD.UI/src/OpenIdConnectOptionsConfiguration.cs
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/OpenIdConnectOptionsConfiguration.cs
rename to src/Azure/AzureAD/Authentication.AzureAD.UI/src/OpenIdConnectOptionsConfiguration.cs
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/Properties/AssemblyInfo.cs b/src/Azure/AzureAD/Authentication.AzureAD.UI/src/Properties/AssemblyInfo.cs
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/Properties/AssemblyInfo.cs
rename to src/Azure/AzureAD/Authentication.AzureAD.UI/src/Properties/AssemblyInfo.cs
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/baseline.netcore.json b/src/Azure/AzureAD/Authentication.AzureAD.UI/src/baseline.netcore.json
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureAD.UI/baseline.netcore.json
rename to src/Azure/AzureAD/Authentication.AzureAD.UI/src/baseline.netcore.json
diff --git a/src/AADIntegration/test/Microsoft.AspNetCore.Authentication.AzureAD.UI.Test/AzureADAuthenticationBuilderExtensionsTests.cs b/src/Azure/AzureAD/Authentication.AzureAD.UI/test/AzureADAuthenticationBuilderExtensionsTests.cs
similarity index 100%
rename from src/AADIntegration/test/Microsoft.AspNetCore.Authentication.AzureAD.UI.Test/AzureADAuthenticationBuilderExtensionsTests.cs
rename to src/Azure/AzureAD/Authentication.AzureAD.UI/test/AzureADAuthenticationBuilderExtensionsTests.cs
diff --git a/src/AADIntegration/test/Microsoft.AspNetCore.Authentication.AzureAD.UI.Test/Controllers/AccountControllerTests.cs b/src/Azure/AzureAD/Authentication.AzureAD.UI/test/Controllers/AccountControllerTests.cs
similarity index 100%
rename from src/AADIntegration/test/Microsoft.AspNetCore.Authentication.AzureAD.UI.Test/Controllers/AccountControllerTests.cs
rename to src/Azure/AzureAD/Authentication.AzureAD.UI/test/Controllers/AccountControllerTests.cs
diff --git a/src/AADIntegration/test/Microsoft.AspNetCore.Authentication.AzureAD.UI.Test/Microsoft.AspNetCore.Authentication.AzureAD.UI.Test.csproj b/src/Azure/AzureAD/Authentication.AzureAD.UI/test/Microsoft.AspNetCore.Authentication.AzureAD.UI.Test.csproj
similarity index 62%
rename from src/AADIntegration/test/Microsoft.AspNetCore.Authentication.AzureAD.UI.Test/Microsoft.AspNetCore.Authentication.AzureAD.UI.Test.csproj
rename to src/Azure/AzureAD/Authentication.AzureAD.UI/test/Microsoft.AspNetCore.Authentication.AzureAD.UI.Test.csproj
index 4daafb39ac375a605bca11960e8b1681a2746cd5..cb9069cecd4352f8f5a45f1ed4495becd7ed3d2a 100644
--- a/src/AADIntegration/test/Microsoft.AspNetCore.Authentication.AzureAD.UI.Test/Microsoft.AspNetCore.Authentication.AzureAD.UI.Test.csproj
+++ b/src/Azure/AzureAD/Authentication.AzureAD.UI/test/Microsoft.AspNetCore.Authentication.AzureAD.UI.Test.csproj
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFrameworks>$(StandardTestTfms)</TargetFrameworks>
+    <TargetFrameworks>netcoreapp2.2;net461</TargetFrameworks>
     <RootNamespace>Microsoft.AspNetCore.Authentication.AzureAD.UI</RootNamespace>
   </PropertyGroup>
 
@@ -12,7 +12,7 @@
   </ItemGroup>
 
   <ItemGroup>
-    <ProjectReference Include="..\..\src\Microsoft.AspNetCore.Authentication.AzureAD.UI\Microsoft.AspNetCore.Authentication.AzureAD.UI.csproj" />
+    <Reference Include="Microsoft.AspNetCore.Authentication.AzureAD.UI" />
   </ItemGroup>
 
 </Project>
diff --git a/src/AADIntegration/test/Microsoft.AspNetCore.Authentication.AzureAD.FunctionalTests/xunit.runner.json b/src/Azure/AzureAD/Authentication.AzureAD.UI/test/xunit.runner.json
similarity index 100%
rename from src/AADIntegration/test/Microsoft.AspNetCore.Authentication.AzureAD.FunctionalTests/xunit.runner.json
rename to src/Azure/AzureAD/Authentication.AzureAD.UI/test/xunit.runner.json
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/Areas/AzureADB2C/Controllers/AccountController.cs b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/Areas/AzureADB2C/Controllers/AccountController.cs
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/Areas/AzureADB2C/Controllers/AccountController.cs
rename to src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/Areas/AzureADB2C/Controllers/AccountController.cs
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/Areas/AzureADB2C/Pages/Account/AccessDenied.cshtml b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/Areas/AzureADB2C/Pages/Account/AccessDenied.cshtml
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/Areas/AzureADB2C/Pages/Account/AccessDenied.cshtml
rename to src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/Areas/AzureADB2C/Pages/Account/AccessDenied.cshtml
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/Areas/AzureADB2C/Pages/Account/AccessDenied.cshtml.cs b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/Areas/AzureADB2C/Pages/Account/AccessDenied.cshtml.cs
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/Areas/AzureADB2C/Pages/Account/AccessDenied.cshtml.cs
rename to src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/Areas/AzureADB2C/Pages/Account/AccessDenied.cshtml.cs
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/Areas/AzureADB2C/Pages/Account/Error.cshtml b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/Areas/AzureADB2C/Pages/Account/Error.cshtml
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/Areas/AzureADB2C/Pages/Account/Error.cshtml
rename to src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/Areas/AzureADB2C/Pages/Account/Error.cshtml
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/Areas/AzureADB2C/Pages/Account/Error.cshtml.cs b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/Areas/AzureADB2C/Pages/Account/Error.cshtml.cs
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/Areas/AzureADB2C/Pages/Account/Error.cshtml.cs
rename to src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/Areas/AzureADB2C/Pages/Account/Error.cshtml.cs
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/Areas/AzureADB2C/Pages/Account/SignedOut.cshtml b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/Areas/AzureADB2C/Pages/Account/SignedOut.cshtml
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/Areas/AzureADB2C/Pages/Account/SignedOut.cshtml
rename to src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/Areas/AzureADB2C/Pages/Account/SignedOut.cshtml
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/Areas/AzureADB2C/Pages/Account/SignedOut.cshtml.cs b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/Areas/AzureADB2C/Pages/Account/SignedOut.cshtml.cs
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/Areas/AzureADB2C/Pages/Account/SignedOut.cshtml.cs
rename to src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/Areas/AzureADB2C/Pages/Account/SignedOut.cshtml.cs
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/Areas/AzureADB2C/Pages/Account/_viewImports.cshtml b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/Areas/AzureADB2C/Pages/Account/_viewImports.cshtml
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/Areas/AzureADB2C/Pages/Account/_viewImports.cshtml
rename to src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/Areas/AzureADB2C/Pages/Account/_viewImports.cshtml
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/Areas/AzureADB2C/Pages/_ViewStart.cshtml b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/Areas/AzureADB2C/Pages/_ViewStart.cshtml
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/Areas/AzureADB2C/Pages/_ViewStart.cshtml
rename to src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/Areas/AzureADB2C/Pages/_ViewStart.cshtml
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/AzureADB2CAccountControllerFeatureProvider.cs b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/AzureADB2CAccountControllerFeatureProvider.cs
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/AzureADB2CAccountControllerFeatureProvider.cs
rename to src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/AzureADB2CAccountControllerFeatureProvider.cs
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/AzureAdB2CAuthenticationBuilderExtensions.cs b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/AzureAdB2CAuthenticationBuilderExtensions.cs
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/AzureAdB2CAuthenticationBuilderExtensions.cs
rename to src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/AzureAdB2CAuthenticationBuilderExtensions.cs
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/AzureAdB2CDefaults.cs b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/AzureAdB2CDefaults.cs
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/AzureAdB2CDefaults.cs
rename to src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/AzureAdB2CDefaults.cs
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/AzureAdB2COpenIDConnectEventHandlers.cs b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/AzureAdB2COpenIDConnectEventHandlers.cs
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/AzureAdB2COpenIDConnectEventHandlers.cs
rename to src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/AzureAdB2COpenIDConnectEventHandlers.cs
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/AzureAdB2COptions.cs b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/AzureAdB2COptions.cs
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/AzureAdB2COptions.cs
rename to src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/AzureAdB2COptions.cs
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/AzureAdB2COptionsConfiguration.cs b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/AzureAdB2COptionsConfiguration.cs
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/AzureAdB2COptionsConfiguration.cs
rename to src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/AzureAdB2COptionsConfiguration.cs
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/AzureAdB2CSchemeOptions.cs b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/AzureAdB2CSchemeOptions.cs
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/AzureAdB2CSchemeOptions.cs
rename to src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/AzureAdB2CSchemeOptions.cs
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/CookieOptionsConfiguration.cs b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/CookieOptionsConfiguration.cs
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/CookieOptionsConfiguration.cs
rename to src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/CookieOptionsConfiguration.cs
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/JwtBearerOptionsConfiguration.cs b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/JwtBearerOptionsConfiguration.cs
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/JwtBearerOptionsConfiguration.cs
rename to src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/JwtBearerOptionsConfiguration.cs
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.csproj b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.csproj
similarity index 69%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.csproj
rename to src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.csproj
index e63e02980f18447c8abf22eb2d22e0b79714c39d..cc93f8f052f45f43b7bae97bea2b09fb830c3b9d 100644
--- a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.csproj
+++ b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.csproj
@@ -10,11 +10,10 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="$(MicrosoftAspNetCoreMvcPackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="$(MicrosoftAspNetCoreAuthenticationJwtBearerPackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.Authentication.Cookies" Version="$(MicrosoftAspNetCoreAuthenticationCookiesPackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="$(MicrosoftAspNetCoreAuthenticationOpenIdConnectPackageVersion)" />
-    <PackageReference Include="Microsoft.NET.Sdk.Razor" Version="$(MicrosoftNETSdkRazorPackageVersion)" PrivateAssets="All" />
+    <Reference Include="Microsoft.AspNetCore.Mvc" />
+    <Reference Include="Microsoft.AspNetCore.Authentication.JwtBearer" />
+    <Reference Include="Microsoft.AspNetCore.Authentication.Cookies" />
+    <Reference Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" />
   </ItemGroup>
 
     <ItemGroup>
@@ -28,10 +27,10 @@
        <_Parameter2>$(BuildNumber)</_Parameter2>
      </RazorTargetAssemblyAttribute>
    </ItemGroup>
- 
+
    <ItemGroup>
      <RazorCompile Include="$(GeneratedCommitHashAttributeFile)" />
      <RazorCompile Include="$(GeneratedInternalAspNetCoreAttributeFile)" />
    </ItemGroup>
-  
+
 </Project>
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/OpenIdConnectOptionsConfiguration.cs b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/OpenIdConnectOptionsConfiguration.cs
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/OpenIdConnectOptionsConfiguration.cs
rename to src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/OpenIdConnectOptionsConfiguration.cs
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/Properties/AssemblyInfo.cs b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/Properties/AssemblyInfo.cs
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/Properties/AssemblyInfo.cs
rename to src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/Properties/AssemblyInfo.cs
diff --git a/src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/baseline.netcore.json b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/baseline.netcore.json
similarity index 100%
rename from src/AADIntegration/src/Microsoft.AspNetCore.Authentication.AzureADB2C.UI/baseline.netcore.json
rename to src/Azure/AzureAD/Authentication.AzureADB2C.UI/src/baseline.netcore.json
diff --git a/src/AADIntegration/test/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.Test/AzureAdB2CAuthenticationBuilderExtensionsTests.cs b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/test/AzureAdB2CAuthenticationBuilderExtensionsTests.cs
similarity index 100%
rename from src/AADIntegration/test/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.Test/AzureAdB2CAuthenticationBuilderExtensionsTests.cs
rename to src/Azure/AzureAD/Authentication.AzureADB2C.UI/test/AzureAdB2CAuthenticationBuilderExtensionsTests.cs
diff --git a/src/AADIntegration/test/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.Test/AzureAdB2COpenIDConnectEventHandlersTests.cs b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/test/AzureAdB2COpenIDConnectEventHandlersTests.cs
similarity index 100%
rename from src/AADIntegration/test/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.Test/AzureAdB2COpenIDConnectEventHandlersTests.cs
rename to src/Azure/AzureAD/Authentication.AzureADB2C.UI/test/AzureAdB2COpenIDConnectEventHandlersTests.cs
diff --git a/src/AADIntegration/test/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.Test/Controllers/AccountControllerTests.cs b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/test/Controllers/AccountControllerTests.cs
similarity index 100%
rename from src/AADIntegration/test/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.Test/Controllers/AccountControllerTests.cs
rename to src/Azure/AzureAD/Authentication.AzureADB2C.UI/test/Controllers/AccountControllerTests.cs
diff --git a/src/AADIntegration/test/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.Test/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.Test.csproj b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/test/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.Test.csproj
similarity index 62%
rename from src/AADIntegration/test/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.Test/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.Test.csproj
rename to src/Azure/AzureAD/Authentication.AzureADB2C.UI/test/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.Test.csproj
index a838fc27035c3ae3ffefed1ae3c43737aa7e0c51..e34db77d1cd784b631d3e7e7c3d22b01e2f6af7c 100644
--- a/src/AADIntegration/test/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.Test/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.Test.csproj
+++ b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/test/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.Test.csproj
@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFrameworks>$(StandardTestTfms)</TargetFrameworks>
+    <TargetFrameworks>netcoreapp2.2;net461</TargetFrameworks>
     <RootNamespace>Microsoft.AspNetCore.Authentication.AzureADB2C.UI</RootNamespace>
   </PropertyGroup>
 
@@ -12,7 +12,7 @@
   </ItemGroup>
 
   <ItemGroup>
-    <ProjectReference Include="..\..\src\Microsoft.AspNetCore.Authentication.AzureADB2C.UI\Microsoft.AspNetCore.Authentication.AzureADB2C.UI.csproj" />
+    <Reference Include="Microsoft.AspNetCore.Authentication.AzureADB2C.UI" />
   </ItemGroup>
 
 </Project>
diff --git a/src/AADIntegration/test/Microsoft.AspNetCore.Authentication.AzureAD.UI.Test/xunit.runner.json b/src/Azure/AzureAD/Authentication.AzureADB2C.UI/test/xunit.runner.json
similarity index 100%
rename from src/AADIntegration/test/Microsoft.AspNetCore.Authentication.AzureAD.UI.Test/xunit.runner.json
rename to src/Azure/AzureAD/Authentication.AzureADB2C.UI/test/xunit.runner.json
diff --git a/src/AADIntegration/test/AADIntegration.ruleset b/src/Azure/AzureAD/AzureAD.ruleset
similarity index 71%
rename from src/AADIntegration/test/AADIntegration.ruleset
rename to src/Azure/AzureAD/AzureAD.ruleset
index 23f2deac4ab7bceb3ca89fd811be6a593667c68d..57375fd55d9da2e2e8c6ab963d3adcfea57cdd93 100644
--- a/src/AADIntegration/test/AADIntegration.ruleset
+++ b/src/Azure/AzureAD/AzureAD.ruleset
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
-<RuleSet Name="Rules for MVC Tests" Description="Code analysis rules for MVC Tests" ToolsVersion="15.0">
+<RuleSet Name="Rules for AzureAD tests" Description="Code analysis rules for AzureAD tests" ToolsVersion="15.0">
   <Rules AnalyzerId="xunit.analyzers" RuleNamespace="xunit.analyzers">
-    <!-- 
+    <!--
       This code is produced when theory parameters that are unused. Normally, this is a warning which causes our build to fail.
     -->
     <Rule Id="xUnit1026" Action="Info" />
diff --git a/src/Azure/AzureAD/Directory.Build.props b/src/Azure/AzureAD/Directory.Build.props
new file mode 100644
index 0000000000000000000000000000000000000000..647d706b5aad004bb75852acda55678e8c10f1fd
--- /dev/null
+++ b/src/Azure/AzureAD/Directory.Build.props
@@ -0,0 +1,8 @@
+<Project>
+  <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory)..\, Directory.Build.props))\Directory.Build.props" />
+
+  <PropertyGroup>
+    <WarningsNotAsErrors>xUnit1026:$(WarningsNotAsErrors)</WarningsNotAsErrors>
+    <CodeAnalysisRuleSet>$(MSBuildThisFileDirectory)AzureAD.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+</Project>
diff --git a/src/Azure/AzureAD/README.md b/src/Azure/AzureAD/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..6086294419d5c77e671a8fedc6ecab45b6c53514
--- /dev/null
+++ b/src/Azure/AzureAD/README.md
@@ -0,0 +1,4 @@
+Azure Active Directory Integration
+==================================
+
+ASP.NET Core Azure Active Directory Integration provides seamless authentication integration with different Azure Active Directory services like Azure Active Directory and Azure Active Directory B2C for ASP.NET Core applications.
\ No newline at end of file
diff --git a/src/Azure/AzureAD/samples/AzureADB2CSample/AzureADB2CSample.csproj b/src/Azure/AzureAD/samples/AzureADB2CSample/AzureADB2CSample.csproj
new file mode 100644
index 0000000000000000000000000000000000000000..c60e8a1187a01e2e0fbd4b8252ef1646dcd4cf94
--- /dev/null
+++ b/src/Azure/AzureAD/samples/AzureADB2CSample/AzureADB2CSample.csproj
@@ -0,0 +1,22 @@
+<Project Sdk="Microsoft.NET.Sdk.Web">
+
+  <PropertyGroup>
+    <TargetFrameworks>netcoreapp2.2;net461</TargetFrameworks>
+  </PropertyGroup>
+
+  <PropertyGroup>
+    <RazorCompileOnBuild>true</RazorCompileOnBuild>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.AspNetCore.Authentication.AzureADB2C.UI" />
+    <Reference Include="Microsoft.AspNetCore.HttpsPolicy" />
+    <Reference Include="Microsoft.AspNetCore.Server.IISIntegration" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel" />
+    <Reference Include="Microsoft.AspNetCore.StaticFiles" />
+    <Reference Include="Microsoft.Extensions.Configuration.Json" />
+    <Reference Include="Microsoft.Extensions.Logging.Console" />
+    <Reference Include="Microsoft.Extensions.Logging.Debug" />
+  </ItemGroup>
+
+</Project>
diff --git a/src/AADIntegration/samples/AzureADB2CSample/Pages/Index.cshtml b/src/Azure/AzureAD/samples/AzureADB2CSample/Pages/Index.cshtml
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/Pages/Index.cshtml
rename to src/Azure/AzureAD/samples/AzureADB2CSample/Pages/Index.cshtml
diff --git a/src/AADIntegration/samples/AzureADB2CSample/Pages/Index.cshtml.cs b/src/Azure/AzureAD/samples/AzureADB2CSample/Pages/Index.cshtml.cs
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/Pages/Index.cshtml.cs
rename to src/Azure/AzureAD/samples/AzureADB2CSample/Pages/Index.cshtml.cs
diff --git a/src/AADIntegration/samples/AzureADB2CSample/Pages/Shared/_Layout.cshtml b/src/Azure/AzureAD/samples/AzureADB2CSample/Pages/Shared/_Layout.cshtml
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/Pages/Shared/_Layout.cshtml
rename to src/Azure/AzureAD/samples/AzureADB2CSample/Pages/Shared/_Layout.cshtml
diff --git a/src/AADIntegration/samples/AzureADB2CSample/Pages/Shared/_LoginPartial.cshtml b/src/Azure/AzureAD/samples/AzureADB2CSample/Pages/Shared/_LoginPartial.cshtml
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/Pages/Shared/_LoginPartial.cshtml
rename to src/Azure/AzureAD/samples/AzureADB2CSample/Pages/Shared/_LoginPartial.cshtml
diff --git a/src/AADIntegration/samples/AzureADB2CSample/Pages/_ViewImports.cshtml b/src/Azure/AzureAD/samples/AzureADB2CSample/Pages/_ViewImports.cshtml
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/Pages/_ViewImports.cshtml
rename to src/Azure/AzureAD/samples/AzureADB2CSample/Pages/_ViewImports.cshtml
diff --git a/src/AADIntegration/samples/AzureADB2CSample/Pages/_ViewStart.cshtml b/src/Azure/AzureAD/samples/AzureADB2CSample/Pages/_ViewStart.cshtml
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/Pages/_ViewStart.cshtml
rename to src/Azure/AzureAD/samples/AzureADB2CSample/Pages/_ViewStart.cshtml
diff --git a/src/AADIntegration/samples/AzureADB2CSample/Program.cs b/src/Azure/AzureAD/samples/AzureADB2CSample/Program.cs
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/Program.cs
rename to src/Azure/AzureAD/samples/AzureADB2CSample/Program.cs
diff --git a/src/AADIntegration/samples/AzureADB2CSample/Startup.cs b/src/Azure/AzureAD/samples/AzureADB2CSample/Startup.cs
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/Startup.cs
rename to src/Azure/AzureAD/samples/AzureADB2CSample/Startup.cs
diff --git a/src/AADIntegration/samples/AzureADB2CSample/appsettings.Development.json b/src/Azure/AzureAD/samples/AzureADB2CSample/appsettings.Development.json
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/appsettings.Development.json
rename to src/Azure/AzureAD/samples/AzureADB2CSample/appsettings.Development.json
diff --git a/src/AADIntegration/samples/AzureADB2CSample/appsettings.json b/src/Azure/AzureAD/samples/AzureADB2CSample/appsettings.json
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/appsettings.json
rename to src/Azure/AzureAD/samples/AzureADB2CSample/appsettings.json
diff --git a/src/AADIntegration/samples/AzureADB2CSample/wwwroot/css/site.css b/src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/css/site.css
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/wwwroot/css/site.css
rename to src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/css/site.css
diff --git a/src/AADIntegration/samples/AzureADB2CSample/wwwroot/css/site.min.css b/src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/css/site.min.css
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/wwwroot/css/site.min.css
rename to src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/css/site.min.css
diff --git a/src/AADIntegration/samples/AzureADB2CSample/wwwroot/favicon.ico b/src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/favicon.ico
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/wwwroot/favicon.ico
rename to src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/favicon.ico
diff --git a/src/AADIntegration/samples/AzureADB2CSample/wwwroot/images/banner1.svg b/src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/images/banner1.svg
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/wwwroot/images/banner1.svg
rename to src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/images/banner1.svg
diff --git a/src/AADIntegration/samples/AzureADB2CSample/wwwroot/images/banner2.svg b/src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/images/banner2.svg
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/wwwroot/images/banner2.svg
rename to src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/images/banner2.svg
diff --git a/src/AADIntegration/samples/AzureADB2CSample/wwwroot/images/banner3.svg b/src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/images/banner3.svg
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/wwwroot/images/banner3.svg
rename to src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/images/banner3.svg
diff --git a/src/AADIntegration/samples/AzureADB2CSample/wwwroot/images/banner4.svg b/src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/images/banner4.svg
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/wwwroot/images/banner4.svg
rename to src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/images/banner4.svg
diff --git a/src/AADIntegration/samples/AzureADB2CSample/wwwroot/js/site.js b/src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/js/site.js
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/wwwroot/js/site.js
rename to src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/js/site.js
diff --git a/src/AADIntegration/samples/AzureADB2CSample/wwwroot/js/site.min.js b/src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/js/site.min.js
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/wwwroot/js/site.min.js
rename to src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/js/site.min.js
diff --git a/src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/bootstrap/.bower.json b/src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/bootstrap/.bower.json
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/bootstrap/.bower.json
rename to src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/bootstrap/.bower.json
diff --git a/src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/bootstrap/LICENSE b/src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/bootstrap/LICENSE
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/bootstrap/LICENSE
rename to src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/bootstrap/LICENSE
diff --git a/src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.css b/src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.css
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.css
rename to src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.css
diff --git a/src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.css.map b/src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.css.map
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.css.map
rename to src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.css.map
diff --git a/src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.min.css.map b/src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.min.css.map
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.min.css.map
rename to src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.min.css.map
diff --git a/src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/css/bootstrap.css b/src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/css/bootstrap.css
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/css/bootstrap.css
rename to src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/css/bootstrap.css
diff --git a/src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/css/bootstrap.css.map b/src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/css/bootstrap.css.map
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/css/bootstrap.css.map
rename to src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/css/bootstrap.css.map
diff --git a/src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css.map b/src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css.map
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css.map
rename to src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css.map
diff --git a/src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot b/src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot
rename to src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot
diff --git a/src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.svg b/src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.svg
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.svg
rename to src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.svg
diff --git a/src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf b/src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf
rename to src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf
diff --git a/src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff b/src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff
rename to src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff
diff --git a/src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 b/src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2
rename to src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2
diff --git a/src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/js/bootstrap.js b/src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/js/bootstrap.js
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/js/bootstrap.js
rename to src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/js/bootstrap.js
diff --git a/src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/js/npm.js b/src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/js/npm.js
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/js/npm.js
rename to src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/bootstrap/dist/js/npm.js
diff --git a/src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/jquery-validation-unobtrusive/.bower.json b/src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/jquery-validation-unobtrusive/.bower.json
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/jquery-validation-unobtrusive/.bower.json
rename to src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/jquery-validation-unobtrusive/.bower.json
diff --git a/src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js b/src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js
rename to src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js
diff --git a/src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js b/src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js
rename to src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js
diff --git a/src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/jquery-validation/.bower.json b/src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/jquery-validation/.bower.json
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/jquery-validation/.bower.json
rename to src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/jquery-validation/.bower.json
diff --git a/src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/jquery-validation/LICENSE.md b/src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/jquery-validation/LICENSE.md
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/jquery-validation/LICENSE.md
rename to src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/jquery-validation/LICENSE.md
diff --git a/src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/jquery-validation/dist/additional-methods.js b/src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/jquery-validation/dist/additional-methods.js
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/jquery-validation/dist/additional-methods.js
rename to src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/jquery-validation/dist/additional-methods.js
diff --git a/src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/jquery-validation/dist/jquery.validate.js b/src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/jquery-validation/dist/jquery.validate.js
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/jquery-validation/dist/jquery.validate.js
rename to src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/jquery-validation/dist/jquery.validate.js
diff --git a/src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/jquery/.bower.json b/src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/jquery/.bower.json
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/jquery/.bower.json
rename to src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/jquery/.bower.json
diff --git a/src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/jquery/LICENSE.txt b/src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/jquery/LICENSE.txt
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/jquery/LICENSE.txt
rename to src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/jquery/LICENSE.txt
diff --git a/src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/jquery/dist/jquery.js b/src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/jquery/dist/jquery.js
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/jquery/dist/jquery.js
rename to src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/jquery/dist/jquery.js
diff --git a/src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/jquery/dist/jquery.min.map b/src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/jquery/dist/jquery.min.map
similarity index 100%
rename from src/AADIntegration/samples/AzureADB2CSample/wwwroot/lib/jquery/dist/jquery.min.map
rename to src/Azure/AzureAD/samples/AzureADB2CSample/wwwroot/lib/jquery/dist/jquery.min.map
diff --git a/src/AADIntegration/test/Microsoft.AspNetCore.Authentication.AzureAD.FunctionalTests/ApiAuthenticationTests.cs b/src/Azure/AzureAD/test/FunctionalTests/ApiAuthenticationTests.cs
similarity index 100%
rename from src/AADIntegration/test/Microsoft.AspNetCore.Authentication.AzureAD.FunctionalTests/ApiAuthenticationTests.cs
rename to src/Azure/AzureAD/test/FunctionalTests/ApiAuthenticationTests.cs
diff --git a/src/Azure/AzureAD/test/FunctionalTests/Microsoft.AspNetCore.Authentication.AzureAD.FunctionalTests.csproj b/src/Azure/AzureAD/test/FunctionalTests/Microsoft.AspNetCore.Authentication.AzureAD.FunctionalTests.csproj
new file mode 100644
index 0000000000000000000000000000000000000000..3133941f372170a483ae1c893a0a25b0a67b7493
--- /dev/null
+++ b/src/Azure/AzureAD/test/FunctionalTests/Microsoft.AspNetCore.Authentication.AzureAD.FunctionalTests.csproj
@@ -0,0 +1,22 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFrameworks>netcoreapp2.2;net461</TargetFrameworks>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <ProjectReference Include="..\testassets\AzureAD.WebSite\AzureAD.WebSite.csproj" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <None Include="xunit.runner.json" CopyToOutputDirectory="PreserveNewest" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.AspNetCore.Mvc.Testing" />
+    <Reference Include="Microsoft.Extensions.Logging.Testing" />
+  </ItemGroup>
+
+
+  <Import Project="$(RepositoryRoot)src\Mvc\src\Microsoft.AspNetCore.Mvc.Testing\build\netstandard2.0\Microsoft.AspNetCore.Mvc.Testing.targets" />
+</Project>
diff --git a/src/AADIntegration/test/Microsoft.AspNetCore.Authentication.AzureAD.FunctionalTests/WebAuthenticationTests.cs b/src/Azure/AzureAD/test/FunctionalTests/WebAuthenticationTests.cs
similarity index 100%
rename from src/AADIntegration/test/Microsoft.AspNetCore.Authentication.AzureAD.FunctionalTests/WebAuthenticationTests.cs
rename to src/Azure/AzureAD/test/FunctionalTests/WebAuthenticationTests.cs
diff --git a/src/AADIntegration/test/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.Test/xunit.runner.json b/src/Azure/AzureAD/test/FunctionalTests/xunit.runner.json
similarity index 100%
rename from src/AADIntegration/test/Microsoft.AspNetCore.Authentication.AzureADB2C.UI.Test/xunit.runner.json
rename to src/Azure/AzureAD/test/FunctionalTests/xunit.runner.json
diff --git a/src/Azure/AzureAD/test/testassets/AzureAD.WebSite/AzureAD.WebSite.csproj b/src/Azure/AzureAD/test/testassets/AzureAD.WebSite/AzureAD.WebSite.csproj
new file mode 100644
index 0000000000000000000000000000000000000000..eead2ebe9c57465b777ecd6c941f3610e0e885f6
--- /dev/null
+++ b/src/Azure/AzureAD/test/testassets/AzureAD.WebSite/AzureAD.WebSite.csproj
@@ -0,0 +1,25 @@
+<Project Sdk="Microsoft.NET.Sdk.Web">
+
+  <PropertyGroup>
+    <TargetFrameworks>netcoreapp2.2;net461</TargetFrameworks>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.AspNetCore.Authentication.AzureAD.UI" />
+    <Reference Include="Microsoft.AspNetCore.Authentication.AzureADB2C.UI" />
+    <Reference Include="Microsoft.AspNetCore.Authorization" />
+    <Reference Include="Microsoft.AspNetCore.DataProtection.Extensions" />
+    <Reference Include="Microsoft.AspNetCore.Hosting" />
+    <Reference Include="Microsoft.AspNetCore.Mvc" />
+    <Reference Include="Microsoft.AspNetCore.Server.IISIntegration" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel.Https" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel" />
+    <Reference Include="Microsoft.Extensions.Configuration.CommandLine" />
+    <Reference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" />
+    <Reference Include="Microsoft.Extensions.Configuration.UserSecrets" />
+    <Reference Include="Microsoft.Extensions.Logging.Configuration" />
+    <Reference Include="Microsoft.Extensions.Logging.Console" />
+    <Reference Include="Microsoft.Extensions.Logging.Debug" />
+  </ItemGroup>
+
+</Project>
diff --git a/src/AADIntegration/test/WebSites/AzureAD.WebSite/Controllers/TestController.cs b/src/Azure/AzureAD/test/testassets/AzureAD.WebSite/Controllers/TestController.cs
similarity index 100%
rename from src/AADIntegration/test/WebSites/AzureAD.WebSite/Controllers/TestController.cs
rename to src/Azure/AzureAD/test/testassets/AzureAD.WebSite/Controllers/TestController.cs
diff --git a/src/AADIntegration/test/WebSites/AzureAD.WebSite/Program.cs b/src/Azure/AzureAD/test/testassets/AzureAD.WebSite/Program.cs
similarity index 100%
rename from src/AADIntegration/test/WebSites/AzureAD.WebSite/Program.cs
rename to src/Azure/AzureAD/test/testassets/AzureAD.WebSite/Program.cs
diff --git a/src/AADIntegration/test/WebSites/AzureAD.WebSite/Startup.cs b/src/Azure/AzureAD/test/testassets/AzureAD.WebSite/Startup.cs
similarity index 100%
rename from src/AADIntegration/test/WebSites/AzureAD.WebSite/Startup.cs
rename to src/Azure/AzureAD/test/testassets/AzureAD.WebSite/Startup.cs
diff --git a/src/Azure/build.cmd b/src/Azure/build.cmd
new file mode 100644
index 0000000000000000000000000000000000000000..69e98050084f87ca307f6ae98b0498bf7f8c9e85
--- /dev/null
+++ b/src/Azure/build.cmd
@@ -0,0 +1,3 @@
+@ECHO OFF
+SET RepoRoot=%~dp0..\..
+%RepoRoot%\build.cmd -LockFile %RepoRoot%\korebuild-lock.txt -Projects %~dp0\**\*.*proj %*
diff --git a/src/Azure/startvs.cmd b/src/Azure/startvs.cmd
new file mode 100644
index 0000000000000000000000000000000000000000..458c43b11a7898c30593b3e40d9c8ef12caae5bb
--- /dev/null
+++ b/src/Azure/startvs.cmd
@@ -0,0 +1,3 @@
+@ECHO OFF
+
+%~dp0..\..\startvs.cmd %~dp0Azure.sln
diff --git a/src/DataProtection/build.cmd b/src/DataProtection/build.cmd
index f4169ea5e41154062f761c9b68e28a143e4c6a89..f22573197fe1ee90292af3be8972cfd26b7e2e98 100644
--- a/src/DataProtection/build.cmd
+++ b/src/DataProtection/build.cmd
@@ -1,3 +1,3 @@
 @ECHO OFF
-SET RepoRoot="%~dp0..\.."
-%RepoRoot%\build.cmd -LockFile %RepoRoot%\korebuild-lock.txt -Path %~dp0 %*
+SET RepoRoot=%~dp0..\..
+%RepoRoot%\build.cmd -LockFile %RepoRoot%\korebuild-lock.txt -projects %~dp0**\*.*proj %*
diff --git a/src/Razor/build.cmd b/src/Razor/build.cmd
new file mode 100644
index 0000000000000000000000000000000000000000..f22573197fe1ee90292af3be8972cfd26b7e2e98
--- /dev/null
+++ b/src/Razor/build.cmd
@@ -0,0 +1,3 @@
+@ECHO OFF
+SET RepoRoot=%~dp0..\..
+%RepoRoot%\build.cmd -LockFile %RepoRoot%\korebuild-lock.txt -projects %~dp0**\*.*proj %*