From 5a70f5312fb57fc3788e5af56a99e7b43761e195 Mon Sep 17 00:00:00 2001
From: Nate McMaster <natemcmaster@users.noreply.github.com>
Date: Wed, 16 Jan 2019 12:28:04 -0800
Subject: [PATCH] Convert Components projects to use ProjectRef (#6698)

This addresses #4246 for src/Components/. A few other changes were necessary because components had been using stale dependencies.
---
 .gitignore                                    |    1 +
 build/buildorder.props                        |    1 -
 build/repo.props                              |    9 +
 build/runtimes.props                          |    3 +
 build/submodules.props                        |    1 -
 eng/Dependencies.props                        |   67 +-
 eng/ProjectReferences.props                   |   10 +
 eng/Versions.props                            |   13 +-
 src/Components/.editorconfig                  |   55 -
 src/Components/.gitignore                     |   10 -
 ...nentParametersShouldNotBePublicAnalyzer.cs |    0
 ...ametersShouldNotBePublicCodeFixProvider.cs |    0
 ...oft.AspNetCore.Components.Analyzers.csproj |    9 +-
 .../src}/Resources.Designer.cs                |    0
 .../src}/Resources.resx                       |    0
 ...omponentParametersShouldNotBePublicTest.cs |    0
 .../test}/Helpers/CodeFixVerifier.Helper.cs   |    0
 .../test}/Helpers/DiagnosticResult.cs         |    0
 .../Helpers/DiagnosticVerifier.Helper.cs      |    0
 ...pNetCore.Components.Analyzers.Tests.csproj |   17 +
 .../test}/Verifiers/CodeFixVerifier.cs        |    0
 .../test}/Verifiers/DiagnosticVerifier.cs     |    0
 .../src}/Hosting/BlazorWebAssemblyHost.cs     |    0
 .../Blazor/src}/Hosting/IWebAssemblyHost.cs   |    0
 .../src}/Hosting/IWebAssemblyHostBuilder.cs   |    0
 .../IWebAssemblyServiceFactoryAdapter.cs      |    0
 .../WebAssemblyBlazorApplicationBuilder.cs    |    0
 .../Blazor/src}/Hosting/WebAssemblyHost.cs    |    0
 .../src}/Hosting/WebAssemblyHostBuilder.cs    |    0
 .../Hosting/WebAssemblyHostBuilderContext.cs  |    0
 .../WebAssemblyHostBuilderExtensions.cs       |    0
 .../src}/Hosting/WebAssemblyHostExtensions.cs |    0
 .../WebAssemblyServiceFactoryAdapter.cs       |    0
 .../src}/Http/FetchCredentialsOption.cs       |    0
 .../Http/WebAssemblyHttpMessageHandler.cs     |    0
 .../src/Microsoft.AspNetCore.Blazor.csproj    |   19 +
 .../Blazor/src/Properties/AssemblyInfo.cs     |    3 +
 .../src}/Rendering/WebAssemblyRenderer.cs     |    0
 .../src}/Services/WebAssemblyUriHelper.cs     |    0
 .../Hosting/ConventionBasedStartupTest.cs     |    0
 .../Hosting/WebAssemblyHostBuilderTest.cs     |    0
 .../test}/Hosting/WebAssemblyHostTest.cs      |    0
 .../Microsoft.AspNetCore.Blazor.Tests.csproj  |   11 +
 .../Blazor/test}/WebAssemblyUriHelperTest.cs  |    0
 .../src}/AboutDialogInfoAttribute.cs          |    0
 .../src}/AutoRebuild/AutoRebuildService.cs    |    0
 .../src}/AutoRebuild/BuildEventsWatcher.cs    |    0
 .../AutoRebuild/StreamProtocolExtensions.cs   |    0
 .../BlazorExtension/src}/BlazorPackage.cs     |    0
 .../BlazorExtension/src}/CodeSnippets.pkgdef  |    0
 .../src}/CodeSnippets/Blazor/para.snippet     |    0
 .../src}/Content/WebConfiguration.png         |  Bin
 ...rosoft.VisualStudio.BlazorExtension.csproj |   26 +-
 .../src}/Properties/AssemblyInfo.cs           |    0
 .../BlazorExtension/src}/Resources.resx       |    0
 .../src}/Resources/BlazorPackage.ico          |  Bin
 .../BlazorExtension/src}/Templates.pkgdef     |    0
 .../src}/source.extension.vsixmanifest        |    0
 ...isualStudio.LanguageServices.Blazor.csproj |    2 +
 .../src}/RazorTextViewListener.cs             |    0
 .../ResolveRuntimeDependenciesCommand.cs      |    0
 .../src}/Cli/Commands/WriteBootJsonCommand.cs |    0
 .../Build/src}/Cli/Program.cs                 |    0
 .../Build/src}/Core/BootJsonWriter.cs         |    0
 .../EmbeddedResources/EmbeddedResourceInfo.cs |    0
 .../EmbeddedResources/EmbeddedResourceKind.cs |    0
 .../EmbeddedResourcesProcessor.cs             |    0
 .../src}/Core/RuntimeDependenciesResolver.cs  |    0
 .../Microsoft.AspNetCore.Blazor.Build.csproj  |   17 +-
 .../Microsoft.AspNetCore.Blazor.Build.nuspec  |    2 +-
 .../Build/src/Properties/AssemblyInfo.cs      |    3 +
 .../Build/src}/ReferenceFromSource.props      |    8 +-
 .../Microsoft.AspNetCore.Blazor.Build.props   |    0
 .../Microsoft.AspNetCore.Blazor.Build.targets |    0
 .../Build/src}/targets/All.props              |    0
 .../Build/src}/targets/All.targets            |    0
 .../src}/targets/Blazor.MonoRuntime.props     |    0
 .../src}/targets/Blazor.MonoRuntime.targets   |    0
 .../targets/BuiltInBclLinkerDescriptor.xml    |    0
 .../Build/src}/targets/Publish.targets        |    0
 .../Build/src}/targets/Standalone.Web.config  |    0
 .../Build/test}/BindRazorIntegrationTest.cs   |    0
 .../Build/test}/BootJsonWriterTest.cs         |    0
 .../test}/ChildContentRazorIntegrationTest.cs |    0
 .../ComponentRenderingRazorIntegrationTest.cs |    0
 .../test}/DirectiveRazorIntegrationTest.cs    |    0
 .../GenericComponentRazorIntegrationTest.cs   |    0
 ...soft.AspNetCore.Blazor.Build.Tests.csproj} |   20 +-
 .../Build/test}/Razor/NotFoundProjectItem.cs  |    0
 .../Build/test}/Razor/TestFile.cs             |    0
 .../Build/test}/Razor/TestProject.cs          |    0
 .../test}/Razor/VirtualProjectFileSystem.cs   |    0
 .../Build/test}/Razor/VirtualProjectItem.cs   |    0
 .../Build/test}/RazorIntegrationTestBase.cs   |    0
 .../test}/RenderingRazorIntegrationTest.cs    |    0
 .../test}/RuntimeDependenciesResolverTest.cs  |   18 +
 .../Cli/src}/Commands/ServeCommand.cs         |    0
 .../Microsoft.AspNetCore.Blazor.Cli.csproj    |   17 +-
 .../Cli/src}/Program.cs                       |    0
 .../Cli/src}/Properties/AssemblyInfo.cs       |    2 +-
 .../Cli/src}/Server/Program.cs                |    0
 .../Cli/src}/Server/Startup.cs                |    0
 src/Components/Blazor/Directory.Build.props   |   10 +
 .../Microsoft.AspNetCore.Blazor.Server.csproj |   19 +
 ...lazorMonoDebugProxyAppBuilderExtensions.cs |    0
 .../src}/MonoDebugProxy/UpdateSources.cmd     |    0
 .../MonoDebugProxy/ws-proxy/DebugStore.cs     |    0
 .../src}/MonoDebugProxy/ws-proxy/MonoProxy.cs |    0
 .../src}/MonoDebugProxy/ws-proxy/WsProxy.cs   |    0
 .../Templates}/.gitignore                     |    0
 .../Templates/src/Directory.Build.props       |   14 +
 .../Templates/src}/Directory.Build.targets    |    0
 ...crosoft.AspNetCore.Blazor.Templates.csproj |    0
 ...crosoft.AspNetCore.Blazor.Templates.nuspec |    0
 .../src}/SetPackageProperties.targets         |    1 -
 .../.template.config.src/dotnetcli.host.json  |    0
 .../.template.config.src/icon.png             |  Bin
 .../.template.config.src/template.json        |    9 +-
 .../.template.config.src/vs-2017.3.host.json  |    0
 .../BlazorHosted-CSharp.Client/App.cshtml     |    0
 .../BlazorHosted-CSharp.Client.csproj         |    0
 .../Pages/Counter.cshtml                      |    0
 .../Pages/FetchData.cshtml                    |    0
 .../Pages/Index.cshtml                        |    0
 .../Pages/_ViewImports.cshtml                 |    0
 .../BlazorHosted-CSharp.Client/Program.cs     |    0
 .../Shared/MainLayout.cshtml                  |    0
 .../Shared/NavMenu.cshtml                     |    0
 .../Shared/SurveyPrompt.cshtml                |    0
 .../BlazorHosted-CSharp.Client/Startup.cs     |    0
 .../_ViewImports.cshtml                       |    0
 .../wwwroot/css/bootstrap/bootstrap.min.css   |    0
 .../css/bootstrap/bootstrap.min.css.map       |    0
 .../wwwroot/css/open-iconic/FONT-LICENSE      |    0
 .../wwwroot/css/open-iconic/ICON-LICENSE      |    0
 .../wwwroot/css/open-iconic/README.md         |    0
 .../font/css/open-iconic-bootstrap.min.css    |    0
 .../open-iconic/font/fonts/open-iconic.eot    |  Bin
 .../open-iconic/font/fonts/open-iconic.otf    |  Bin
 .../open-iconic/font/fonts/open-iconic.svg    |    0
 .../open-iconic/font/fonts/open-iconic.ttf    |  Bin
 .../open-iconic/font/fonts/open-iconic.woff   |  Bin
 .../wwwroot/css/site.css                      |    0
 .../wwwroot/index.html                        |    0
 .../BlazorHosted-CSharp.Server.csproj         |    0
 .../Controllers/SampleDataController.cs       |    0
 .../BlazorHosted-CSharp.Server/Program.cs     |    0
 .../BlazorHosted-CSharp.Server/Startup.cs     |    0
 .../BlazorHosted-CSharp.Shared.csproj         |    0
 .../WeatherForecast.cs                        |    0
 .../BlazorHosted-CSharp.sln                   |    0
 .../.template.config.src/dotnetcli.host.json  |    0
 .../.template.config.src/icon.png             |  Bin
 .../.template.config.src/template.json        |    0
 .../BlazorLibrary-CSharp.csproj               |    0
 .../BlazorLibrary-CSharp/Component1.cshtml    |    0
 .../BlazorLibrary-CSharp/ExampleJsInterop.cs  |    0
 .../content/background.png                    |  Bin
 .../content/exampleJsInterop.js               |    0
 .../BlazorLibrary-CSharp/content/styles.css   |    0
 .../.template.config.src/dotnetcli.host.json  |    0
 .../.template.config.src/icon.png             |  Bin
 .../.template.config.src/template.json        |    0
 .../.template.config.src/vs-2017.3.host.json  |    0
 .../BlazorStandalone-CSharp/App.cshtml        |    0
 .../BlazorStandalone-CSharp.csproj            |    0
 .../Pages/Counter.cshtml                      |    0
 .../Pages/FetchData.cshtml                    |    0
 .../Pages/Index.cshtml                        |    0
 .../Pages/_ViewImports.cshtml                 |    0
 .../BlazorStandalone-CSharp/Program.cs        |    0
 .../Shared/MainLayout.cshtml                  |    0
 .../Shared/NavMenu.cshtml                     |    0
 .../Shared/SurveyPrompt.cshtml                |    0
 .../BlazorStandalone-CSharp/Startup.cs        |    0
 .../_ViewImports.cshtml                       |    0
 .../wwwroot/css/bootstrap/bootstrap.min.css   |    0
 .../css/bootstrap/bootstrap.min.css.map       |    0
 .../wwwroot/css/open-iconic/FONT-LICENSE      |    0
 .../wwwroot/css/open-iconic/ICON-LICENSE      |    0
 .../wwwroot/css/open-iconic/README.md         |    0
 .../font/css/open-iconic-bootstrap.min.css    |    0
 .../open-iconic/font/fonts/open-iconic.eot    |  Bin
 .../open-iconic/font/fonts/open-iconic.otf    |  Bin
 .../open-iconic/font/fonts/open-iconic.svg    |    0
 .../open-iconic/font/fonts/open-iconic.ttf    |  Bin
 .../open-iconic/font/fonts/open-iconic.woff   |  Bin
 .../wwwroot/css/site.css                      |    0
 .../wwwroot/index.html                        |    0
 .../wwwroot/sample-data/weather.json          |    0
 .../src}/content/Directory.Build.props        |    0
 .../src}/content/Directory.Build.targets      |    0
 .../HostedInAspNet.Client/Home.cshtml         |    0
 .../HostedInAspNet.Client.csproj              |   14 +
 .../HostedInAspNet.Client/Program.cs          |    0
 .../HostedInAspNet.Client/Startup.cs          |    0
 .../wwwroot/customJsFileForTests.js           |    0
 .../HostedInAspNet.Client/wwwroot/index.html  |    0
 .../HostedInAspNet.Server.csproj              |   20 +
 .../HostedInAspNet.Server/Program.cs          |    0
 .../HostedInAspNet.Server/Startup.cs          |    0
 .../Views/_ViewImports.cshtml                 |    0
 .../App.cshtml                                |    0
 .../BenchmarkEvent.cs                         |    0
 ...ft.AspNetCore.Blazor.E2EPerformance.csproj |   12 +
 .../Pages/Index.cshtml                        |    0
 .../Pages/Json.cshtml                         |    0
 .../Pages/RenderList.cshtml                   |    0
 .../Pages/_ViewImports.cshtml                 |    0
 .../Program.cs                                |    0
 .../Shared/MainLayout.cshtml                  |    0
 .../Startup.cs                                |    0
 .../_ViewImports.cshtml                       |    0
 .../wwwroot/benchmarks/appStartup.js          |    0
 .../wwwroot/benchmarks/index.js               |    0
 .../wwwroot/benchmarks/jsonHandling.js        |    0
 .../wwwroot/benchmarks/jsonHandlingData.js    |    0
 .../wwwroot/benchmarks/lib/bootstrap.min.css  |    0
 .../benchmarks/lib/minibench/README.md        |    0
 .../benchmarks/lib/minibench/minibench.js     |    0
 .../benchmarks/lib/minibench/style.css        |    0
 .../wwwroot/benchmarks/renderList.js          |    0
 .../benchmarks/util/BenchmarkEvents.js        |    0
 .../wwwroot/benchmarks/util/BlazorApp.js      |    0
 .../wwwroot/benchmarks/util/DOM.js            |    0
 .../wwwroot/blazor-frame.html                 |    0
 .../wwwroot/index.html                        |    0
 .../testassets}/MonoSanity/MonoSanity.csproj  |    6 +-
 .../testassets}/MonoSanity/Program.cs         |    0
 .../testassets}/MonoSanity/Startup.cs         |    0
 .../testassets}/MonoSanity/wwwroot/index.html |    0
 .../testassets}/MonoSanity/wwwroot/loader.js  |    0
 .../testassets}/MonoSanityClient/Examples.cs  |    0
 .../MonoSanityClient/InternalCalls.cs         |    0
 .../MonoSanityClient/MonoSanityClient.csproj  |   17 +
 .../testassets}/MonoSanityClient/Program.cs   |    0
 .../testassets}/StandaloneApp/App.cshtml      |    0
 .../StandaloneApp}/Pages/Counter.cshtml       |    0
 .../StandaloneApp/Pages/FetchData.cshtml      |    0
 .../StandaloneApp/Pages/Index.cshtml          |    0
 .../StandaloneApp/Pages/_ViewImports.cshtml   |    0
 .../testassets}/StandaloneApp/Program.cs      |    0
 .../StandaloneApp}/Shared/MainLayout.cshtml   |    0
 .../StandaloneApp/Shared/NavMenu.cshtml       |    0
 .../StandaloneApp/StandaloneApp.csproj        |   12 +
 .../testassets}/StandaloneApp/Startup.cs      |    0
 .../StandaloneApp/_ViewImports.cshtml         |    0
 .../wwwroot/css/bootstrap/bootstrap.min.css   |    0
 .../css/bootstrap/bootstrap.min.css.map       |    0
 .../wwwroot/css/open-iconic/FONT-LICENSE      |    0
 .../wwwroot/css/open-iconic/ICON-LICENSE      |    0
 .../wwwroot/css/open-iconic/README.md         |    0
 .../font/css/open-iconic-bootstrap.min.css    |    0
 .../open-iconic/font/fonts/open-iconic.eot    |  Bin
 .../open-iconic/font/fonts/open-iconic.otf    |  Bin
 .../open-iconic/font/fonts/open-iconic.svg    |    0
 .../open-iconic/font/fonts/open-iconic.ttf    |  Bin
 .../open-iconic/font/fonts/open-iconic.woff   |  Bin
 .../StandaloneApp}/wwwroot/css/site.css       |    0
 .../StandaloneApp/wwwroot/index.html          |    0
 .../wwwroot/sample-data/weather.json          |    0
 .../.gitignore                                |    0
 .../src/Boot.Server.ts                        |    0
 .../src/Boot.WebAssembly.ts                   |    0
 .../src/BootCommon.ts                         |    0
 .../src/Environment.ts                        |    0
 .../src/GlobalExports.ts                      |    0
 ...ft.AspNetCore.Components.Browser.JS.csproj |    2 +-
 .../src/Platform/Mono/MonoDebugger.ts         |    0
 .../src/Platform/Mono/MonoPlatform.ts         |    0
 .../src/Platform/Mono/MonoTypes.d.ts          |    0
 .../src/Platform/Platform.ts                  |    0
 .../src/Platform/Url.ts                       |    0
 .../src/Rendering/BrowserRenderer.ts          |    0
 .../src/Rendering/ElementReferenceCapture.ts  |    0
 .../src/Rendering/EventDelegator.ts           |    0
 .../src/Rendering/EventForDotNet.ts           |    0
 .../src/Rendering/LogicalElements.ts          |    0
 .../RenderBatch/OutOfProcessRenderBatch.ts    |    0
 .../src/Rendering/RenderBatch/RenderBatch.ts  |    0
 .../RenderBatch/SharedMemoryRenderBatch.ts    |    0
 .../src/Rendering/RenderBatch/Utf8Decoder.ts  |    0
 .../src/Rendering/Renderer.ts                 |    0
 .../src/Services/Http.ts                      |    0
 .../src/Services/UriHelper.ts                 |    0
 .../src}/package-lock.json                    |    0
 .../src}/package.json                         |    0
 .../src}/tsconfig.json                        |    0
 .../src}/webpack.config.js                    |    4 +-
 .../src}/BrowserUriHelperInterop.cs           |    0
 ...osoft.AspNetCore.Components.Browser.csproj |   14 +
 .../src}/Properties/AssemblyInfo.cs           |    2 +-
 .../src}/RendererRegistry.cs                  |    0
 .../src}/RendererRegistryEventDispatcher.cs   |    0
 ...crosoft.AspNetCore.Components.Build.csproj |    0
 ...crosoft.AspNetCore.Components.Build.nuspec |    0
 .../src}/ReferenceFromSource.props            |    0
 ...icrosoft.AspNetCore.Components.Build.props |    0
 ...rosoft.AspNetCore.Components.Build.targets |    0
 .../src}/targets/All.props                    |    0
 .../src}/targets/All.targets                  |    0
 .../src}/targets/RazorCompilation.targets     |    0
 src/Components/Components.sln                 | 1740 +++++++++++++----
 .../perf}/AssemblyInfo.cs                     |    0
 ...t.AspNetCore.Components.Performance.csproj |   16 +
 .../perf}/Program.cs                          |    0
 .../perf}/RenderTreeDiffBuilderBenchmark.cs   |    0
 .../perf}/readme.md                           |    0
 .../src}/BindAttributes.cs                    |    0
 .../src}/BindElementAttribute.cs              |    0
 .../src}/BindInputElementAttribute.cs         |    0
 .../src}/BindMethods.cs                       |    0
 .../BlazorApplicationBuilderExtensions.cs     |    0
 .../src}/Builder/IBlazorApplicationBuilder.cs |    0
 .../src}/CascadingParameterAttribute.cs       |    0
 .../src}/CascadingParameterState.cs           |    0
 .../src}/CascadingValue.cs                    |    0
 .../src}/ChangeDetection.cs                   |    0
 .../src}/ComponentBase.cs                     |    0
 .../src}/ComponentFactory.cs                  |    0
 .../src}/ComponentResolver.cs                 |    0
 .../src}/ElementRef.cs                        |    0
 .../src}/EventHandlerAttribute.cs             |    0
 .../src}/EventHandlerInvoker.cs               |    0
 .../src}/EventHandlers.cs                     |    0
 .../src}/HttpClientJsonExtensions.cs          |    0
 .../src}/ICascadingValueComponent.cs          |    0
 .../src}/IComponent.cs                        |    0
 .../src}/IHandleAfterRender.cs                |    0
 .../src}/IHandleEvent.cs                      |    0
 .../src}/InjectAttribute.cs                   |    0
 .../src}/Json/JsonUtil.cs                     |    0
 .../src}/Layouts/LayoutAttribute.cs           |    0
 .../src}/Layouts/LayoutComponentBase.cs       |    0
 .../src}/Layouts/LayoutDisplay.cs             |    0
 .../src}/MarkupString.cs                      |    0
 .../Microsoft.AspNetCore.Components.csproj    |    2 +-
 .../src}/Parameter.cs                         |    0
 .../src}/ParameterAttribute.cs                |    0
 .../src}/ParameterCollection.cs               |    0
 .../src}/ParameterCollectionExtensions.cs     |    0
 .../src}/ParameterEnumerator.cs               |    0
 .../src}/PlatformInfo.cs                      |    0
 .../Components/src/Properties/AssemblyInfo.cs |    7 +
 .../src}/Reflection/IPropertySetter.cs        |    0
 .../src}/Reflection/MemberAssignment.cs       |    0
 .../src}/RenderFragment.cs                    |    0
 .../src}/RenderHandle.cs                      |    0
 .../src}/RenderTree/ArrayBuilder.cs           |    0
 .../src}/RenderTree/ArrayRange.cs             |    0
 .../src}/RenderTree/RenderTreeBuilder.cs      |    0
 .../src}/RenderTree/RenderTreeDiff.cs         |    0
 .../src}/RenderTree/RenderTreeDiffBuilder.cs  |    0
 .../src}/RenderTree/RenderTreeEdit.cs         |    0
 .../src}/RenderTree/RenderTreeEditType.cs     |    0
 .../src}/RenderTree/RenderTreeFrame.cs        |    0
 .../src}/RenderTree/RenderTreeFrameType.cs    |    0
 .../src}/Rendering/ComponentState.cs          |    0
 .../src}/Rendering/HtmlRenderer.cs            |    0
 .../src}/Rendering/RenderBatch.cs             |    0
 .../src}/Rendering/RenderBatchBuilder.cs      |    0
 .../src}/Rendering/RenderQueueEntry.cs        |    0
 .../src}/Rendering/Renderer.cs                |    0
 .../src}/RouteAttribute.cs                    |    0
 .../src}/Routing/NavLink.cs                   |    0
 .../src}/Routing/NavLinkMatch.cs              |    0
 .../src}/Routing/RouteConstraint.cs           |    0
 .../src}/Routing/RouteContext.cs              |    0
 .../src}/Routing/RouteEntry.cs                |    0
 .../src}/Routing/RouteTable.cs                |    0
 .../src}/Routing/RouteTemplate.cs             |    0
 .../src}/Routing/Router.cs                    |    0
 .../src}/Routing/TemplateParser.cs            |    0
 .../src}/Routing/TemplateSegment.cs           |    0
 .../src}/Routing/TypeRouteConstraint.cs       |    0
 .../src}/RuntimeHelpers.cs                    |    0
 .../src}/Services/IUriHelper.cs               |    0
 .../src}/Services/UriHelperBase.cs            |    0
 .../src}/UIEventArgs.cs                       |    0
 .../UIEventArgsRenderTreeBuilderExtensions.cs |    0
 .../test}/CascadingParameterStateTest.cs      |    0
 .../test}/CascadingParameterTest.cs           |    0
 .../test}/ComponentBaseTest.cs                |    0
 .../test}/DependencyInjectionTest.cs          |    0
 .../test}/HttpClientJsonExtensionsTest.cs     |    0
 .../test}/LayoutTest.cs                       |    0
 ...crosoft.AspNetCore.Components.Tests.csproj |   17 +
 ...meterCollectionAssignmentExtensionsTest.cs |    0
 .../test}/ParameterCollectionTest.cs          |    0
 .../test}/RenderTreeBuilderTest.cs            |    0
 .../test}/RenderTreeDiffBuilderTest.cs        |    0
 .../test}/RendererTest.cs                     |    0
 .../test}/Rendering/HtmlRendererTests.cs      |    0
 .../test}/Routing/RouteTableTests.cs          |    0
 .../test}/Routing/TemplateParserTests.cs      |    0
 src/Components/Directory.Build.props          |   30 +-
 src/Components/Directory.Build.targets        |   18 +-
 src/Components/LICENSE.txt                    |   14 -
 src/Components/README.md                      |   71 +-
 .../src}/AutoRebuild/AutoRebuildExtensions.cs |    0
 .../src}/AutoRebuild/IRebuildService.cs       |    0
 .../src}/AutoRebuild/ProcessUtils.cs          |    0
 .../AutoRebuild/StreamProtocolExtensions.cs   |    0
 .../AutoRebuild/VSForWindowsRebuildService.cs |    0
 .../src}/BlazorConfig.cs                      |    0
 .../src}/BlazorHub.cs                         |    0
 .../src}/BlazorOptions.cs                     |    0
 .../BlazorApplicationBuilderExtensions.cs     |    0
 ...rComponentsApplicationBuilderExtensions.cs |    0
 .../src}/Builder/RazorComponentsOptions.cs    |    0
 .../ServerSideBlazorApplicationBuilder.cs     |    0
 .../AutoCancelTaskCompletionSource.cs         |    0
 .../src}/Circuits/Circuit.cs                  |    0
 .../src}/Circuits/CircuitFactory.cs           |    0
 .../src}/Circuits/CircuitHost.cs              |    0
 .../Circuits/CircuitSynchronizationContext.cs |    0
 .../src}/Circuits/DefaultCircuitAccessor.cs   |    0
 .../src}/Circuits/DefaultCircuitFactory.cs    |    0
 .../Circuits/DefaultCircuitFactoryOptions.cs  |    0
 .../src}/Circuits/DefaultJSRuntimeAccessor.cs |    0
 .../src}/Circuits/ICircuitAccessor.cs         |    0
 .../src}/Circuits/IJSRuntimeAccessor.cs       |    0
 .../src}/Circuits/MessagePackBufferStream.cs  |    0
 .../src}/Circuits/RemoteJSRuntime.cs          |    0
 .../src}/Circuits/RemoteRenderer.cs           |    0
 .../src}/Circuits/RemoteRendererException.cs  |    0
 .../src}/Circuits/RemoteUriHelper.cs          |    0
 .../Circuits/RenderBatchFormatterResolver.cs  |    0
 .../src}/Circuits/RenderBatchWriter.cs        |    0
 ...orComponentsServiceCollectionExtensions.cs |    0
 ...rosoft.AspNetCore.Components.Server.csproj |   30 +
 .../src}/Properties/AssemblyInfo.cs           |    2 +-
 .../src}/WasmMediaTypeNames.cs                |    0
 .../test}/Circuits/CircuitHostTest.cs         |    0
 .../CircuitSynchronizationContextTest.cs      |    0
 .../Circuits/MessagePackBufferStreamTest.cs   |    0
 .../test}/Circuits/RenderBatchWriterTest.cs   |    0
 ....AspNetCore.Components.Server.Tests.csproj |   11 +
 .../shared => Shared/src}/ComponentsApi.cs    |    0
 .../src}/ConventionBasedStartup.cs            |    0
 .../shared => Shared/src}/IBlazorStartup.cs   |    0
 .../shared => Shared/test}/AssertFrame.cs     |    0
 .../test}/AutoRenderComponent.cs              |    0
 .../shared => Shared/test}/CapturedBatch.cs   |    0
 .../test}/IComponentExtensions.cs             |    0
 .../shared => Shared/test}/TestRenderer.cs    |    0
 .../test}/TestServiceProvider.cs              |    0
 ...t.AspNetCore.Components.Performance.csproj |   19 -
 src/Components/blazor/Directory.Build.props   |    4 -
 .../Directory.Build.props                     |    7 -
 ...ft.AspNetCore.Blazor.E2EPerformance.csproj |   18 -
 .../blazor/samples/Directory.Build.props      |    7 -
 .../HostedInAspNet.Client.csproj              |   19 -
 .../HostedInAspNet.Server.csproj              |   32 -
 .../MonoSanityClient/MonoSanityClient.csproj  |   20 -
 .../StandaloneApp/StandaloneApp.csproj        |   18 -
 .../blazor/src/Directory.Build.props          |   12 -
 .../Properties/AssemblyInfo.cs                |    3 -
 .../Microsoft.AspNetCore.Blazor.Server.csproj |   19 -
 .../Directory.Build.props                     |    8 -
 .../Microsoft.AspNetCore.Blazor.csproj        |   22 -
 .../Properties/AssemblyInfo.cs                |    3 -
 .../Microsoft.AspNetCore.Blazor.Test.csproj   |   26 -
 src/Components/blazor/version.props           |   19 -
 src/Components/build.cmd                      |    4 +-
 src/Components/build.sh                       |    2 +-
 src/Components/build/Key.snk                  |  Bin 596 -> 0 bytes
 src/Components/build/VSIX.targets             |   80 -
 src/Components/build/arcade.props             |   36 -
 src/Components/build/dependencies.props       |   27 -
 src/Components/build/repo.props               |   44 -
 src/Components/build/repo.targets             |    9 -
 src/Components/build/sources.props            |   17 -
 .../ComponentsApp.App.csproj                  |   21 -
 .../ComponentsApp.Server.csproj               |   20 -
 src/Components/samples/Directory.Build.props  |    7 -
 src/Components/src/Directory.Build.props      |   12 -
 ...osoft.AspNetCore.Components.Browser.csproj |   17 -
 ...rosoft.AspNetCore.Components.Server.csproj |   33 -
 .../Properties/AssemblyInfo.cs                |    7 -
 src/Components/startvs.cmd                    |    3 +
 .../Infrastructure/BasicTestAppTestBase.cs    |    0
 .../Infrastructure/BrowserFixture.cs          |    0
 .../Infrastructure/BrowserTestBase.cs         |    0
 .../CaptureSeleniumLogsAttribute.cs           |    0
 .../SeleniumStandaloneServer.cs               |    0
 .../ServerFixtures/AspNetEnvironment.cs       |    0
 .../ServerFixtures/AspNetSiteServerFixture.cs |    0
 .../ServerFixtures/DevHostServerFixture.cs    |    0
 .../ServerFixtures/ServerFixture.cs           |   27 +-
 .../ServerFixtures/StaticSiteServerFixture.cs |    0
 .../ToggleExecutionModeServerFixture.cs       |    0
 .../ServerFixtures/WebHostServerFixture.cs    |    0
 .../Infrastructure/ServerTestBase.cs          |    0
 .../Infrastructure/WaitAssert.cs              |    0
 ...soft.AspNetCore.Components.E2ETests.csproj |   46 +
 .../ServerComponentRenderingTest.cs           |    0
 .../ServerExecutionTestExtensions.cs          |    0
 .../ServerExecutionTests/ServerSideAppTest.cs |    0
 .../ServerExecutionTests/TestSubclasses.cs    |    0
 .../Tests/BinaryHttpClientTest.cs             |    0
 .../Tests/BindTest.cs                         |    0
 .../Tests/CascadingValueTest.cs               |    0
 .../Tests/ComponentRenderingTest.cs           |    0
 .../Tests/EventBubblingTest.cs                |    0
 .../Tests/EventTest.cs                        |    0
 .../Tests/HostedInAspNetTest.cs               |    0
 .../Tests/HttpClientTest.cs                   |    0
 .../Tests/InteropTest.cs                      |    0
 .../Tests/MonoSanityTest.cs                   |    0
 .../Tests/PerformanceTest.cs                  |    0
 .../Tests/RoutingTest.cs                      |    0
 .../Tests/StandaloneAppTest.cs                |    0
 .../package-lock.json                         |    0
 .../package.json                              |    0
 ...spNetCore.Components.Analyzers.Test.csproj |   20 -
 ...osoft.AspNetCore.Components.E2ETest.csproj |   45 -
 ...t.AspNetCore.Components.Server.Test.csproj |   19 -
 ...icrosoft.AspNetCore.Components.Test.csproj |   28 -
 .../testapps/BasicTestApp/BasicTestApp.csproj |   21 -
 .../Properties/launchSettings.json            |   29 -
 .../test/testapps/Directory.Build.props       |    7 -
 .../testapps/TestServer/TestServer.csproj     |   22 -
 .../AddRemoveChildComponents.cshtml           |    0
 .../AfterRenderInteropComponent.cshtml        |    0
 .../AsyncEventHandlerComponent.cshtml         |    0
 .../BasicTestApp/BasicTestApp.csproj          |   20 +
 .../BasicTestApp/BindCasesComponent.cshtml    |    0
 .../CascadingValueIntermediary.cshtml         |    0
 .../CascadingValueReceiveByName.cshtml        |    0
 .../CascadingValueReceiveByType.cshtml        |    0
 ...scadingValueReceiveFixedByInterface.cshtml |    0
 .../CascadingValueSupplier.cshtml             |    0
 .../CascadingValueTest/CascadingValueTypes.cs |    0
 .../BasicTestApp/ComponentRefComponent.cshtml |    0
 .../BasicTestApp/ConcurrentRenderChild.cshtml |    0
 .../ConcurrentRenderParent.cshtml             |    0
 .../BasicTestApp/CounterComponent.cshtml      |    0
 .../CounterComponentUsingChild.cshtml         |    0
 .../CounterComponentWrapper.cshtml            |    0
 .../BasicTestApp/DataDashComponent.cshtml     |    0
 .../BasicTestApp/DispatchingComponent.cshtml  |    0
 .../BasicTestApp/ElementRefComponent.cshtml   |    0
 .../EventBubblingComponent.cshtml             |    0
 .../EventPreventDefaultComponent.cshtml       |    0
 .../ExternalContentPackage.cshtml             |    0
 .../BasicTestApp/FocusEventComponent.cshtml   |    0
 .../Subdir/ComponentUsingImports.cshtml       |    0
 .../Subdir/_ViewImports.cshtml                |    0
 .../_ViewImports.cshtml                       |    0
 .../BasicTestApp/HtmlBlockChildContent.cshtml |    0
 .../HtmlEncodedChildContent.cshtml            |    0
 .../BasicTestApp/HtmlMixedChildContent.cshtml |    0
 .../BinaryHttpRequestsComponent.cshtml        |    0
 .../CookieCounterComponent.cshtml             |    0
 .../HttpRequestsComponent.cshtml              |    0
 .../BasicTestApp/Index.cshtml                 |    0
 .../BasicTestApp/InputEventComponent.cshtml   |    0
 .../BasicTestApp/InteropComponent.cshtml      |    0
 .../InteropTest/ComplexParameter.cs           |    0
 .../InteropTest/JavaScriptInterop.cs          |    0
 .../BasicTestApp/InteropTest/Segment.cs       |    0
 .../BasicTestApp/InteropTest/TestDTO.cs       |    0
 .../KeyPressEventComponent.cshtml             |    0
 .../LogicalElementInsertionCases.cshtml       |    0
 .../BasicTestApp/MarkupBlockComponent.cshtml  |    0
 .../BasicTestApp/MessageComponent.cshtml      |    0
 .../BasicTestApp/MouseEventComponent.cshtml   |    0
 .../BasicTestApp/MultipleChildContent.cshtml  |    0
 .../BasicTestApp/OrderedList.cshtml           |    0
 .../BasicTestApp/ParentChildComponent.cshtml  |    0
 .../PassThroughContentComponent.cshtml        |    0
 .../BasicTestApp/Program.cs                   |    0
 .../PropertiesChangedHandlerChild.cshtml      |    0
 .../PropertiesChangedHandlerParent.cshtml     |    0
 .../BasicTestApp/RazorTemplates.cshtml        |    0
 .../BasicTestApp/RedTextComponent.cshtml      |    0
 .../BasicTestApp/RenderFragmentToggler.cshtml |    0
 .../BasicTestApp/RouterTest/Default.cshtml    |    0
 .../BasicTestApp/RouterTest/Error404.cshtml   |    0
 .../BasicTestApp/RouterTest/Links.cshtml      |    0
 .../BasicTestApp/RouterTest/Other.cshtml      |    0
 .../BasicTestApp/RouterTest/TestRouter.cshtml |    0
 .../RouterTest/WithNumberParameters.cshtml    |    0
 .../RouterTest/WithParameters.cshtml          |    0
 .../BasicTestApp/Startup.cs                   |    0
 .../BasicTestApp/SvgCircleComponent.cshtml    |    0
 .../BasicTestApp/SvgComponent.cshtml          |    0
 .../BasicTestApp/SvgWithChildComponent.cshtml |    0
 .../BasicTestApp/TemplatedTable.cshtml        |    0
 .../BasicTestApp/TextOnlyComponent.cshtml     |    0
 .../BasicTestApp/TouchEventComponent.cshtml   |    0
 .../BasicTestApp/wwwroot/index.html           |    0
 .../BasicTestApp/wwwroot/js/jsinteroptests.js |    0
 .../testassets}/ComponentsApp.App/App.cshtml  |    0
 .../ComponentsApp.App.csproj                  |   15 +
 .../ComponentsApp.App/Pages/Counter.cshtml    |    0
 .../ComponentsApp.App/Pages/FetchData.cshtml  |    0
 .../ComponentsApp.App/Pages/Index.cshtml      |    0
 .../Pages/_ViewImports.cshtml                 |    0
 .../Shared/MainLayout.cshtml                  |    0
 .../ComponentsApp.App/Shared/NavMenu.cshtml   |    0
 .../testassets}/ComponentsApp.App/Startup.cs  |    0
 .../ComponentsApp.App/WeatherForecast.cs      |    0
 .../WeatherForecastService.cs                 |    0
 .../ComponentsApp.App/_ViewImports.cshtml     |    0
 .../ComponentsApp.Server.csproj               |   17 +
 .../DefaultWeatherForecastService.cs          |    0
 .../ComponentsApp.Server/Program.cs           |    0
 .../ComponentsApp.Server/Startup.cs           |    0
 .../sample-data/weather.json                  |    0
 .../wwwroot/css/bootstrap/bootstrap.min.css   |    0
 .../css/bootstrap/bootstrap.min.css.map       |    0
 .../wwwroot/css/open-iconic/FONT-LICENSE      |    0
 .../wwwroot/css/open-iconic/ICON-LICENSE      |    0
 .../wwwroot/css/open-iconic/README.md         |    0
 .../font/css/open-iconic-bootstrap.min.css    |    0
 .../open-iconic/font/fonts/open-iconic.eot    |  Bin
 .../open-iconic/font/fonts/open-iconic.otf    |  Bin
 .../open-iconic/font/fonts/open-iconic.svg    |    0
 .../open-iconic/font/fonts/open-iconic.ttf    |  Bin
 .../open-iconic/font/fonts/open-iconic.woff   |  Bin
 .../ComponentsApp.Server/wwwroot/css/site.css |    0
 .../ComponentsApp.Server/wwwroot/index.html   |    0
 .../ComponentFromPackage.cshtml               |    0
 .../TestContentPackage/MyPrompt.cs            |    0
 .../TestContentPackage.csproj                 |   10 +-
 .../TestContentPackage/content/face.png       |  Bin
 .../TestContentPackage/content/prompt.js      |    0
 .../TestContentPackage/content/styles.css     |    0
 .../Controllers/CookieController.cs           |    0
 .../TestServer/Controllers/DataController.cs  |    0
 .../Controllers/GreetingController.cs         |    0
 .../Controllers/PersonController.cs           |    0
 .../TestServer/Program.cs                     |    0
 .../TestServer/Startup.cs                     |    2 +-
 .../testassets/TestServer/TestServer.csproj   |   20 +
 .../TestServer/appsettings.Development.json   |    0
 .../TestServer/appsettings.json               |    0
 version.props                                 |    1 +
 640 files changed, 1971 insertions(+), 1431 deletions(-)
 delete mode 100644 src/Components/.editorconfig
 delete mode 100644 src/Components/.gitignore
 rename src/Components/{src/Microsoft.AspNetCore.Components.Analyzers => Analyzers/src}/ComponentParametersShouldNotBePublicAnalyzer.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Analyzers => Analyzers/src}/ComponentParametersShouldNotBePublicCodeFixProvider.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Analyzers => Analyzers/src}/Microsoft.AspNetCore.Components.Analyzers.csproj (73%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Analyzers => Analyzers/src}/Resources.Designer.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Analyzers => Analyzers/src}/Resources.resx (100%)
 rename src/Components/{test/Microsoft.AspNetCore.Components.Analyzers.Test => Analyzers/test}/ComponentParametersShouldNotBePublicTest.cs (100%)
 rename src/Components/{test/Microsoft.AspNetCore.Components.Analyzers.Test => Analyzers/test}/Helpers/CodeFixVerifier.Helper.cs (100%)
 rename src/Components/{test/Microsoft.AspNetCore.Components.Analyzers.Test => Analyzers/test}/Helpers/DiagnosticResult.cs (100%)
 rename src/Components/{test/Microsoft.AspNetCore.Components.Analyzers.Test => Analyzers/test}/Helpers/DiagnosticVerifier.Helper.cs (100%)
 create mode 100644 src/Components/Analyzers/test/Microsoft.AspNetCore.Components.Analyzers.Tests.csproj
 rename src/Components/{test/Microsoft.AspNetCore.Components.Analyzers.Test => Analyzers/test}/Verifiers/CodeFixVerifier.cs (100%)
 rename src/Components/{test/Microsoft.AspNetCore.Components.Analyzers.Test => Analyzers/test}/Verifiers/DiagnosticVerifier.cs (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor => Blazor/Blazor/src}/Hosting/BlazorWebAssemblyHost.cs (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor => Blazor/Blazor/src}/Hosting/IWebAssemblyHost.cs (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor => Blazor/Blazor/src}/Hosting/IWebAssemblyHostBuilder.cs (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor => Blazor/Blazor/src}/Hosting/IWebAssemblyServiceFactoryAdapter.cs (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor => Blazor/Blazor/src}/Hosting/WebAssemblyBlazorApplicationBuilder.cs (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor => Blazor/Blazor/src}/Hosting/WebAssemblyHost.cs (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor => Blazor/Blazor/src}/Hosting/WebAssemblyHostBuilder.cs (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor => Blazor/Blazor/src}/Hosting/WebAssemblyHostBuilderContext.cs (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor => Blazor/Blazor/src}/Hosting/WebAssemblyHostBuilderExtensions.cs (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor => Blazor/Blazor/src}/Hosting/WebAssemblyHostExtensions.cs (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor => Blazor/Blazor/src}/Hosting/WebAssemblyServiceFactoryAdapter.cs (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor => Blazor/Blazor/src}/Http/FetchCredentialsOption.cs (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor => Blazor/Blazor/src}/Http/WebAssemblyHttpMessageHandler.cs (100%)
 create mode 100644 src/Components/Blazor/Blazor/src/Microsoft.AspNetCore.Blazor.csproj
 create mode 100644 src/Components/Blazor/Blazor/src/Properties/AssemblyInfo.cs
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor => Blazor/Blazor/src}/Rendering/WebAssemblyRenderer.cs (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor => Blazor/Blazor/src}/Services/WebAssemblyUriHelper.cs (100%)
 rename src/Components/{blazor/test/Microsoft.AspNetCore.Blazor.Test => Blazor/Blazor/test}/Hosting/ConventionBasedStartupTest.cs (100%)
 rename src/Components/{blazor/test/Microsoft.AspNetCore.Blazor.Test => Blazor/Blazor/test}/Hosting/WebAssemblyHostBuilderTest.cs (100%)
 rename src/Components/{blazor/test/Microsoft.AspNetCore.Blazor.Test => Blazor/Blazor/test}/Hosting/WebAssemblyHostTest.cs (100%)
 create mode 100644 src/Components/Blazor/Blazor/test/Microsoft.AspNetCore.Blazor.Tests.csproj
 rename src/Components/{blazor/test/Microsoft.AspNetCore.Blazor.Test => Blazor/Blazor/test}/WebAssemblyUriHelperTest.cs (100%)
 rename src/Components/{blazor/tooling/Microsoft.VisualStudio.BlazorExtension => Blazor/BlazorExtension/src}/AboutDialogInfoAttribute.cs (100%)
 rename src/Components/{blazor/tooling/Microsoft.VisualStudio.BlazorExtension => Blazor/BlazorExtension/src}/AutoRebuild/AutoRebuildService.cs (100%)
 rename src/Components/{blazor/tooling/Microsoft.VisualStudio.BlazorExtension => Blazor/BlazorExtension/src}/AutoRebuild/BuildEventsWatcher.cs (100%)
 rename src/Components/{blazor/tooling/Microsoft.VisualStudio.BlazorExtension => Blazor/BlazorExtension/src}/AutoRebuild/StreamProtocolExtensions.cs (100%)
 rename src/Components/{blazor/tooling/Microsoft.VisualStudio.BlazorExtension => Blazor/BlazorExtension/src}/BlazorPackage.cs (100%)
 rename src/Components/{blazor/tooling/Microsoft.VisualStudio.BlazorExtension => Blazor/BlazorExtension/src}/CodeSnippets.pkgdef (100%)
 rename src/Components/{blazor/tooling/Microsoft.VisualStudio.BlazorExtension => Blazor/BlazorExtension/src}/CodeSnippets/Blazor/para.snippet (100%)
 rename src/Components/{blazor/tooling/Microsoft.VisualStudio.BlazorExtension => Blazor/BlazorExtension/src}/Content/WebConfiguration.png (100%)
 rename src/Components/{blazor/tooling/Microsoft.VisualStudio.BlazorExtension => Blazor/BlazorExtension/src}/Microsoft.VisualStudio.BlazorExtension.csproj (93%)
 rename src/Components/{blazor/tooling/Microsoft.VisualStudio.BlazorExtension => Blazor/BlazorExtension/src}/Properties/AssemblyInfo.cs (100%)
 rename src/Components/{blazor/tooling/Microsoft.VisualStudio.BlazorExtension => Blazor/BlazorExtension/src}/Resources.resx (100%)
 rename src/Components/{blazor/tooling/Microsoft.VisualStudio.BlazorExtension => Blazor/BlazorExtension/src}/Resources/BlazorPackage.ico (100%)
 rename src/Components/{blazor/tooling/Microsoft.VisualStudio.BlazorExtension => Blazor/BlazorExtension/src}/Templates.pkgdef (100%)
 rename src/Components/{blazor/tooling/Microsoft.VisualStudio.BlazorExtension => Blazor/BlazorExtension/src}/source.extension.vsixmanifest (100%)
 rename src/Components/{blazor/tooling/Microsoft.VisualStudio.LanguageServices.Blazor => Blazor/BlazorLanguageServices/src}/Microsoft.VisualStudio.LanguageServices.Blazor.csproj (88%)
 rename src/Components/{blazor/tooling/Microsoft.VisualStudio.LanguageServices.Blazor => Blazor/BlazorLanguageServices/src}/RazorTextViewListener.cs (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Build => Blazor/Build/src}/Cli/Commands/ResolveRuntimeDependenciesCommand.cs (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Build => Blazor/Build/src}/Cli/Commands/WriteBootJsonCommand.cs (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Build => Blazor/Build/src}/Cli/Program.cs (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Build => Blazor/Build/src}/Core/BootJsonWriter.cs (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Build => Blazor/Build/src}/Core/EmbeddedResources/EmbeddedResourceInfo.cs (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Build => Blazor/Build/src}/Core/EmbeddedResources/EmbeddedResourceKind.cs (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Build => Blazor/Build/src}/Core/EmbeddedResources/EmbeddedResourcesProcessor.cs (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Build => Blazor/Build/src}/Core/RuntimeDependenciesResolver.cs (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Build => Blazor/Build/src}/Microsoft.AspNetCore.Blazor.Build.csproj (83%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Build => Blazor/Build/src}/Microsoft.AspNetCore.Blazor.Build.nuspec (91%)
 create mode 100644 src/Components/Blazor/Build/src/Properties/AssemblyInfo.cs
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Build => Blazor/Build/src}/ReferenceFromSource.props (81%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Build => Blazor/Build/src}/build/netstandard1.0/Microsoft.AspNetCore.Blazor.Build.props (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Build => Blazor/Build/src}/build/netstandard1.0/Microsoft.AspNetCore.Blazor.Build.targets (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Build => Blazor/Build/src}/targets/All.props (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Build => Blazor/Build/src}/targets/All.targets (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Build => Blazor/Build/src}/targets/Blazor.MonoRuntime.props (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Build => Blazor/Build/src}/targets/Blazor.MonoRuntime.targets (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Build => Blazor/Build/src}/targets/BuiltInBclLinkerDescriptor.xml (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Build => Blazor/Build/src}/targets/Publish.targets (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Build => Blazor/Build/src}/targets/Standalone.Web.config (100%)
 rename src/Components/{blazor/test/Microsoft.AspNetCore.Blazor.Build.Test => Blazor/Build/test}/BindRazorIntegrationTest.cs (100%)
 rename src/Components/{blazor/test/Microsoft.AspNetCore.Blazor.Build.Test => Blazor/Build/test}/BootJsonWriterTest.cs (100%)
 rename src/Components/{blazor/test/Microsoft.AspNetCore.Blazor.Build.Test => Blazor/Build/test}/ChildContentRazorIntegrationTest.cs (100%)
 rename src/Components/{blazor/test/Microsoft.AspNetCore.Blazor.Build.Test => Blazor/Build/test}/ComponentRenderingRazorIntegrationTest.cs (100%)
 rename src/Components/{blazor/test/Microsoft.AspNetCore.Blazor.Build.Test => Blazor/Build/test}/DirectiveRazorIntegrationTest.cs (100%)
 rename src/Components/{blazor/test/Microsoft.AspNetCore.Blazor.Build.Test => Blazor/Build/test}/GenericComponentRazorIntegrationTest.cs (100%)
 rename src/Components/{blazor/test/Microsoft.AspNetCore.Blazor.Build.Test/Microsoft.AspNetCore.Blazor.Build.Test.csproj => Blazor/Build/test/Microsoft.AspNetCore.Blazor.Build.Tests.csproj} (56%)
 rename src/Components/{blazor/test/Microsoft.AspNetCore.Blazor.Build.Test => Blazor/Build/test}/Razor/NotFoundProjectItem.cs (100%)
 rename src/Components/{blazor/test/Microsoft.AspNetCore.Blazor.Build.Test => Blazor/Build/test}/Razor/TestFile.cs (100%)
 rename src/Components/{blazor/test/Microsoft.AspNetCore.Blazor.Build.Test => Blazor/Build/test}/Razor/TestProject.cs (100%)
 rename src/Components/{blazor/test/Microsoft.AspNetCore.Blazor.Build.Test => Blazor/Build/test}/Razor/VirtualProjectFileSystem.cs (100%)
 rename src/Components/{blazor/test/Microsoft.AspNetCore.Blazor.Build.Test => Blazor/Build/test}/Razor/VirtualProjectItem.cs (100%)
 rename src/Components/{blazor/test/Microsoft.AspNetCore.Blazor.Build.Test => Blazor/Build/test}/RazorIntegrationTestBase.cs (100%)
 rename src/Components/{blazor/test/Microsoft.AspNetCore.Blazor.Build.Test => Blazor/Build/test}/RenderingRazorIntegrationTest.cs (100%)
 rename src/Components/{blazor/test/Microsoft.AspNetCore.Blazor.Build.Test => Blazor/Build/test}/RuntimeDependenciesResolverTest.cs (89%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Cli => Blazor/Cli/src}/Commands/ServeCommand.cs (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Cli => Blazor/Cli/src}/Microsoft.AspNetCore.Blazor.Cli.csproj (53%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Cli => Blazor/Cli/src}/Program.cs (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Cli => Blazor/Cli/src}/Properties/AssemblyInfo.cs (90%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Cli => Blazor/Cli/src}/Server/Program.cs (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Cli => Blazor/Cli/src}/Server/Startup.cs (100%)
 create mode 100644 src/Components/Blazor/Directory.Build.props
 create mode 100644 src/Components/Blazor/Server/src/Microsoft.AspNetCore.Blazor.Server.csproj
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Server => Blazor/Server/src}/MonoDebugProxy/BlazorMonoDebugProxyAppBuilderExtensions.cs (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Server => Blazor/Server/src}/MonoDebugProxy/UpdateSources.cmd (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Server => Blazor/Server/src}/MonoDebugProxy/ws-proxy/DebugStore.cs (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Server => Blazor/Server/src}/MonoDebugProxy/ws-proxy/MonoProxy.cs (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Server => Blazor/Server/src}/MonoDebugProxy/ws-proxy/WsProxy.cs (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates}/.gitignore (100%)
 create mode 100644 src/Components/Blazor/Templates/src/Directory.Build.props
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/Directory.Build.targets (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/Microsoft.AspNetCore.Blazor.Templates.csproj (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/Microsoft.AspNetCore.Blazor.Templates.nuspec (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/SetPackageProperties.targets (93%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorHosted-CSharp/.template.config.src/dotnetcli.host.json (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorHosted-CSharp/.template.config.src/icon.png (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorHosted-CSharp/.template.config.src/template.json (89%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorHosted-CSharp/.template.config.src/vs-2017.3.host.json (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/App.cshtml (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/BlazorHosted-CSharp.Client.csproj (100%)
 rename src/Components/{blazor/samples/StandaloneApp => Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client}/Pages/Counter.cshtml (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Pages/FetchData.cshtml (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Pages/Index.cshtml (100%)
 rename src/Components/{blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance => Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client}/Pages/_ViewImports.cshtml (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Program.cs (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Shared/MainLayout.cshtml (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Shared/NavMenu.cshtml (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Shared/SurveyPrompt.cshtml (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Startup.cs (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/_ViewImports.cshtml (100%)
 rename src/Components/{blazor/samples/StandaloneApp => Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client}/wwwroot/css/bootstrap/bootstrap.min.css (100%)
 rename src/Components/{blazor/samples/StandaloneApp => Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client}/wwwroot/css/bootstrap/bootstrap.min.css.map (100%)
 rename src/Components/{blazor/samples/StandaloneApp => Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client}/wwwroot/css/open-iconic/FONT-LICENSE (100%)
 rename src/Components/{blazor/samples/StandaloneApp => Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client}/wwwroot/css/open-iconic/ICON-LICENSE (100%)
 rename src/Components/{blazor/samples/StandaloneApp => Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client}/wwwroot/css/open-iconic/README.md (100%)
 rename src/Components/{blazor/samples/StandaloneApp => Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client}/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css (100%)
 rename src/Components/{blazor/samples/StandaloneApp => Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client}/wwwroot/css/open-iconic/font/fonts/open-iconic.eot (100%)
 rename src/Components/{blazor/samples/StandaloneApp => Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client}/wwwroot/css/open-iconic/font/fonts/open-iconic.otf (100%)
 rename src/Components/{blazor/samples/StandaloneApp => Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client}/wwwroot/css/open-iconic/font/fonts/open-iconic.svg (100%)
 rename src/Components/{blazor/samples/StandaloneApp => Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client}/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf (100%)
 rename src/Components/{blazor/samples/StandaloneApp => Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client}/wwwroot/css/open-iconic/font/fonts/open-iconic.woff (100%)
 rename src/Components/{blazor/samples/StandaloneApp => Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client}/wwwroot/css/site.css (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/index.html (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Server/BlazorHosted-CSharp.Server.csproj (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Server/Controllers/SampleDataController.cs (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Server/Program.cs (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Server/Startup.cs (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Shared/BlazorHosted-CSharp.Shared.csproj (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Shared/WeatherForecast.cs (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorHosted-CSharp/BlazorHosted-CSharp.sln (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorLibrary-CSharp/.template.config.src/dotnetcli.host.json (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorLibrary-CSharp/.template.config.src/icon.png (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorLibrary-CSharp/.template.config.src/template.json (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorLibrary-CSharp/BlazorLibrary-CSharp.csproj (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorLibrary-CSharp/Component1.cshtml (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorLibrary-CSharp/ExampleJsInterop.cs (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorLibrary-CSharp/content/background.png (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorLibrary-CSharp/content/exampleJsInterop.js (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorLibrary-CSharp/content/styles.css (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorStandalone-CSharp/.template.config.src/dotnetcli.host.json (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorStandalone-CSharp/.template.config.src/icon.png (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorStandalone-CSharp/.template.config.src/template.json (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorStandalone-CSharp/.template.config.src/vs-2017.3.host.json (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorStandalone-CSharp/App.cshtml (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorStandalone-CSharp/BlazorStandalone-CSharp.csproj (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client => Blazor/Templates/src/content/BlazorStandalone-CSharp}/Pages/Counter.cshtml (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorStandalone-CSharp/Pages/FetchData.cshtml (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorStandalone-CSharp/Pages/Index.cshtml (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client => Blazor/Templates/src/content/BlazorStandalone-CSharp}/Pages/_ViewImports.cshtml (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorStandalone-CSharp/Program.cs (100%)
 rename src/Components/{blazor/samples/StandaloneApp => Blazor/Templates/src/content/BlazorStandalone-CSharp}/Shared/MainLayout.cshtml (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorStandalone-CSharp/Shared/NavMenu.cshtml (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorStandalone-CSharp/Shared/SurveyPrompt.cshtml (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorStandalone-CSharp/Startup.cs (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorStandalone-CSharp/_ViewImports.cshtml (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client => Blazor/Templates/src/content/BlazorStandalone-CSharp}/wwwroot/css/bootstrap/bootstrap.min.css (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client => Blazor/Templates/src/content/BlazorStandalone-CSharp}/wwwroot/css/bootstrap/bootstrap.min.css.map (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client => Blazor/Templates/src/content/BlazorStandalone-CSharp}/wwwroot/css/open-iconic/FONT-LICENSE (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client => Blazor/Templates/src/content/BlazorStandalone-CSharp}/wwwroot/css/open-iconic/ICON-LICENSE (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client => Blazor/Templates/src/content/BlazorStandalone-CSharp}/wwwroot/css/open-iconic/README.md (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client => Blazor/Templates/src/content/BlazorStandalone-CSharp}/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client => Blazor/Templates/src/content/BlazorStandalone-CSharp}/wwwroot/css/open-iconic/font/fonts/open-iconic.eot (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client => Blazor/Templates/src/content/BlazorStandalone-CSharp}/wwwroot/css/open-iconic/font/fonts/open-iconic.otf (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client => Blazor/Templates/src/content/BlazorStandalone-CSharp}/wwwroot/css/open-iconic/font/fonts/open-iconic.svg (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client => Blazor/Templates/src/content/BlazorStandalone-CSharp}/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client => Blazor/Templates/src/content/BlazorStandalone-CSharp}/wwwroot/css/open-iconic/font/fonts/open-iconic.woff (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client => Blazor/Templates/src/content/BlazorStandalone-CSharp}/wwwroot/css/site.css (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorStandalone-CSharp/wwwroot/index.html (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/BlazorStandalone-CSharp/wwwroot/sample-data/weather.json (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/Directory.Build.props (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates => Blazor/Templates/src}/content/Directory.Build.targets (100%)
 rename src/Components/{blazor/samples => Blazor/testassets}/HostedInAspNet.Client/Home.cshtml (100%)
 create mode 100644 src/Components/Blazor/testassets/HostedInAspNet.Client/HostedInAspNet.Client.csproj
 rename src/Components/{blazor/samples => Blazor/testassets}/HostedInAspNet.Client/Program.cs (100%)
 rename src/Components/{blazor/samples => Blazor/testassets}/HostedInAspNet.Client/Startup.cs (100%)
 rename src/Components/{blazor/samples => Blazor/testassets}/HostedInAspNet.Client/wwwroot/customJsFileForTests.js (100%)
 rename src/Components/{blazor/samples => Blazor/testassets}/HostedInAspNet.Client/wwwroot/index.html (100%)
 create mode 100644 src/Components/Blazor/testassets/HostedInAspNet.Server/HostedInAspNet.Server.csproj
 rename src/Components/{blazor/samples => Blazor/testassets}/HostedInAspNet.Server/Program.cs (100%)
 rename src/Components/{blazor/samples => Blazor/testassets}/HostedInAspNet.Server/Startup.cs (100%)
 rename src/Components/{blazor/samples => Blazor/testassets}/HostedInAspNet.Server/Views/_ViewImports.cshtml (100%)
 rename src/Components/{blazor/benchmarks => Blazor/testassets}/Microsoft.AspNetCore.Blazor.E2EPerformance/App.cshtml (100%)
 rename src/Components/{blazor/benchmarks => Blazor/testassets}/Microsoft.AspNetCore.Blazor.E2EPerformance/BenchmarkEvent.cs (100%)
 create mode 100644 src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/Microsoft.AspNetCore.Blazor.E2EPerformance.csproj
 rename src/Components/{blazor/benchmarks => Blazor/testassets}/Microsoft.AspNetCore.Blazor.E2EPerformance/Pages/Index.cshtml (100%)
 rename src/Components/{blazor/benchmarks => Blazor/testassets}/Microsoft.AspNetCore.Blazor.E2EPerformance/Pages/Json.cshtml (100%)
 rename src/Components/{blazor/benchmarks => Blazor/testassets}/Microsoft.AspNetCore.Blazor.E2EPerformance/Pages/RenderList.cshtml (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp => Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance}/Pages/_ViewImports.cshtml (100%)
 rename src/Components/{blazor/benchmarks => Blazor/testassets}/Microsoft.AspNetCore.Blazor.E2EPerformance/Program.cs (100%)
 rename src/Components/{blazor/benchmarks => Blazor/testassets}/Microsoft.AspNetCore.Blazor.E2EPerformance/Shared/MainLayout.cshtml (100%)
 rename src/Components/{blazor/benchmarks => Blazor/testassets}/Microsoft.AspNetCore.Blazor.E2EPerformance/Startup.cs (100%)
 rename src/Components/{blazor/benchmarks => Blazor/testassets}/Microsoft.AspNetCore.Blazor.E2EPerformance/_ViewImports.cshtml (100%)
 rename src/Components/{blazor/benchmarks => Blazor/testassets}/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/appStartup.js (100%)
 rename src/Components/{blazor/benchmarks => Blazor/testassets}/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/index.js (100%)
 rename src/Components/{blazor/benchmarks => Blazor/testassets}/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/jsonHandling.js (100%)
 rename src/Components/{blazor/benchmarks => Blazor/testassets}/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/jsonHandlingData.js (100%)
 rename src/Components/{blazor/benchmarks => Blazor/testassets}/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/lib/bootstrap.min.css (100%)
 rename src/Components/{blazor/benchmarks => Blazor/testassets}/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/lib/minibench/README.md (100%)
 rename src/Components/{blazor/benchmarks => Blazor/testassets}/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/lib/minibench/minibench.js (100%)
 rename src/Components/{blazor/benchmarks => Blazor/testassets}/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/lib/minibench/style.css (100%)
 rename src/Components/{blazor/benchmarks => Blazor/testassets}/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/renderList.js (100%)
 rename src/Components/{blazor/benchmarks => Blazor/testassets}/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/util/BenchmarkEvents.js (100%)
 rename src/Components/{blazor/benchmarks => Blazor/testassets}/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/util/BlazorApp.js (100%)
 rename src/Components/{blazor/benchmarks => Blazor/testassets}/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/util/DOM.js (100%)
 rename src/Components/{blazor/benchmarks => Blazor/testassets}/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/blazor-frame.html (100%)
 rename src/Components/{blazor/benchmarks => Blazor/testassets}/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/index.html (100%)
 rename src/Components/{blazor/samples => Blazor/testassets}/MonoSanity/MonoSanity.csproj (54%)
 rename src/Components/{blazor/samples => Blazor/testassets}/MonoSanity/Program.cs (100%)
 rename src/Components/{blazor/samples => Blazor/testassets}/MonoSanity/Startup.cs (100%)
 rename src/Components/{blazor/samples => Blazor/testassets}/MonoSanity/wwwroot/index.html (100%)
 rename src/Components/{blazor/samples => Blazor/testassets}/MonoSanity/wwwroot/loader.js (100%)
 rename src/Components/{blazor/samples => Blazor/testassets}/MonoSanityClient/Examples.cs (100%)
 rename src/Components/{blazor/samples => Blazor/testassets}/MonoSanityClient/InternalCalls.cs (100%)
 create mode 100644 src/Components/Blazor/testassets/MonoSanityClient/MonoSanityClient.csproj
 rename src/Components/{blazor/samples => Blazor/testassets}/MonoSanityClient/Program.cs (100%)
 rename src/Components/{blazor/samples => Blazor/testassets}/StandaloneApp/App.cshtml (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp => Blazor/testassets/StandaloneApp}/Pages/Counter.cshtml (100%)
 rename src/Components/{blazor/samples => Blazor/testassets}/StandaloneApp/Pages/FetchData.cshtml (100%)
 rename src/Components/{blazor/samples => Blazor/testassets}/StandaloneApp/Pages/Index.cshtml (100%)
 rename src/Components/{blazor/samples => Blazor/testassets}/StandaloneApp/Pages/_ViewImports.cshtml (100%)
 rename src/Components/{blazor/samples => Blazor/testassets}/StandaloneApp/Program.cs (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp => Blazor/testassets/StandaloneApp}/Shared/MainLayout.cshtml (100%)
 rename src/Components/{blazor/samples => Blazor/testassets}/StandaloneApp/Shared/NavMenu.cshtml (100%)
 create mode 100644 src/Components/Blazor/testassets/StandaloneApp/StandaloneApp.csproj
 rename src/Components/{blazor/samples => Blazor/testassets}/StandaloneApp/Startup.cs (100%)
 rename src/Components/{blazor/samples => Blazor/testassets}/StandaloneApp/_ViewImports.cshtml (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp => Blazor/testassets/StandaloneApp}/wwwroot/css/bootstrap/bootstrap.min.css (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp => Blazor/testassets/StandaloneApp}/wwwroot/css/bootstrap/bootstrap.min.css.map (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp => Blazor/testassets/StandaloneApp}/wwwroot/css/open-iconic/FONT-LICENSE (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp => Blazor/testassets/StandaloneApp}/wwwroot/css/open-iconic/ICON-LICENSE (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp => Blazor/testassets/StandaloneApp}/wwwroot/css/open-iconic/README.md (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp => Blazor/testassets/StandaloneApp}/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp => Blazor/testassets/StandaloneApp}/wwwroot/css/open-iconic/font/fonts/open-iconic.eot (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp => Blazor/testassets/StandaloneApp}/wwwroot/css/open-iconic/font/fonts/open-iconic.otf (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp => Blazor/testassets/StandaloneApp}/wwwroot/css/open-iconic/font/fonts/open-iconic.svg (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp => Blazor/testassets/StandaloneApp}/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp => Blazor/testassets/StandaloneApp}/wwwroot/css/open-iconic/font/fonts/open-iconic.woff (100%)
 rename src/Components/{blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp => Blazor/testassets/StandaloneApp}/wwwroot/css/site.css (100%)
 rename src/Components/{blazor/samples => Blazor/testassets}/StandaloneApp/wwwroot/index.html (100%)
 rename src/Components/{blazor/samples => Blazor/testassets}/StandaloneApp/wwwroot/sample-data/weather.json (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Browser.JS => Browser.JS}/.gitignore (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Browser.JS => Browser.JS}/src/Boot.Server.ts (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Browser.JS => Browser.JS}/src/Boot.WebAssembly.ts (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Browser.JS => Browser.JS}/src/BootCommon.ts (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Browser.JS => Browser.JS}/src/Environment.ts (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Browser.JS => Browser.JS}/src/GlobalExports.ts (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Browser.JS => Browser.JS/src}/Microsoft.AspNetCore.Components.Browser.JS.csproj (93%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Browser.JS => Browser.JS}/src/Platform/Mono/MonoDebugger.ts (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Browser.JS => Browser.JS}/src/Platform/Mono/MonoPlatform.ts (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Browser.JS => Browser.JS}/src/Platform/Mono/MonoTypes.d.ts (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Browser.JS => Browser.JS}/src/Platform/Platform.ts (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Browser.JS => Browser.JS}/src/Platform/Url.ts (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Browser.JS => Browser.JS}/src/Rendering/BrowserRenderer.ts (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Browser.JS => Browser.JS}/src/Rendering/ElementReferenceCapture.ts (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Browser.JS => Browser.JS}/src/Rendering/EventDelegator.ts (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Browser.JS => Browser.JS}/src/Rendering/EventForDotNet.ts (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Browser.JS => Browser.JS}/src/Rendering/LogicalElements.ts (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Browser.JS => Browser.JS}/src/Rendering/RenderBatch/OutOfProcessRenderBatch.ts (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Browser.JS => Browser.JS}/src/Rendering/RenderBatch/RenderBatch.ts (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Browser.JS => Browser.JS}/src/Rendering/RenderBatch/SharedMemoryRenderBatch.ts (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Browser.JS => Browser.JS}/src/Rendering/RenderBatch/Utf8Decoder.ts (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Browser.JS => Browser.JS}/src/Rendering/Renderer.ts (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Browser.JS => Browser.JS}/src/Services/Http.ts (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Browser.JS => Browser.JS}/src/Services/UriHelper.ts (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Browser.JS => Browser.JS/src}/package-lock.json (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Browser.JS => Browser.JS/src}/package.json (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Browser.JS => Browser.JS/src}/tsconfig.json (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Browser.JS => Browser.JS/src}/webpack.config.js (77%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Browser => Browser/src}/BrowserUriHelperInterop.cs (100%)
 create mode 100644 src/Components/Browser/src/Microsoft.AspNetCore.Components.Browser.csproj
 rename src/Components/{src/Microsoft.AspNetCore.Components.Browser => Browser/src}/Properties/AssemblyInfo.cs (72%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Browser => Browser/src}/RendererRegistry.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Browser => Browser/src}/RendererRegistryEventDispatcher.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Build => Build/src}/Microsoft.AspNetCore.Components.Build.csproj (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Build => Build/src}/Microsoft.AspNetCore.Components.Build.nuspec (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Build => Build/src}/ReferenceFromSource.props (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Build => Build/src}/build/netstandard1.0/Microsoft.AspNetCore.Components.Build.props (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Build => Build/src}/build/netstandard1.0/Microsoft.AspNetCore.Components.Build.targets (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Build => Build/src}/targets/All.props (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Build => Build/src}/targets/All.targets (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Build => Build/src}/targets/RazorCompilation.targets (100%)
 rename src/Components/{benchmarks/Microsoft.AspNetCore.Components.Performance => Components/perf}/AssemblyInfo.cs (100%)
 create mode 100644 src/Components/Components/perf/Microsoft.AspNetCore.Components.Performance.csproj
 rename src/Components/{benchmarks/Microsoft.AspNetCore.Components.Performance => Components/perf}/Program.cs (100%)
 rename src/Components/{benchmarks/Microsoft.AspNetCore.Components.Performance => Components/perf}/RenderTreeDiffBuilderBenchmark.cs (100%)
 rename src/Components/{benchmarks/Microsoft.AspNetCore.Components.Performance => Components/perf}/readme.md (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/BindAttributes.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/BindElementAttribute.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/BindInputElementAttribute.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/BindMethods.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/Builder/BlazorApplicationBuilderExtensions.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/Builder/IBlazorApplicationBuilder.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/CascadingParameterAttribute.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/CascadingParameterState.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/CascadingValue.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/ChangeDetection.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/ComponentBase.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/ComponentFactory.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/ComponentResolver.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/ElementRef.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/EventHandlerAttribute.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/EventHandlerInvoker.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/EventHandlers.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/HttpClientJsonExtensions.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/ICascadingValueComponent.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/IComponent.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/IHandleAfterRender.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/IHandleEvent.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/InjectAttribute.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/Json/JsonUtil.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/Layouts/LayoutAttribute.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/Layouts/LayoutComponentBase.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/Layouts/LayoutDisplay.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/MarkupString.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/Microsoft.AspNetCore.Components.csproj (76%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/Parameter.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/ParameterAttribute.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/ParameterCollection.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/ParameterCollectionExtensions.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/ParameterEnumerator.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/PlatformInfo.cs (100%)
 create mode 100644 src/Components/Components/src/Properties/AssemblyInfo.cs
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/Reflection/IPropertySetter.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/Reflection/MemberAssignment.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/RenderFragment.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/RenderHandle.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/RenderTree/ArrayBuilder.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/RenderTree/ArrayRange.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/RenderTree/RenderTreeBuilder.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/RenderTree/RenderTreeDiff.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/RenderTree/RenderTreeDiffBuilder.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/RenderTree/RenderTreeEdit.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/RenderTree/RenderTreeEditType.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/RenderTree/RenderTreeFrame.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/RenderTree/RenderTreeFrameType.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/Rendering/ComponentState.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/Rendering/HtmlRenderer.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/Rendering/RenderBatch.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/Rendering/RenderBatchBuilder.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/Rendering/RenderQueueEntry.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/Rendering/Renderer.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/RouteAttribute.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/Routing/NavLink.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/Routing/NavLinkMatch.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/Routing/RouteConstraint.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/Routing/RouteContext.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/Routing/RouteEntry.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/Routing/RouteTable.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/Routing/RouteTemplate.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/Routing/Router.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/Routing/TemplateParser.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/Routing/TemplateSegment.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/Routing/TypeRouteConstraint.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/RuntimeHelpers.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/Services/IUriHelper.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/Services/UriHelperBase.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/UIEventArgs.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components => Components/src}/UIEventArgsRenderTreeBuilderExtensions.cs (100%)
 rename src/Components/{test/Microsoft.AspNetCore.Components.Test => Components/test}/CascadingParameterStateTest.cs (100%)
 rename src/Components/{test/Microsoft.AspNetCore.Components.Test => Components/test}/CascadingParameterTest.cs (100%)
 rename src/Components/{test/Microsoft.AspNetCore.Components.Test => Components/test}/ComponentBaseTest.cs (100%)
 rename src/Components/{test/Microsoft.AspNetCore.Components.Test => Components/test}/DependencyInjectionTest.cs (100%)
 rename src/Components/{test/Microsoft.AspNetCore.Components.Test => Components/test}/HttpClientJsonExtensionsTest.cs (100%)
 rename src/Components/{test/Microsoft.AspNetCore.Components.Test => Components/test}/LayoutTest.cs (100%)
 create mode 100644 src/Components/Components/test/Microsoft.AspNetCore.Components.Tests.csproj
 rename src/Components/{test/Microsoft.AspNetCore.Components.Test => Components/test}/ParameterCollectionAssignmentExtensionsTest.cs (100%)
 rename src/Components/{test/Microsoft.AspNetCore.Components.Test => Components/test}/ParameterCollectionTest.cs (100%)
 rename src/Components/{test/Microsoft.AspNetCore.Components.Test => Components/test}/RenderTreeBuilderTest.cs (100%)
 rename src/Components/{test/Microsoft.AspNetCore.Components.Test => Components/test}/RenderTreeDiffBuilderTest.cs (100%)
 rename src/Components/{test/Microsoft.AspNetCore.Components.Test => Components/test}/RendererTest.cs (100%)
 rename src/Components/{test/Microsoft.AspNetCore.Components.Test => Components/test}/Rendering/HtmlRendererTests.cs (100%)
 rename src/Components/{test/Microsoft.AspNetCore.Components.Test => Components/test}/Routing/RouteTableTests.cs (100%)
 rename src/Components/{test/Microsoft.AspNetCore.Components.Test => Components/test}/Routing/TemplateParserTests.cs (100%)
 delete mode 100644 src/Components/LICENSE.txt
 rename src/Components/{src/Microsoft.AspNetCore.Components.Server => Server/src}/AutoRebuild/AutoRebuildExtensions.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Server => Server/src}/AutoRebuild/IRebuildService.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Server => Server/src}/AutoRebuild/ProcessUtils.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Server => Server/src}/AutoRebuild/StreamProtocolExtensions.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Server => Server/src}/AutoRebuild/VSForWindowsRebuildService.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Server => Server/src}/BlazorConfig.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Server => Server/src}/BlazorHub.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Server => Server/src}/BlazorOptions.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Server => Server/src}/Builder/BlazorApplicationBuilderExtensions.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Server => Server/src}/Builder/RazorComponentsApplicationBuilderExtensions.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Server => Server/src}/Builder/RazorComponentsOptions.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Server => Server/src}/Builder/ServerSideBlazorApplicationBuilder.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Server => Server/src}/Circuits/AutoCancelTaskCompletionSource.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Server => Server/src}/Circuits/Circuit.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Server => Server/src}/Circuits/CircuitFactory.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Server => Server/src}/Circuits/CircuitHost.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Server => Server/src}/Circuits/CircuitSynchronizationContext.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Server => Server/src}/Circuits/DefaultCircuitAccessor.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Server => Server/src}/Circuits/DefaultCircuitFactory.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Server => Server/src}/Circuits/DefaultCircuitFactoryOptions.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Server => Server/src}/Circuits/DefaultJSRuntimeAccessor.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Server => Server/src}/Circuits/ICircuitAccessor.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Server => Server/src}/Circuits/IJSRuntimeAccessor.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Server => Server/src}/Circuits/MessagePackBufferStream.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Server => Server/src}/Circuits/RemoteJSRuntime.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Server => Server/src}/Circuits/RemoteRenderer.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Server => Server/src}/Circuits/RemoteRendererException.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Server => Server/src}/Circuits/RemoteUriHelper.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Server => Server/src}/Circuits/RenderBatchFormatterResolver.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Server => Server/src}/Circuits/RenderBatchWriter.cs (100%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Server => Server/src}/DependencyInjection/RazorComponentsServiceCollectionExtensions.cs (100%)
 create mode 100644 src/Components/Server/src/Microsoft.AspNetCore.Components.Server.csproj
 rename src/Components/{src/Microsoft.AspNetCore.Components.Server => Server/src}/Properties/AssemblyInfo.cs (59%)
 rename src/Components/{src/Microsoft.AspNetCore.Components.Server => Server/src}/WasmMediaTypeNames.cs (100%)
 rename src/Components/{test/Microsoft.AspNetCore.Components.Server.Test => Server/test}/Circuits/CircuitHostTest.cs (100%)
 rename src/Components/{test/Microsoft.AspNetCore.Components.Server.Test => Server/test}/Circuits/CircuitSynchronizationContextTest.cs (100%)
 rename src/Components/{test/Microsoft.AspNetCore.Components.Server.Test => Server/test}/Circuits/MessagePackBufferStreamTest.cs (100%)
 rename src/Components/{test/Microsoft.AspNetCore.Components.Server.Test => Server/test}/Circuits/RenderBatchWriterTest.cs (100%)
 create mode 100644 src/Components/Server/test/Microsoft.AspNetCore.Components.Server.Tests.csproj
 rename src/Components/{src/shared => Shared/src}/ComponentsApi.cs (100%)
 rename src/Components/{src/shared => Shared/src}/ConventionBasedStartup.cs (100%)
 rename src/Components/{src/shared => Shared/src}/IBlazorStartup.cs (100%)
 rename src/Components/{test/shared => Shared/test}/AssertFrame.cs (100%)
 rename src/Components/{test/shared => Shared/test}/AutoRenderComponent.cs (100%)
 rename src/Components/{test/shared => Shared/test}/CapturedBatch.cs (100%)
 rename src/Components/{test/shared => Shared/test}/IComponentExtensions.cs (100%)
 rename src/Components/{test/shared => Shared/test}/TestRenderer.cs (100%)
 rename src/Components/{test/shared => Shared/test}/TestServiceProvider.cs (100%)
 delete mode 100644 src/Components/benchmarks/Microsoft.AspNetCore.Components.Performance/Microsoft.AspNetCore.Components.Performance.csproj
 delete mode 100644 src/Components/blazor/Directory.Build.props
 delete mode 100644 src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/Directory.Build.props
 delete mode 100644 src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/Microsoft.AspNetCore.Blazor.E2EPerformance.csproj
 delete mode 100644 src/Components/blazor/samples/Directory.Build.props
 delete mode 100644 src/Components/blazor/samples/HostedInAspNet.Client/HostedInAspNet.Client.csproj
 delete mode 100644 src/Components/blazor/samples/HostedInAspNet.Server/HostedInAspNet.Server.csproj
 delete mode 100644 src/Components/blazor/samples/MonoSanityClient/MonoSanityClient.csproj
 delete mode 100644 src/Components/blazor/samples/StandaloneApp/StandaloneApp.csproj
 delete mode 100644 src/Components/blazor/src/Directory.Build.props
 delete mode 100644 src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/Properties/AssemblyInfo.cs
 delete mode 100644 src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Server/Microsoft.AspNetCore.Blazor.Server.csproj
 delete mode 100644 src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/Directory.Build.props
 delete mode 100644 src/Components/blazor/src/Microsoft.AspNetCore.Blazor/Microsoft.AspNetCore.Blazor.csproj
 delete mode 100644 src/Components/blazor/src/Microsoft.AspNetCore.Blazor/Properties/AssemblyInfo.cs
 delete mode 100644 src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Test/Microsoft.AspNetCore.Blazor.Test.csproj
 delete mode 100644 src/Components/blazor/version.props
 delete mode 100644 src/Components/build/Key.snk
 delete mode 100644 src/Components/build/VSIX.targets
 delete mode 100644 src/Components/build/arcade.props
 delete mode 100644 src/Components/build/dependencies.props
 delete mode 100644 src/Components/build/repo.props
 delete mode 100644 src/Components/build/repo.targets
 delete mode 100644 src/Components/build/sources.props
 delete mode 100644 src/Components/samples/ComponentsApp.App/ComponentsApp.App.csproj
 delete mode 100644 src/Components/samples/ComponentsApp.Server/ComponentsApp.Server.csproj
 delete mode 100644 src/Components/samples/Directory.Build.props
 delete mode 100644 src/Components/src/Directory.Build.props
 delete mode 100644 src/Components/src/Microsoft.AspNetCore.Components.Browser/Microsoft.AspNetCore.Components.Browser.csproj
 delete mode 100644 src/Components/src/Microsoft.AspNetCore.Components.Server/Microsoft.AspNetCore.Components.Server.csproj
 delete mode 100644 src/Components/src/Microsoft.AspNetCore.Components/Properties/AssemblyInfo.cs
 create mode 100644 src/Components/startvs.cmd
 rename src/Components/test/{Microsoft.AspNetCore.Components.E2ETest => E2ETest}/Infrastructure/BasicTestAppTestBase.cs (100%)
 rename src/Components/test/{Microsoft.AspNetCore.Components.E2ETest => E2ETest}/Infrastructure/BrowserFixture.cs (100%)
 rename src/Components/test/{Microsoft.AspNetCore.Components.E2ETest => E2ETest}/Infrastructure/BrowserTestBase.cs (100%)
 rename src/Components/test/{Microsoft.AspNetCore.Components.E2ETest => E2ETest}/Infrastructure/CaptureSeleniumLogsAttribute.cs (100%)
 rename src/Components/test/{Microsoft.AspNetCore.Components.E2ETest => E2ETest}/Infrastructure/SeleniumStandaloneServer.cs (100%)
 rename src/Components/test/{Microsoft.AspNetCore.Components.E2ETest => E2ETest}/Infrastructure/ServerFixtures/AspNetEnvironment.cs (100%)
 rename src/Components/test/{Microsoft.AspNetCore.Components.E2ETest => E2ETest}/Infrastructure/ServerFixtures/AspNetSiteServerFixture.cs (100%)
 rename src/Components/test/{Microsoft.AspNetCore.Components.E2ETest => E2ETest}/Infrastructure/ServerFixtures/DevHostServerFixture.cs (100%)
 rename src/Components/test/{Microsoft.AspNetCore.Components.E2ETest => E2ETest}/Infrastructure/ServerFixtures/ServerFixture.cs (76%)
 rename src/Components/test/{Microsoft.AspNetCore.Components.E2ETest => E2ETest}/Infrastructure/ServerFixtures/StaticSiteServerFixture.cs (100%)
 rename src/Components/test/{Microsoft.AspNetCore.Components.E2ETest => E2ETest}/Infrastructure/ServerFixtures/ToggleExecutionModeServerFixture.cs (100%)
 rename src/Components/test/{Microsoft.AspNetCore.Components.E2ETest => E2ETest}/Infrastructure/ServerFixtures/WebHostServerFixture.cs (100%)
 rename src/Components/test/{Microsoft.AspNetCore.Components.E2ETest => E2ETest}/Infrastructure/ServerTestBase.cs (100%)
 rename src/Components/test/{Microsoft.AspNetCore.Components.E2ETest => E2ETest}/Infrastructure/WaitAssert.cs (100%)
 create mode 100644 src/Components/test/E2ETest/Microsoft.AspNetCore.Components.E2ETests.csproj
 rename src/Components/test/{Microsoft.AspNetCore.Components.E2ETest => E2ETest}/ServerExecutionTests/ServerComponentRenderingTest.cs (100%)
 rename src/Components/test/{Microsoft.AspNetCore.Components.E2ETest => E2ETest}/ServerExecutionTests/ServerExecutionTestExtensions.cs (100%)
 rename src/Components/test/{Microsoft.AspNetCore.Components.E2ETest => E2ETest}/ServerExecutionTests/ServerSideAppTest.cs (100%)
 rename src/Components/test/{Microsoft.AspNetCore.Components.E2ETest => E2ETest}/ServerExecutionTests/TestSubclasses.cs (100%)
 rename src/Components/test/{Microsoft.AspNetCore.Components.E2ETest => E2ETest}/Tests/BinaryHttpClientTest.cs (100%)
 rename src/Components/test/{Microsoft.AspNetCore.Components.E2ETest => E2ETest}/Tests/BindTest.cs (100%)
 rename src/Components/test/{Microsoft.AspNetCore.Components.E2ETest => E2ETest}/Tests/CascadingValueTest.cs (100%)
 rename src/Components/test/{Microsoft.AspNetCore.Components.E2ETest => E2ETest}/Tests/ComponentRenderingTest.cs (100%)
 rename src/Components/test/{Microsoft.AspNetCore.Components.E2ETest => E2ETest}/Tests/EventBubblingTest.cs (100%)
 rename src/Components/test/{Microsoft.AspNetCore.Components.E2ETest => E2ETest}/Tests/EventTest.cs (100%)
 rename src/Components/test/{Microsoft.AspNetCore.Components.E2ETest => E2ETest}/Tests/HostedInAspNetTest.cs (100%)
 rename src/Components/test/{Microsoft.AspNetCore.Components.E2ETest => E2ETest}/Tests/HttpClientTest.cs (100%)
 rename src/Components/test/{Microsoft.AspNetCore.Components.E2ETest => E2ETest}/Tests/InteropTest.cs (100%)
 rename src/Components/test/{Microsoft.AspNetCore.Components.E2ETest => E2ETest}/Tests/MonoSanityTest.cs (100%)
 rename src/Components/test/{Microsoft.AspNetCore.Components.E2ETest => E2ETest}/Tests/PerformanceTest.cs (100%)
 rename src/Components/test/{Microsoft.AspNetCore.Components.E2ETest => E2ETest}/Tests/RoutingTest.cs (100%)
 rename src/Components/test/{Microsoft.AspNetCore.Components.E2ETest => E2ETest}/Tests/StandaloneAppTest.cs (100%)
 rename src/Components/test/{Microsoft.AspNetCore.Components.E2ETest => E2ETest}/package-lock.json (100%)
 rename src/Components/test/{Microsoft.AspNetCore.Components.E2ETest => E2ETest}/package.json (100%)
 delete mode 100644 src/Components/test/Microsoft.AspNetCore.Components.Analyzers.Test/Microsoft.AspNetCore.Components.Analyzers.Test.csproj
 delete mode 100644 src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Microsoft.AspNetCore.Components.E2ETest.csproj
 delete mode 100644 src/Components/test/Microsoft.AspNetCore.Components.Server.Test/Microsoft.AspNetCore.Components.Server.Test.csproj
 delete mode 100644 src/Components/test/Microsoft.AspNetCore.Components.Test/Microsoft.AspNetCore.Components.Test.csproj
 delete mode 100644 src/Components/test/testapps/BasicTestApp/BasicTestApp.csproj
 delete mode 100644 src/Components/test/testapps/BasicTestApp/Properties/launchSettings.json
 delete mode 100644 src/Components/test/testapps/Directory.Build.props
 delete mode 100644 src/Components/test/testapps/TestServer/TestServer.csproj
 rename src/Components/test/{testapps => testassets}/BasicTestApp/AddRemoveChildComponents.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/AfterRenderInteropComponent.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/AsyncEventHandlerComponent.cshtml (100%)
 create mode 100644 src/Components/test/testassets/BasicTestApp/BasicTestApp.csproj
 rename src/Components/test/{testapps => testassets}/BasicTestApp/BindCasesComponent.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/CascadingValueTest/CascadingValueIntermediary.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/CascadingValueTest/CascadingValueReceiveByName.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/CascadingValueTest/CascadingValueReceiveByType.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/CascadingValueTest/CascadingValueReceiveFixedByInterface.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/CascadingValueTest/CascadingValueSupplier.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/CascadingValueTest/CascadingValueTypes.cs (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/ComponentRefComponent.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/ConcurrentRenderChild.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/ConcurrentRenderParent.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/CounterComponent.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/CounterComponentUsingChild.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/CounterComponentWrapper.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/DataDashComponent.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/DispatchingComponent.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/ElementRefComponent.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/EventBubblingComponent.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/EventPreventDefaultComponent.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/ExternalContentPackage.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/FocusEventComponent.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/HierarchicalImportsTest/Subdir/ComponentUsingImports.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/HierarchicalImportsTest/Subdir/_ViewImports.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/HierarchicalImportsTest/_ViewImports.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/HtmlBlockChildContent.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/HtmlEncodedChildContent.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/HtmlMixedChildContent.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/HttpClientTest/BinaryHttpRequestsComponent.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/HttpClientTest/CookieCounterComponent.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/HttpClientTest/HttpRequestsComponent.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/Index.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/InputEventComponent.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/InteropComponent.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/InteropTest/ComplexParameter.cs (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/InteropTest/JavaScriptInterop.cs (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/InteropTest/Segment.cs (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/InteropTest/TestDTO.cs (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/KeyPressEventComponent.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/LogicalElementInsertionCases.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/MarkupBlockComponent.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/MessageComponent.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/MouseEventComponent.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/MultipleChildContent.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/OrderedList.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/ParentChildComponent.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/PassThroughContentComponent.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/Program.cs (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/PropertiesChangedHandlerChild.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/PropertiesChangedHandlerParent.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/RazorTemplates.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/RedTextComponent.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/RenderFragmentToggler.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/RouterTest/Default.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/RouterTest/Error404.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/RouterTest/Links.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/RouterTest/Other.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/RouterTest/TestRouter.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/RouterTest/WithNumberParameters.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/RouterTest/WithParameters.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/Startup.cs (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/SvgCircleComponent.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/SvgComponent.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/SvgWithChildComponent.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/TemplatedTable.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/TextOnlyComponent.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/TouchEventComponent.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/wwwroot/index.html (100%)
 rename src/Components/test/{testapps => testassets}/BasicTestApp/wwwroot/js/jsinteroptests.js (100%)
 rename src/Components/{samples => test/testassets}/ComponentsApp.App/App.cshtml (100%)
 create mode 100644 src/Components/test/testassets/ComponentsApp.App/ComponentsApp.App.csproj
 rename src/Components/{samples => test/testassets}/ComponentsApp.App/Pages/Counter.cshtml (100%)
 rename src/Components/{samples => test/testassets}/ComponentsApp.App/Pages/FetchData.cshtml (100%)
 rename src/Components/{samples => test/testassets}/ComponentsApp.App/Pages/Index.cshtml (100%)
 rename src/Components/{samples => test/testassets}/ComponentsApp.App/Pages/_ViewImports.cshtml (100%)
 rename src/Components/{samples => test/testassets}/ComponentsApp.App/Shared/MainLayout.cshtml (100%)
 rename src/Components/{samples => test/testassets}/ComponentsApp.App/Shared/NavMenu.cshtml (100%)
 rename src/Components/{samples => test/testassets}/ComponentsApp.App/Startup.cs (100%)
 rename src/Components/{samples => test/testassets}/ComponentsApp.App/WeatherForecast.cs (100%)
 rename src/Components/{samples => test/testassets}/ComponentsApp.App/WeatherForecastService.cs (100%)
 rename src/Components/{samples => test/testassets}/ComponentsApp.App/_ViewImports.cshtml (100%)
 create mode 100644 src/Components/test/testassets/ComponentsApp.Server/ComponentsApp.Server.csproj
 rename src/Components/{samples => test/testassets}/ComponentsApp.Server/DefaultWeatherForecastService.cs (100%)
 rename src/Components/{samples => test/testassets}/ComponentsApp.Server/Program.cs (100%)
 rename src/Components/{samples => test/testassets}/ComponentsApp.Server/Startup.cs (100%)
 rename src/Components/{samples => test/testassets}/ComponentsApp.Server/sample-data/weather.json (100%)
 rename src/Components/{samples => test/testassets}/ComponentsApp.Server/wwwroot/css/bootstrap/bootstrap.min.css (100%)
 rename src/Components/{samples => test/testassets}/ComponentsApp.Server/wwwroot/css/bootstrap/bootstrap.min.css.map (100%)
 rename src/Components/{samples => test/testassets}/ComponentsApp.Server/wwwroot/css/open-iconic/FONT-LICENSE (100%)
 rename src/Components/{samples => test/testassets}/ComponentsApp.Server/wwwroot/css/open-iconic/ICON-LICENSE (100%)
 rename src/Components/{samples => test/testassets}/ComponentsApp.Server/wwwroot/css/open-iconic/README.md (100%)
 rename src/Components/{samples => test/testassets}/ComponentsApp.Server/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css (100%)
 rename src/Components/{samples => test/testassets}/ComponentsApp.Server/wwwroot/css/open-iconic/font/fonts/open-iconic.eot (100%)
 rename src/Components/{samples => test/testassets}/ComponentsApp.Server/wwwroot/css/open-iconic/font/fonts/open-iconic.otf (100%)
 rename src/Components/{samples => test/testassets}/ComponentsApp.Server/wwwroot/css/open-iconic/font/fonts/open-iconic.svg (100%)
 rename src/Components/{samples => test/testassets}/ComponentsApp.Server/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf (100%)
 rename src/Components/{samples => test/testassets}/ComponentsApp.Server/wwwroot/css/open-iconic/font/fonts/open-iconic.woff (100%)
 rename src/Components/{samples => test/testassets}/ComponentsApp.Server/wwwroot/css/site.css (100%)
 rename src/Components/{samples => test/testassets}/ComponentsApp.Server/wwwroot/index.html (100%)
 rename src/Components/test/{testapps => testassets}/TestContentPackage/ComponentFromPackage.cshtml (100%)
 rename src/Components/test/{testapps => testassets}/TestContentPackage/MyPrompt.cs (100%)
 rename src/Components/test/{testapps => testassets}/TestContentPackage/TestContentPackage.csproj (66%)
 rename src/Components/test/{testapps => testassets}/TestContentPackage/content/face.png (100%)
 rename src/Components/test/{testapps => testassets}/TestContentPackage/content/prompt.js (100%)
 rename src/Components/test/{testapps => testassets}/TestContentPackage/content/styles.css (100%)
 rename src/Components/test/{testapps => testassets}/TestServer/Controllers/CookieController.cs (100%)
 rename src/Components/test/{testapps => testassets}/TestServer/Controllers/DataController.cs (100%)
 rename src/Components/test/{testapps => testassets}/TestServer/Controllers/GreetingController.cs (100%)
 rename src/Components/test/{testapps => testassets}/TestServer/Controllers/PersonController.cs (100%)
 rename src/Components/test/{testapps => testassets}/TestServer/Program.cs (100%)
 rename src/Components/test/{testapps => testassets}/TestServer/Startup.cs (98%)
 create mode 100644 src/Components/test/testassets/TestServer/TestServer.csproj
 rename src/Components/test/{testapps => testassets}/TestServer/appsettings.Development.json (100%)
 rename src/Components/test/{testapps => testassets}/TestServer/appsettings.json (100%)

diff --git a/.gitignore b/.gitignore
index 469825be569..70e845f6a67 100644
--- a/.gitignore
+++ b/.gitignore
@@ -32,3 +32,4 @@ korebuild-lock.txt
 .gradle/
 src/SignalR/clients/**/dist/
 modules/
+.template.config/
diff --git a/build/buildorder.props b/build/buildorder.props
index 4cef7bf246e..d121a929bc8 100644
--- a/build/buildorder.props
+++ b/build/buildorder.props
@@ -8,7 +8,6 @@
 
   <ItemGroup>
     <RepositoryBuildOrder Include="AuthSamples" Order="16" />
-    <RepositoryBuildOrder Include="Components" Order="17" />
     <RepositoryBuildOrder Include="Templating" Order="18" />
   </ItemGroup>
 </Project>
diff --git a/build/repo.props b/build/repo.props
index f50b7d4f036..1288ef04765 100644
--- a/build/repo.props
+++ b/build/repo.props
@@ -36,6 +36,13 @@
 
   <!-- These projects are always excluded, even when -projects is specified on command line. -->
   <ItemGroup>
+
+    <!--
+      Excluding the Blazor VSIX because MSBuild.exe currently always fails with "error NETSDK1050: The version of Microsoft.NET.Sdk used by this project is insufficient".
+      This VSIX is going to move into aspnet/AspNetCore-Tooling soon
+    -->
+    <ProjectToExclude Include="$(RepositoryRoot)src\Components\Blazor\BlazorExtension\src\Microsoft.VisualStudio.BlazorExtension.csproj" />
+
     <!-- These projects use 'legacy' csproj, which is not supported by dotnet-msbuild. -->
     <ProjectToExclude Include="
                       $(RepositoryRoot)src\Servers\HttpSys\samples\TestClient\TestClient.csproj;
@@ -52,6 +59,7 @@
                       $(RepositoryRoot)src\Razor\Razor.Design\test\testassets\**\*.*proj;
                       $(RepositoryRoot)src\SignalR\clients\cpp\**\*.*proj;
                       $(RepositoryRoot)src\SignalR\clients\ts\**\node_modules\**\*.*proj;
+                      $(RepositoryRoot)src\Components\Blazor\Templates\src\content\**\*.*proj;
                       " />
   </ItemGroup>
 
@@ -137,6 +145,7 @@
                           $(RepositoryRoot)src\Azure\**\*.*proj;
                           $(RepositoryRoot)src\MusicStore\**\*.*proj;
                           $(RepositoryRoot)src\SignalR\**\*.csproj;
+                          $(RepositoryRoot)src\Components\**\*.csproj;
                           "
                         Exclude="
                           @(ProjectToBuild);
diff --git a/build/runtimes.props b/build/runtimes.props
index 469097305ff..5a0848ef3b3 100644
--- a/build/runtimes.props
+++ b/build/runtimes.props
@@ -1,6 +1,9 @@
 <Project>
 
   <ItemGroup>
+    <!-- Workaround https://github.com/aspnet/AspNetCore/issues/6726. Required because illink (part of Microsoft.AspNetCore.Blazor.Mono) depends on .NET Core 2.x -->
+    <DotNetCoreRuntime Include="2.2.1" />
+
     <DotNetCoreRuntime Include="$(MicrosoftNETCoreAppPackageVersion)"
       Feed="$(DotNetAssetRootUrl)"
       FeedCredential="$(DotNetAssetRootAccessTokenSuffix)" />
diff --git a/build/submodules.props b/build/submodules.props
index 63532442888..2c67fd3e7c9 100644
--- a/build/submodules.props
+++ b/build/submodules.props
@@ -36,7 +36,6 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <Repository Include="Components" />
     <Repository Include="Templating" PatchPolicy="AlwaysUpdateAndCascadeVersions" />
 
     <!-- Test-only repos -->
diff --git a/eng/Dependencies.props b/eng/Dependencies.props
index 5bb5c428dba..f58fed0c41e 100644
--- a/eng/Dependencies.props
+++ b/eng/Dependencies.props
@@ -19,17 +19,31 @@ and are generated based on the last package release.
     </LatestPackageReference>
   </ItemDefinitionGroup>
 
-  <!-- These dependencies must use version variables because they may be overriden by ProdCon builds. -->
-  <ItemGroup Label="ProdCon dependencies">
+  <ItemGroup>
+    <LatestPackageReference Include="AngleSharp" Version="$(AngleSharpPackageVersion)" />
+    <LatestPackageReference Include="BenchmarkDotNet" Version="$(BenchmarkDotNetPackageVersion)" />
+    <LatestPackageReference Include="FSharp.Core" Version="$(FSharpCorePackageVersion)" />
+    <LatestPackageReference Include="Google.ProtoBuf" Version="$(GoogleProtoBufPackageVersion)" />
+    <LatestPackageReference Include="IdentityServer4.AspNetIdentity" Version="$(IdentityServer4AspNetIdentityPackageVersion)" />
+    <LatestPackageReference Include="IdentityServer4.EntityFramework" Version="$(IdentityServer4EntityFrameworkPackageVersion)" />
+    <LatestPackageReference Include="IdentityServer4" Version="$(IdentityServer4PackageVersion)" />
+    <LatestPackageReference Include="Libuv" Version="$(LibuvPackageVersion)" />
+    <LatestPackageReference Include="MessagePack" Version="$(MessagePackPackageVersion)" />
+    <LatestPackageReference Include="Microsoft.AspNet.WebApi.Client" Version="$(MicrosoftAspNetWebApiClientPackageVersion)" />
     <LatestPackageReference Include="Microsoft.AspNetCore.Analyzer.Testing" Version="$(MicrosoftAspNetCoreAnalyzerTestingPackageVersion)" />
     <LatestPackageReference Include="Microsoft.AspNetCore.BenchmarkRunner.Sources" Version="$(MicrosoftAspNetCoreBenchmarkRunnerSourcesPackageVersion)" />
+    <LatestPackageReference Include="Microsoft.AspNetCore.Blazor.Mono" Version="$(MicrosoftAspNetCoreBlazorMonoPackageVersion)" />
     <LatestPackageReference Include="Microsoft.AspNetCore.Hosting.Abstractions" Version="$(MicrosoftAspNetCoreHostingAbstractionsPackageVersion)" />
+    <LatestPackageReference Include="Microsoft.AspNetCore.Mvc.Razor.Extensions" Version="$(MicrosoftAspNetCoreMvcRazorExtensionsPackageVersion)" />
+    <LatestPackageReference Include="Microsoft.AspNetCore.Razor.Language" Version="$(MicrosoftAspNetCoreRazorLanguagePackageVersion)" />
     <LatestPackageReference Include="Microsoft.AspNetCore.Testing" Version="$(MicrosoftAspNetCoreTestingPackageVersion)" />
+    <LatestPackageReference Include="Microsoft.Azure.KeyVault" Version="$(MicrosoftAzureKeyVaultPackageVersion)" />
     <LatestPackageReference Include="Microsoft.Build.Framework" Version="$(MicrosoftBuildFrameworkPackageVersion)" />
     <LatestPackageReference Include="Microsoft.Build.Utilities.Core" Version="$(MicrosoftBuildUtilitiesCorePackageVersion)" />
     <LatestPackageReference Include="Microsoft.CodeAnalysis.Common" Version="$(MicrosoftCodeAnalysisCommonPackageVersion)" />
     <LatestPackageReference Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="$(MicrosoftCodeAnalysisCSharpWorkspacesPackageVersion)" />
     <LatestPackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="$(MicrosoftCodeAnalysisCSharpPackageVersion)" />
+    <LatestPackageReference Include="Microsoft.CodeAnalysis.Razor" Version="$(MicrosoftCodeAnalysisRazorPackageVersion)" />
     <LatestPackageReference Include="Microsoft.CSharp" Version="$(MicrosoftCSharpPackageVersion)" />
     <LatestPackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="$(MicrosoftEntityFrameworkCoreInMemoryPackageVersion)" />
     <LatestPackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="$(MicrosoftEntityFrameworkCoreRelationalPackageVersion)" />
@@ -73,29 +87,43 @@ and are generated based on the last package release.
     <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.Debug" Version="$(MicrosoftExtensionsLoggingPackageVersion)" />
     <LatestPackageReference Include="Microsoft.Extensions.Logging.EventSource" Version="$(MicrosoftExtensionsLoggingEventSourcePackageVersion)" />
     <LatestPackageReference Include="Microsoft.Extensions.Logging.Testing" Version="$(MicrosoftExtensionsLoggingTestingPackageVersion)" />
-    <LatestPackageReference Include="Microsoft.Extensions.Logging.Debug" Version="$(MicrosoftExtensionsLoggingPackageVersion)" />
     <LatestPackageReference Include="Microsoft.Extensions.Logging" Version="$(MicrosoftExtensionsLoggingPackageVersion)" />
     <LatestPackageReference Include="Microsoft.Extensions.ObjectPool" Version="$(MicrosoftExtensionsObjectPoolPackageVersion)" />
     <LatestPackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="$(MicrosoftExtensionsOptionsConfigurationExtensionsPackageVersion)" />
     <LatestPackageReference Include="Microsoft.Extensions.Options" Version="$(MicrosoftExtensionsOptionsPackageVersion)" />
-    <LatestPackageReference Include="Microsoft.Extensions.Primitives" Version="$(MicrosoftExtensionsPrimitivesPackageVersion)" />
     <LatestPackageReference Include="Microsoft.Extensions.ParameterDefaultValue.Sources" Version="$(MicrosoftExtensionsParameterDefaultValueSourcesPackageVersion)" />
+    <LatestPackageReference Include="Microsoft.Extensions.Primitives" Version="$(MicrosoftExtensionsPrimitivesPackageVersion)" />
     <LatestPackageReference Include="Microsoft.Extensions.TypeNameHelper.Sources" Version="$(MicrosoftExtensionsTypeNameHelperSourcesPackageVersion)" />
     <LatestPackageReference Include="Microsoft.Extensions.ValueStopWatch.Sources" Version="$(MicrosoftExtensionsValueStopwatchSourcesPackageVersion)" />
     <LatestPackageReference Include="Microsoft.Extensions.WebEncoders" Version="$(MicrosoftExtensionsWebEncodersPackageVersion)" />
     <LatestPackageReference Include="Microsoft.IdentityModel.Clients.ActiveDirectory" Version="$(MicrosoftIdentityModelClientsActiveDirectoryPackageVersion)" />
     <LatestPackageReference Include="Microsoft.IdentityModel.Protocols.OpenIdConnect" Version="$(MicrosoftIdentityModelProtocolsOpenIdConnectPackageVersion)" />
     <LatestPackageReference Include="Microsoft.IdentityModel.Protocols.WsFederation" Version="$(MicrosoftIdentityModelProtocolsWsFederationPackageVersion)" />
-    <LatestPackageReference Include="Microsoft.Owin.Security.Cookies" Version="$(MicrosoftOwinSecurityCookiesPackageVersion)" />
-    <LatestPackageReference Include="Microsoft.Owin.Testing" Version="$(MicrosoftOwinTestingPackageVersion)" />
     <LatestPackageReference Include="Microsoft.Internal.AspNetCore.H2Spec.All" Version="$(MicrosoftInternalAspNetCoreH2SpecAllPackageVersion)" />
+    <LatestPackageReference Include="Microsoft.JSInterop" Version="$(MicrosoftJSInteropPackageVersion)" />
     <LatestPackageReference Include="Microsoft.NET.Sdk.Razor" Version="$(MicrosoftNETSdkRazorPackageVersion)" />
+    <LatestPackageReference Include="Microsoft.NET.Test.Sdk" Version="$(MicrosoftNETTestSdkPackageVersion)" />
     <LatestPackageReference Include="Microsoft.NETCore.Windows.ApiSets" Version="$(MicrosoftNETCoreWindowsApiSetsPackageVersion)" />
+    <LatestPackageReference Include="Microsoft.Owin.Security.Cookies" Version="$(MicrosoftOwinSecurityCookiesPackageVersion)" />
+    <LatestPackageReference Include="Microsoft.Owin.Testing" Version="$(MicrosoftOwinTestingPackageVersion)" />
     <LatestPackageReference Include="Microsoft.Web.Administration" Version="$(MicrosoftWebAdministrationPackageVersion)" />
     <LatestPackageReference Include="Microsoft.Win32.Registry" Version="$(MicrosoftWin32RegistryPackageVersion)" />
+    <LatestPackageReference Include="Mono.Cecil" Version="$(MonoCecilPackageVersion)" />
+    <LatestPackageReference Include="Mono.WebAssembly.Interop" Version="$(MonoWebAssemblyInteropPackageVersion)" />
+    <LatestPackageReference Include="Moq" Version="$(MoqPackageVersion)" />
+    <LatestPackageReference Include="Newtonsoft.Json.Bson" Version="$(NewtonsoftJsonBsonPackageVersion)" />
+    <LatestPackageReference Include="Newtonsoft.Json" Version="$(NewtonsoftJsonPackageVersion)" />
+    <LatestPackageReference Include="Selenium.Support" Version="$(SeleniumSupportPackageVersion)" />
+    <LatestPackageReference Include="Selenium.WebDriver.ChromeDriver" Version="$(SeleniumWebDriverChromeDriverPackageVersion)" />
+    <LatestPackageReference Include="Selenium.WebDriver" Version="$(SeleniumWebDriverPackageVersion)" />
+    <LatestPackageReference Include="Serilog.Extensions.Logging" Version="$(SerilogExtensionsLoggingPackageVersion)" />
+    <LatestPackageReference Include="Serilog.Sinks.File" Version="$(SerilogSinksFilePackageVersion)" />
+    <LatestPackageReference Include="StackExchange.Redis" Version="$(StackExchangeRedisPackageVersion)" />
     <LatestPackageReference Include="System.Buffers" Version="$(SystemBuffersPackageVersion)" />
+    <LatestPackageReference Include="System.CodeDom" Version="$(SystemCodeDomPackageVersion)" />
     <LatestPackageReference Include="System.ComponentModel.Annotations" Version="$(SystemComponentModelAnnotationsPackageVersion)" />
     <LatestPackageReference Include="System.Data.SqlClient" Version="$(SystemDataSqlClientPackageVersion)" />
     <LatestPackageReference Include="System.Diagnostics.DiagnosticSource" Version="$(SystemDiagnosticsDiagnosticSourcePackageVersion)" />
@@ -106,39 +134,16 @@ and are generated based on the last package release.
     <LatestPackageReference Include="System.Net.Http.WinHttpHandler" Version="$(SystemNetHttpWinHttpHandlerPackageVersion)" />
     <LatestPackageReference Include="System.Net.WebSockets.WebSocketProtocol" Version="$(SystemNetWebSocketsWebSocketProtocolPackageVersion)" />
     <LatestPackageReference Include="System.Numerics.Vectors" Version="$(SystemNumericsVectorsPackageVersion)" />
+    <LatestPackageReference Include="System.Reactive.Linq" Version="$(SystemReactiveLinqPackageVersion)" />
     <LatestPackageReference Include="System.Reflection.Metadata" Version="$(SystemReflectionMetadataPackageVersion)" />
     <LatestPackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="$(SystemRuntimeCompilerServicesUnsafePackageVersion)" />
     <LatestPackageReference Include="System.Security.Cryptography.Cng" Version="$(SystemSecurityCryptographyCngPackageVersion)" />
     <LatestPackageReference Include="System.Security.Cryptography.Xml" Version="$(SystemSecurityCryptographyXmlPackageVersion)" />
     <LatestPackageReference Include="System.Security.Principal.Windows" Version="$(SystemSecurityPrincipalWindowsPackageVersion)" />
     <LatestPackageReference Include="System.ServiceProcess.ServiceController" Version="$(SystemServiceProcessServiceControllerPackageVersion)" />
+    <LatestPackageReference Include="System.Text.Encodings.Web" Version="$(SystemTextEncodingsWebPackageVersion)" />
     <LatestPackageReference Include="System.Threading.Channels" Version="$(SystemThreadingChannelsPackageVersion)" />
     <LatestPackageReference Include="System.Threading.Tasks.Extensions" Version="$(SystemThreadingTasksExtensionsPackageVersion)" />
-    <LatestPackageReference Include="System.Text.Encodings.Web" Version="$(SystemTextEncodingsWebPackageVersion)" />
-  </ItemGroup>
-
-  <ItemGroup Label="External dependencies">
-    <LatestPackageReference Include="AngleSharp" Version="$(AngleSharpPackageVersion)" />
-    <LatestPackageReference Include="BenchmarkDotNet" Version="$(BenchmarkDotNetPackageVersion)" />
-    <LatestPackageReference Include="FSharp.Core" Version="$(FSharpCorePackageVersion)" />
-    <LatestPackageReference Include="Google.ProtoBuf" Version="$(GoogleProtoBufPackageVersion)" />
-    <LatestPackageReference Include="IdentityServer4.AspNetIdentity" Version="$(IdentityServer4AspNetIdentityPackageVersion)" />
-    <LatestPackageReference Include="IdentityServer4.EntityFramework" Version="$(IdentityServer4EntityFrameworkPackageVersion)" />
-    <LatestPackageReference Include="IdentityServer4" Version="$(IdentityServer4PackageVersion)" />
-    <LatestPackageReference Include="Libuv" Version="$(LibuvPackageVersion)" />
-    <LatestPackageReference Include="MessagePack" Version="$(MessagePackPackageVersion)" />
-    <LatestPackageReference Include="Microsoft.AspNet.WebApi.Client" Version="$(MicrosoftAspNetWebApiClientPackageVersion)" />
-    <LatestPackageReference Include="Microsoft.Azure.KeyVault" Version="$(MicrosoftAzureKeyVaultPackageVersion)" />
-    <LatestPackageReference Include="Microsoft.NET.Test.Sdk" Version="$(MicrosoftNETTestSdkPackageVersion)" />
-    <LatestPackageReference Include="Moq" Version="$(MoqPackageVersion)" />
-    <LatestPackageReference Include="Newtonsoft.Json.Bson" Version="$(NewtonsoftJsonBsonPackageVersion)" />
-    <LatestPackageReference Include="Newtonsoft.Json" Version="$(NewtonsoftJsonPackageVersion)" />
-    <LatestPackageReference Include="Selenium.WebDriver.ChromeDriver" Version="$(SeleniumWebDriverChromeDriverPackageVersion)" />
-    <LatestPackageReference Include="Selenium.WebDriver" Version="$(SeleniumWebDriverPackageVersion)" />
-    <LatestPackageReference Include="Serilog.Extensions.Logging" Version="$(SerilogExtensionsLoggingPackageVersion)" />
-    <LatestPackageReference Include="Serilog.Sinks.File" Version="$(SerilogSinksFilePackageVersion)" />
-    <LatestPackageReference Include="StackExchange.Redis" Version="$(StackExchangeRedisPackageVersion)" />
-    <LatestPackageReference Include="System.Reactive.Linq" Version="$(SystemReactiveLinqPackageVersion)" />
     <LatestPackageReference Include="Utf8Json" Version="$(Utf8JsonPackageVersion)" />
     <LatestPackageReference Include="WindowsAzure.Storage" Version="$(WindowsAzureStoragePackageVersion)" />
     <LatestPackageReference Include="xunit.abstractions" Version="$(XunitAbstractionsPackageVersion)" />
diff --git a/eng/ProjectReferences.props b/eng/ProjectReferences.props
index cfc816fe0f4..7cd8483bbd3 100644
--- a/eng/ProjectReferences.props
+++ b/eng/ProjectReferences.props
@@ -125,5 +125,15 @@
     <ProjectReferenceProvider Include="Microsoft.AspNetCore.SignalR" ProjectPath="$(RepositoryRoot)src\SignalR\server\SignalR\src\Microsoft.AspNetCore.SignalR.csproj" />
     <ProjectReferenceProvider Include="Microsoft.AspNetCore.SignalR.Specification.Tests" ProjectPath="$(RepositoryRoot)src\SignalR\server\Specification.Tests\src\Microsoft.AspNetCore.SignalR.Specification.Tests.csproj" />
     <ProjectReferenceProvider Include="Microsoft.AspNetCore.SignalR.StackExchangeRedis" ProjectPath="$(RepositoryRoot)src\SignalR\server\StackExchangeRedis\src\Microsoft.AspNetCore.SignalR.StackExchangeRedis.csproj" />
+    <ProjectReferenceProvider Include="Microsoft.VisualStudio.LanguageServices.Blazor" ProjectPath="$(RepositoryRoot)src\Components\Blazor\BlazorLanguageServices\src\Microsoft.VisualStudio.LanguageServices.Blazor.csproj" />
+    <ProjectReferenceProvider Include="Microsoft.AspNetCore.Blazor" ProjectPath="$(RepositoryRoot)src\Components\Blazor\Blazor\src\Microsoft.AspNetCore.Blazor.csproj" />
+    <ProjectReferenceProvider Include="Microsoft.AspNetCore.Blazor.Build" ProjectPath="$(RepositoryRoot)src\Components\Blazor\Build\src\Microsoft.AspNetCore.Blazor.Build.csproj" />
+    <ProjectReferenceProvider Include="Microsoft.AspNetCore.Blazor.Server" ProjectPath="$(RepositoryRoot)src\Components\Blazor\Server\src\Microsoft.AspNetCore.Blazor.Server.csproj" />
+    <ProjectReferenceProvider Include="Microsoft.AspNetCore.Blazor.Templates" ProjectPath="$(RepositoryRoot)src\Components\Blazor\Templates\src\Microsoft.AspNetCore.Blazor.Templates.csproj" />
+    <ProjectReferenceProvider Include="Microsoft.AspNetCore.Components.Browser.JS" ProjectPath="$(RepositoryRoot)src\Components\Browser.JS\src\Microsoft.AspNetCore.Components.Browser.JS.csproj" />
+    <ProjectReferenceProvider Include="Microsoft.AspNetCore.Components.Browser" ProjectPath="$(RepositoryRoot)src\Components\Browser\src\Microsoft.AspNetCore.Components.Browser.csproj" />
+    <ProjectReferenceProvider Include="Microsoft.AspNetCore.Components.Build" ProjectPath="$(RepositoryRoot)src\Components\Build\src\Microsoft.AspNetCore.Components.Build.csproj" />
+    <ProjectReferenceProvider Include="Microsoft.AspNetCore.Components" ProjectPath="$(RepositoryRoot)src\Components\Components\src\Microsoft.AspNetCore.Components.csproj" />
+    <ProjectReferenceProvider Include="Microsoft.AspNetCore.Components.Server" ProjectPath="$(RepositoryRoot)src\Components\Server\src\Microsoft.AspNetCore.Components.Server.csproj" />
   </ItemGroup>
 </Project>
diff --git a/eng/Versions.props b/eng/Versions.props
index fd7bd4c55c8..39d40c2579a 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -106,6 +106,9 @@
     <MicrosoftEntityFrameworkCorePackageVersion>3.0.0-preview.18604.3</MicrosoftEntityFrameworkCorePackageVersion>
 
     <!-- Packages from aspnet/AspNetCore-Tooling -->
+    <MicrosoftAspNetCoreMvcRazorExtensionsPackageVersion>3.0.0-preview-19064-09</MicrosoftAspNetCoreMvcRazorExtensionsPackageVersion>
+    <MicrosoftAspNetCoreRazorLanguagePackageVersion>3.0.0-preview-19064-09</MicrosoftAspNetCoreRazorLanguagePackageVersion>
+    <MicrosoftCodeAnalysisRazorPackageVersion>3.0.0-preview-19064-09</MicrosoftCodeAnalysisRazorPackageVersion>
     <MicrosoftNETSdkRazorPackageVersion>3.0.0-preview-19064-09</MicrosoftNETSdkRazorPackageVersion>
   </PropertyGroup>
 
@@ -120,9 +123,10 @@
   <PropertyGroup Label="Pinned">
     <!-- Stable dotnet/corefx packages no longer updated for .NET Core 3 -->
     <SystemBuffersPackageVersion>4.5.0</SystemBuffersPackageVersion>
+    <SystemCodeDomPackageVersion>4.4.0</SystemCodeDomPackageVersion>
     <SystemMemoryPackageVersion>4.5.2</SystemMemoryPackageVersion>
-    <SystemThreadingTasksExtensionsPackageVersion>4.5.2</SystemThreadingTasksExtensionsPackageVersion>
     <SystemNetHttpPackageVersion>4.3.2</SystemNetHttpPackageVersion>
+    <SystemThreadingTasksExtensionsPackageVersion>4.5.2</SystemThreadingTasksExtensionsPackageVersion>
 
     <!-- Packages developed by @aspnet, but manually updated as necessary. -->
     <LibuvPackageVersion>1.10.0</LibuvPackageVersion>
@@ -148,6 +152,12 @@
     <SystemIdentityModelTokensJwtPackageVersion>5.3.0</SystemIdentityModelTokensJwtPackageVersion>
     <WindowsAzureStoragePackageVersion>8.1.4</WindowsAzureStoragePackageVersion>
 
+    <!-- Dependencies for Blazor. -->
+    <MicrosoftAspNetCoreBlazorMonoPackageVersion>0.8.0-preview1-20181126.1</MicrosoftAspNetCoreBlazorMonoPackageVersion>
+    <!-- When updating this, ensure you also update src/Components/Browser.JS/src/package.json to reference the corresponding version of @dotnet/jsinterop -->
+    <MonoWebAssemblyInteropPackageVersion>0.8.0-preview1-20181126.4</MonoWebAssemblyInteropPackageVersion>
+    <MicrosoftJSInteropPackageVersion>0.8.0-preview1-20181126.4</MicrosoftJSInteropPackageVersion>
+
     <!-- 3rd party dependencies -->
     <AngleSharpPackageVersion>0.9.9</AngleSharpPackageVersion>
     <BenchmarkDotNetPackageVersion>0.10.13</BenchmarkDotNetPackageVersion>
@@ -159,6 +169,7 @@
     <GoogleProtobufPackageVersion>3.1.0</GoogleProtobufPackageVersion>
     <MessagePackPackageVersion>1.7.3.4</MessagePackPackageVersion>
     <MoqPackageVersion>4.10.0</MoqPackageVersion>
+    <MonoCecilPackageVersion>0.10.1</MonoCecilPackageVersion>
     <NewtonsoftJsonBsonPackageVersion>1.0.2</NewtonsoftJsonBsonPackageVersion>
     <NewtonsoftJsonPackageVersion>12.0.1</NewtonsoftJsonPackageVersion>
     <SeleniumSupportPackageVersion>3.12.1</SeleniumSupportPackageVersion>
diff --git a/src/Components/.editorconfig b/src/Components/.editorconfig
deleted file mode 100644
index f9d02415ce3..00000000000
--- a/src/Components/.editorconfig
+++ /dev/null
@@ -1,55 +0,0 @@
-# All Files
-[*]
-charset = utf-8
-end_of_line = crlf
-indent_style = space
-indent_size = 4
-insert_final_newline = false
-trim_trailing_whitespace = true
-
-# Solution Files
-[*.sln]
-indent_style = tab
-
-# Markdown Files
-[*.md]
-trim_trailing_whitespace = false
-
-# Web Files
-[*.{htm,html,js,ts,css,scss,less}]
-insert_final_newline = true
-indent_size = 2
-
-[*.{yml,json}]
-indent_size = 2
-
-[*.{xml,csproj,config,*proj,targets,props}]
-indent_size = 2
-
-# Dotnet code style settings:
-[*.cs]
-# Sort using and Import directives with System.* appearing first
-dotnet_sort_system_directives_first = true
-
-# Don't use this. qualifier
-dotnet_style_qualification_for_field = false:suggestion
-dotnet_style_qualification_for_property = false:suggestion
-
-# use int x = .. over Int32
-dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion
-
-# use int.MaxValue over Int32.MaxValue
-dotnet_style_predefined_type_for_member_access = true:suggestion
-
-# Require var all the time.
-csharp_style_var_for_built_in_types = true:suggestion
-csharp_style_var_when_type_is_apparent = true:suggestion
-csharp_style_var_elsewhere = true:suggestion
-
-# Newline settings
-csharp_new_line_before_open_brace = all
-csharp_new_line_before_else = true
-csharp_new_line_before_catch = true
-csharp_new_line_before_finally = true
-csharp_new_line_before_members_in_object_initializers = true
-csharp_new_line_before_members_in_anonymous_types = true
diff --git a/src/Components/.gitignore b/src/Components/.gitignore
deleted file mode 100644
index 33382d59a56..00000000000
--- a/src/Components/.gitignore
+++ /dev/null
@@ -1,10 +0,0 @@
-.vs/
-bin/
-obj/
-*.user
-launchSettings.json
-artifacts/
-msbuild.binlog
-.vscode/
-BenchmarkDotNet.Artifacts/
-*.binlog
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Analyzers/ComponentParametersShouldNotBePublicAnalyzer.cs b/src/Components/Analyzers/src/ComponentParametersShouldNotBePublicAnalyzer.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Analyzers/ComponentParametersShouldNotBePublicAnalyzer.cs
rename to src/Components/Analyzers/src/ComponentParametersShouldNotBePublicAnalyzer.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Analyzers/ComponentParametersShouldNotBePublicCodeFixProvider.cs b/src/Components/Analyzers/src/ComponentParametersShouldNotBePublicCodeFixProvider.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Analyzers/ComponentParametersShouldNotBePublicCodeFixProvider.cs
rename to src/Components/Analyzers/src/ComponentParametersShouldNotBePublicCodeFixProvider.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Analyzers/Microsoft.AspNetCore.Components.Analyzers.csproj b/src/Components/Analyzers/src/Microsoft.AspNetCore.Components.Analyzers.csproj
similarity index 73%
rename from src/Components/src/Microsoft.AspNetCore.Components.Analyzers/Microsoft.AspNetCore.Components.Analyzers.csproj
rename to src/Components/Analyzers/src/Microsoft.AspNetCore.Components.Analyzers.csproj
index 276f246bcde..86258126718 100644
--- a/src/Components/src/Microsoft.AspNetCore.Components.Analyzers/Microsoft.AspNetCore.Components.Analyzers.csproj
+++ b/src/Components/Analyzers/src/Microsoft.AspNetCore.Components.Analyzers.csproj
@@ -7,10 +7,12 @@
     <GenerateDocumentationFile>false</GenerateDocumentationFile>
     <Description>Roslyn analyzers for ASP.NET Core Components.</Description>
     <IsProductPackage>true</IsProductPackage>
+    <!-- Manually set to false because other projects should not reference this assembly as a project reference, except for the analyzer's unit tests. -->
+    <IsProjectReferenceProvider>false</IsProjectReferenceProvider>
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="2.4.0" PrivateAssets="all" />
+    <Reference Include="Microsoft.CodeAnalysis.CSharp.Workspaces" PrivateAssets="all" />
     <PackageReference Update="NETStandard.Library" PrivateAssets="all" />
   </ItemGroup>
 
@@ -20,6 +22,7 @@
   </ItemGroup>
 
   <ItemGroup>
+    <Compile Include="$(ComponentsSharedSourceRoot)src\ComponentsApi.cs" LinkBase="Shared" />
     <Compile Update="Resources.Designer.cs">
       <DesignTime>True</DesignTime>
       <AutoGen>True</AutoGen>
@@ -32,8 +35,4 @@
     </EmbeddedResource>
   </ItemGroup>
 
-  <ItemGroup>
-    <Compile Include="..\shared\ComponentsApi.cs" Link="shared\%(Filename)%(Extension)" />
-  </ItemGroup>
-
 </Project>
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Analyzers/Resources.Designer.cs b/src/Components/Analyzers/src/Resources.Designer.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Analyzers/Resources.Designer.cs
rename to src/Components/Analyzers/src/Resources.Designer.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Analyzers/Resources.resx b/src/Components/Analyzers/src/Resources.resx
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Analyzers/Resources.resx
rename to src/Components/Analyzers/src/Resources.resx
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.Analyzers.Test/ComponentParametersShouldNotBePublicTest.cs b/src/Components/Analyzers/test/ComponentParametersShouldNotBePublicTest.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.Analyzers.Test/ComponentParametersShouldNotBePublicTest.cs
rename to src/Components/Analyzers/test/ComponentParametersShouldNotBePublicTest.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.Analyzers.Test/Helpers/CodeFixVerifier.Helper.cs b/src/Components/Analyzers/test/Helpers/CodeFixVerifier.Helper.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.Analyzers.Test/Helpers/CodeFixVerifier.Helper.cs
rename to src/Components/Analyzers/test/Helpers/CodeFixVerifier.Helper.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.Analyzers.Test/Helpers/DiagnosticResult.cs b/src/Components/Analyzers/test/Helpers/DiagnosticResult.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.Analyzers.Test/Helpers/DiagnosticResult.cs
rename to src/Components/Analyzers/test/Helpers/DiagnosticResult.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.Analyzers.Test/Helpers/DiagnosticVerifier.Helper.cs b/src/Components/Analyzers/test/Helpers/DiagnosticVerifier.Helper.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.Analyzers.Test/Helpers/DiagnosticVerifier.Helper.cs
rename to src/Components/Analyzers/test/Helpers/DiagnosticVerifier.Helper.cs
diff --git a/src/Components/Analyzers/test/Microsoft.AspNetCore.Components.Analyzers.Tests.csproj b/src/Components/Analyzers/test/Microsoft.AspNetCore.Components.Analyzers.Tests.csproj
new file mode 100644
index 00000000000..a31c1a8f0e7
--- /dev/null
+++ b/src/Components/Analyzers/test/Microsoft.AspNetCore.Components.Analyzers.Tests.csproj
@@ -0,0 +1,17 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFramework>netcoreapp3.0</TargetFramework>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.AspNetCore.Components" />
+    <Reference Include="Microsoft.CodeAnalysis.CSharp.Workspaces" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <!-- This is set to a ProjectReference because analyzers cannot be referenced via Reference.  -->
+    <ProjectReference Include="..\src\Microsoft.AspNetCore.Components.Analyzers.csproj" />
+  </ItemGroup>
+
+</Project>
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.Analyzers.Test/Verifiers/CodeFixVerifier.cs b/src/Components/Analyzers/test/Verifiers/CodeFixVerifier.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.Analyzers.Test/Verifiers/CodeFixVerifier.cs
rename to src/Components/Analyzers/test/Verifiers/CodeFixVerifier.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.Analyzers.Test/Verifiers/DiagnosticVerifier.cs b/src/Components/Analyzers/test/Verifiers/DiagnosticVerifier.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.Analyzers.Test/Verifiers/DiagnosticVerifier.cs
rename to src/Components/Analyzers/test/Verifiers/DiagnosticVerifier.cs
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor/Hosting/BlazorWebAssemblyHost.cs b/src/Components/Blazor/Blazor/src/Hosting/BlazorWebAssemblyHost.cs
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor/Hosting/BlazorWebAssemblyHost.cs
rename to src/Components/Blazor/Blazor/src/Hosting/BlazorWebAssemblyHost.cs
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor/Hosting/IWebAssemblyHost.cs b/src/Components/Blazor/Blazor/src/Hosting/IWebAssemblyHost.cs
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor/Hosting/IWebAssemblyHost.cs
rename to src/Components/Blazor/Blazor/src/Hosting/IWebAssemblyHost.cs
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor/Hosting/IWebAssemblyHostBuilder.cs b/src/Components/Blazor/Blazor/src/Hosting/IWebAssemblyHostBuilder.cs
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor/Hosting/IWebAssemblyHostBuilder.cs
rename to src/Components/Blazor/Blazor/src/Hosting/IWebAssemblyHostBuilder.cs
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor/Hosting/IWebAssemblyServiceFactoryAdapter.cs b/src/Components/Blazor/Blazor/src/Hosting/IWebAssemblyServiceFactoryAdapter.cs
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor/Hosting/IWebAssemblyServiceFactoryAdapter.cs
rename to src/Components/Blazor/Blazor/src/Hosting/IWebAssemblyServiceFactoryAdapter.cs
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor/Hosting/WebAssemblyBlazorApplicationBuilder.cs b/src/Components/Blazor/Blazor/src/Hosting/WebAssemblyBlazorApplicationBuilder.cs
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor/Hosting/WebAssemblyBlazorApplicationBuilder.cs
rename to src/Components/Blazor/Blazor/src/Hosting/WebAssemblyBlazorApplicationBuilder.cs
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor/Hosting/WebAssemblyHost.cs b/src/Components/Blazor/Blazor/src/Hosting/WebAssemblyHost.cs
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor/Hosting/WebAssemblyHost.cs
rename to src/Components/Blazor/Blazor/src/Hosting/WebAssemblyHost.cs
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor/Hosting/WebAssemblyHostBuilder.cs b/src/Components/Blazor/Blazor/src/Hosting/WebAssemblyHostBuilder.cs
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor/Hosting/WebAssemblyHostBuilder.cs
rename to src/Components/Blazor/Blazor/src/Hosting/WebAssemblyHostBuilder.cs
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor/Hosting/WebAssemblyHostBuilderContext.cs b/src/Components/Blazor/Blazor/src/Hosting/WebAssemblyHostBuilderContext.cs
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor/Hosting/WebAssemblyHostBuilderContext.cs
rename to src/Components/Blazor/Blazor/src/Hosting/WebAssemblyHostBuilderContext.cs
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor/Hosting/WebAssemblyHostBuilderExtensions.cs b/src/Components/Blazor/Blazor/src/Hosting/WebAssemblyHostBuilderExtensions.cs
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor/Hosting/WebAssemblyHostBuilderExtensions.cs
rename to src/Components/Blazor/Blazor/src/Hosting/WebAssemblyHostBuilderExtensions.cs
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor/Hosting/WebAssemblyHostExtensions.cs b/src/Components/Blazor/Blazor/src/Hosting/WebAssemblyHostExtensions.cs
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor/Hosting/WebAssemblyHostExtensions.cs
rename to src/Components/Blazor/Blazor/src/Hosting/WebAssemblyHostExtensions.cs
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor/Hosting/WebAssemblyServiceFactoryAdapter.cs b/src/Components/Blazor/Blazor/src/Hosting/WebAssemblyServiceFactoryAdapter.cs
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor/Hosting/WebAssemblyServiceFactoryAdapter.cs
rename to src/Components/Blazor/Blazor/src/Hosting/WebAssemblyServiceFactoryAdapter.cs
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor/Http/FetchCredentialsOption.cs b/src/Components/Blazor/Blazor/src/Http/FetchCredentialsOption.cs
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor/Http/FetchCredentialsOption.cs
rename to src/Components/Blazor/Blazor/src/Http/FetchCredentialsOption.cs
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor/Http/WebAssemblyHttpMessageHandler.cs b/src/Components/Blazor/Blazor/src/Http/WebAssemblyHttpMessageHandler.cs
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor/Http/WebAssemblyHttpMessageHandler.cs
rename to src/Components/Blazor/Blazor/src/Http/WebAssemblyHttpMessageHandler.cs
diff --git a/src/Components/Blazor/Blazor/src/Microsoft.AspNetCore.Blazor.csproj b/src/Components/Blazor/Blazor/src/Microsoft.AspNetCore.Blazor.csproj
new file mode 100644
index 00000000000..ce6abf27ba6
--- /dev/null
+++ b/src/Components/Blazor/Blazor/src/Microsoft.AspNetCore.Blazor.csproj
@@ -0,0 +1,19 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFramework>netstandard2.0</TargetFramework>
+    <Description>Build client-side single-page applications (SPAs) with Razor Components running under WebAssembly.</Description>
+    <IsProductPackage>true</IsProductPackage>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Reference Include="Mono.WebAssembly.Interop" />
+    <Reference Include="Microsoft.AspNetCore.Components.Browser" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <Compile Include="$(ComponentsSharedSourceRoot)src\ConventionBasedStartup.cs" Link="Hosting\ConventionBasedStartup.cs" />
+    <Compile Include="$(ComponentsSharedSourceRoot)src\IBlazorStartup.cs" Link="Hosting\IBlazorStartup.cs" />
+  </ItemGroup>
+
+</Project>
diff --git a/src/Components/Blazor/Blazor/src/Properties/AssemblyInfo.cs b/src/Components/Blazor/Blazor/src/Properties/AssemblyInfo.cs
new file mode 100644
index 00000000000..d0b4317656d
--- /dev/null
+++ b/src/Components/Blazor/Blazor/src/Properties/AssemblyInfo.cs
@@ -0,0 +1,3 @@
+using System.Runtime.CompilerServices;
+
+[assembly: InternalsVisibleTo("Microsoft.AspNetCore.Blazor.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor/Rendering/WebAssemblyRenderer.cs b/src/Components/Blazor/Blazor/src/Rendering/WebAssemblyRenderer.cs
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor/Rendering/WebAssemblyRenderer.cs
rename to src/Components/Blazor/Blazor/src/Rendering/WebAssemblyRenderer.cs
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor/Services/WebAssemblyUriHelper.cs b/src/Components/Blazor/Blazor/src/Services/WebAssemblyUriHelper.cs
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor/Services/WebAssemblyUriHelper.cs
rename to src/Components/Blazor/Blazor/src/Services/WebAssemblyUriHelper.cs
diff --git a/src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Test/Hosting/ConventionBasedStartupTest.cs b/src/Components/Blazor/Blazor/test/Hosting/ConventionBasedStartupTest.cs
similarity index 100%
rename from src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Test/Hosting/ConventionBasedStartupTest.cs
rename to src/Components/Blazor/Blazor/test/Hosting/ConventionBasedStartupTest.cs
diff --git a/src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Test/Hosting/WebAssemblyHostBuilderTest.cs b/src/Components/Blazor/Blazor/test/Hosting/WebAssemblyHostBuilderTest.cs
similarity index 100%
rename from src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Test/Hosting/WebAssemblyHostBuilderTest.cs
rename to src/Components/Blazor/Blazor/test/Hosting/WebAssemblyHostBuilderTest.cs
diff --git a/src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Test/Hosting/WebAssemblyHostTest.cs b/src/Components/Blazor/Blazor/test/Hosting/WebAssemblyHostTest.cs
similarity index 100%
rename from src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Test/Hosting/WebAssemblyHostTest.cs
rename to src/Components/Blazor/Blazor/test/Hosting/WebAssemblyHostTest.cs
diff --git a/src/Components/Blazor/Blazor/test/Microsoft.AspNetCore.Blazor.Tests.csproj b/src/Components/Blazor/Blazor/test/Microsoft.AspNetCore.Blazor.Tests.csproj
new file mode 100644
index 00000000000..43c8df37863
--- /dev/null
+++ b/src/Components/Blazor/Blazor/test/Microsoft.AspNetCore.Blazor.Tests.csproj
@@ -0,0 +1,11 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFramework>netcoreapp3.0</TargetFramework>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.AspNetCore.Blazor" />
+  </ItemGroup>
+
+</Project>
diff --git a/src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Test/WebAssemblyUriHelperTest.cs b/src/Components/Blazor/Blazor/test/WebAssemblyUriHelperTest.cs
similarity index 100%
rename from src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Test/WebAssemblyUriHelperTest.cs
rename to src/Components/Blazor/Blazor/test/WebAssemblyUriHelperTest.cs
diff --git a/src/Components/blazor/tooling/Microsoft.VisualStudio.BlazorExtension/AboutDialogInfoAttribute.cs b/src/Components/Blazor/BlazorExtension/src/AboutDialogInfoAttribute.cs
similarity index 100%
rename from src/Components/blazor/tooling/Microsoft.VisualStudio.BlazorExtension/AboutDialogInfoAttribute.cs
rename to src/Components/Blazor/BlazorExtension/src/AboutDialogInfoAttribute.cs
diff --git a/src/Components/blazor/tooling/Microsoft.VisualStudio.BlazorExtension/AutoRebuild/AutoRebuildService.cs b/src/Components/Blazor/BlazorExtension/src/AutoRebuild/AutoRebuildService.cs
similarity index 100%
rename from src/Components/blazor/tooling/Microsoft.VisualStudio.BlazorExtension/AutoRebuild/AutoRebuildService.cs
rename to src/Components/Blazor/BlazorExtension/src/AutoRebuild/AutoRebuildService.cs
diff --git a/src/Components/blazor/tooling/Microsoft.VisualStudio.BlazorExtension/AutoRebuild/BuildEventsWatcher.cs b/src/Components/Blazor/BlazorExtension/src/AutoRebuild/BuildEventsWatcher.cs
similarity index 100%
rename from src/Components/blazor/tooling/Microsoft.VisualStudio.BlazorExtension/AutoRebuild/BuildEventsWatcher.cs
rename to src/Components/Blazor/BlazorExtension/src/AutoRebuild/BuildEventsWatcher.cs
diff --git a/src/Components/blazor/tooling/Microsoft.VisualStudio.BlazorExtension/AutoRebuild/StreamProtocolExtensions.cs b/src/Components/Blazor/BlazorExtension/src/AutoRebuild/StreamProtocolExtensions.cs
similarity index 100%
rename from src/Components/blazor/tooling/Microsoft.VisualStudio.BlazorExtension/AutoRebuild/StreamProtocolExtensions.cs
rename to src/Components/Blazor/BlazorExtension/src/AutoRebuild/StreamProtocolExtensions.cs
diff --git a/src/Components/blazor/tooling/Microsoft.VisualStudio.BlazorExtension/BlazorPackage.cs b/src/Components/Blazor/BlazorExtension/src/BlazorPackage.cs
similarity index 100%
rename from src/Components/blazor/tooling/Microsoft.VisualStudio.BlazorExtension/BlazorPackage.cs
rename to src/Components/Blazor/BlazorExtension/src/BlazorPackage.cs
diff --git a/src/Components/blazor/tooling/Microsoft.VisualStudio.BlazorExtension/CodeSnippets.pkgdef b/src/Components/Blazor/BlazorExtension/src/CodeSnippets.pkgdef
similarity index 100%
rename from src/Components/blazor/tooling/Microsoft.VisualStudio.BlazorExtension/CodeSnippets.pkgdef
rename to src/Components/Blazor/BlazorExtension/src/CodeSnippets.pkgdef
diff --git a/src/Components/blazor/tooling/Microsoft.VisualStudio.BlazorExtension/CodeSnippets/Blazor/para.snippet b/src/Components/Blazor/BlazorExtension/src/CodeSnippets/Blazor/para.snippet
similarity index 100%
rename from src/Components/blazor/tooling/Microsoft.VisualStudio.BlazorExtension/CodeSnippets/Blazor/para.snippet
rename to src/Components/Blazor/BlazorExtension/src/CodeSnippets/Blazor/para.snippet
diff --git a/src/Components/blazor/tooling/Microsoft.VisualStudio.BlazorExtension/Content/WebConfiguration.png b/src/Components/Blazor/BlazorExtension/src/Content/WebConfiguration.png
similarity index 100%
rename from src/Components/blazor/tooling/Microsoft.VisualStudio.BlazorExtension/Content/WebConfiguration.png
rename to src/Components/Blazor/BlazorExtension/src/Content/WebConfiguration.png
diff --git a/src/Components/blazor/tooling/Microsoft.VisualStudio.BlazorExtension/Microsoft.VisualStudio.BlazorExtension.csproj b/src/Components/Blazor/BlazorExtension/src/Microsoft.VisualStudio.BlazorExtension.csproj
similarity index 93%
rename from src/Components/blazor/tooling/Microsoft.VisualStudio.BlazorExtension/Microsoft.VisualStudio.BlazorExtension.csproj
rename to src/Components/Blazor/BlazorExtension/src/Microsoft.VisualStudio.BlazorExtension.csproj
index 335871c2e41..29d89dbeea8 100644
--- a/src/Components/blazor/tooling/Microsoft.VisualStudio.BlazorExtension/Microsoft.VisualStudio.BlazorExtension.csproj
+++ b/src/Components/Blazor/BlazorExtension/src/Microsoft.VisualStudio.BlazorExtension.csproj
@@ -4,14 +4,14 @@
     <MinimumVisualStudioVersion>16.0</MinimumVisualStudioVersion>
     <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
     <UseCodebase>true</UseCodebase>
-    <!-- Don't import the directory props and targets, they aren't compatible with an old-style csproj -->
-    <ImportDirectoryBuildProps>false</ImportDirectoryBuildProps>
-    <ImportDirectoryBuildTargets>false</ImportDirectoryBuildTargets>
-    <RepositoryRoot>$(MSBuildThisFileDirectory)..\..\..\</RepositoryRoot>
+    <ImportDirectoryBuildProps>true</ImportDirectoryBuildProps>
+    <ImportDirectoryBuildTargets>true</ImportDirectoryBuildTargets>
+    <OutputPath>bin\$(Configuration)\</OutputPath>
+    <IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
+    <!-- Other projects should not reference this assembly. It is only mean to be used in Visual Studio. -->
+    <IsProjectReferenceProvider>false</IsProjectReferenceProvider>
   </PropertyGroup>
-  <Import Project="..\..\..\build\arcade.props" />
   <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
-  <Import Project="..\..\version.props" />
   <!--
     Since the VSSDK doeesn't support SDK-based projects, we have to use the long/verbose version.
 
@@ -23,7 +23,7 @@
   <PropertyGroup>
     <!-- VSIXes are always signed. This is the same key that ASP.NET uses for OSS signing -->
     <SignAssembly>true</SignAssembly>
-    <AssemblyOriginatorKeyFile>..\..\..\build\Key.snk</AssemblyOriginatorKeyFile>
+    <AssemblyOriginatorKeyFile>..\..\..\eng\AspNetCore.snk</AssemblyOriginatorKeyFile>
   </PropertyGroup>
   <PropertyGroup>
     <!--
@@ -73,7 +73,7 @@
   </PropertyGroup>
   <Target Name="PreCreateVsixContainer" BeforeTargets="CreateVsixContainer">
     <ItemGroup>
-      <VSIXSourceItem Include="$(PackageOutputPath)Microsoft.AspNetCore.Blazor.Templates.*.nupkg">
+      <VSIXSourceItem Include="$(ProductPackageOutputPath)Microsoft.AspNetCore.Blazor.Templates.*.nupkg">
         <VSIXSubPath>ProjectTemplates\</VSIXSubPath>
       </VSIXSourceItem>
       <VSIXSourceItem Include="Templates.pkgdef" />
@@ -121,7 +121,7 @@
       <IncludeInVSIX>true</IncludeInVSIX>
     </Content>
     <Content Include="Templates.pkgdef" />
-    <ProjectReference Include="..\..\src\Microsoft.AspNetCore.Blazor.Templates\Microsoft.AspNetCore.Blazor.Templates.csproj">
+    <ProjectReference Include="..\..\Templates\src\Microsoft.AspNetCore.Blazor.Templates.csproj">
       <Project>{edd21533-c6e6-4f85-be4f-10e06756e24c}</Project>
       <Name>Microsoft.AspNetCore.Blazor.Templates</Name>
       <Private>False</Private>
@@ -130,7 +130,7 @@
       <IncludeOutputGroupsInVSIXLocalOnly>
       </IncludeOutputGroupsInVSIXLocalOnly>
     </ProjectReference>
-    <ProjectReference Include="..\Microsoft.VisualStudio.LanguageServices.Blazor\Microsoft.VisualStudio.LanguageServices.Blazor.csproj">
+    <ProjectReference Include="..\..\BlazorLanguageServices\src\Microsoft.VisualStudio.LanguageServices.Blazor.csproj">
       <Project>{b9f7f502-6dd2-4e77-8fd1-cbd76f695b26}</Project>
       <Name>Microsoft.VisualStudio.LanguageServices.Blazor</Name>
       <Private>False</Private>
@@ -139,7 +139,7 @@
       <IncludeOutputGroupsInVSIXLocalOnly>
       </IncludeOutputGroupsInVSIXLocalOnly>
     </ProjectReference>
-    <Content Include="..\Microsoft.VisualStudio.LanguageServices.Blazor\bin\$(Configuration)\net461\Microsoft.VisualStudio.LanguageServices.Blazor.dll">
+    <Content Include="..\..\BlazorLanguageServices\src\bin\$(Configuration)\net461\Microsoft.VisualStudio.LanguageServices.Blazor.dll">
       <Link>Microsoft.VisualStudio.LanguageServices.Blazor.dll</Link>
       <IncludeInVSIX>true</IncludeInVSIX>
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
@@ -252,7 +252,7 @@
       <IncludeInVSIX>true</IncludeInVSIX>
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>
-    <Content Include="..\..\..\LICENSE.txt">
+    <Content Include="$(RepositoryRoot)LICENSE.txt">
       <Link>Content\LICENSE.txt</Link>
       <IncludeInVSIX>true</IncludeInVSIX>
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
@@ -306,4 +306,4 @@
     <_GeneratedVSIXAssemblyInfoInputsCacheFile>$(IntermediateOutputPath)$(MSBuildProjectName).VSIXAssemblyInfo.cache.txt</_GeneratedVSIXAssemblyInfoInputsCacheFile>
     <_GeneratedVSIXAssemblyInfoFile>$(IntermediateOutputPath)$(MSBuildProjectName).VSIXAssemblyInfo.cs</_GeneratedVSIXAssemblyInfoFile>
   </PropertyGroup>
-</Project>
\ No newline at end of file
+</Project>
diff --git a/src/Components/blazor/tooling/Microsoft.VisualStudio.BlazorExtension/Properties/AssemblyInfo.cs b/src/Components/Blazor/BlazorExtension/src/Properties/AssemblyInfo.cs
similarity index 100%
rename from src/Components/blazor/tooling/Microsoft.VisualStudio.BlazorExtension/Properties/AssemblyInfo.cs
rename to src/Components/Blazor/BlazorExtension/src/Properties/AssemblyInfo.cs
diff --git a/src/Components/blazor/tooling/Microsoft.VisualStudio.BlazorExtension/Resources.resx b/src/Components/Blazor/BlazorExtension/src/Resources.resx
similarity index 100%
rename from src/Components/blazor/tooling/Microsoft.VisualStudio.BlazorExtension/Resources.resx
rename to src/Components/Blazor/BlazorExtension/src/Resources.resx
diff --git a/src/Components/blazor/tooling/Microsoft.VisualStudio.BlazorExtension/Resources/BlazorPackage.ico b/src/Components/Blazor/BlazorExtension/src/Resources/BlazorPackage.ico
similarity index 100%
rename from src/Components/blazor/tooling/Microsoft.VisualStudio.BlazorExtension/Resources/BlazorPackage.ico
rename to src/Components/Blazor/BlazorExtension/src/Resources/BlazorPackage.ico
diff --git a/src/Components/blazor/tooling/Microsoft.VisualStudio.BlazorExtension/Templates.pkgdef b/src/Components/Blazor/BlazorExtension/src/Templates.pkgdef
similarity index 100%
rename from src/Components/blazor/tooling/Microsoft.VisualStudio.BlazorExtension/Templates.pkgdef
rename to src/Components/Blazor/BlazorExtension/src/Templates.pkgdef
diff --git a/src/Components/blazor/tooling/Microsoft.VisualStudio.BlazorExtension/source.extension.vsixmanifest b/src/Components/Blazor/BlazorExtension/src/source.extension.vsixmanifest
similarity index 100%
rename from src/Components/blazor/tooling/Microsoft.VisualStudio.BlazorExtension/source.extension.vsixmanifest
rename to src/Components/Blazor/BlazorExtension/src/source.extension.vsixmanifest
diff --git a/src/Components/blazor/tooling/Microsoft.VisualStudio.LanguageServices.Blazor/Microsoft.VisualStudio.LanguageServices.Blazor.csproj b/src/Components/Blazor/BlazorLanguageServices/src/Microsoft.VisualStudio.LanguageServices.Blazor.csproj
similarity index 88%
rename from src/Components/blazor/tooling/Microsoft.VisualStudio.LanguageServices.Blazor/Microsoft.VisualStudio.LanguageServices.Blazor.csproj
rename to src/Components/Blazor/BlazorLanguageServices/src/Microsoft.VisualStudio.LanguageServices.Blazor.csproj
index 65336ee1dea..1eb532e806e 100644
--- a/src/Components/blazor/tooling/Microsoft.VisualStudio.LanguageServices.Blazor/Microsoft.VisualStudio.LanguageServices.Blazor.csproj
+++ b/src/Components/Blazor/BlazorLanguageServices/src/Microsoft.VisualStudio.LanguageServices.Blazor.csproj
@@ -2,6 +2,8 @@
 
   <PropertyGroup>
     <TargetFramework>net461</TargetFramework>
+    <!-- This assembly ships in the Razor VSIX, not in a NuGet package. -->
+    <IsPackable>false</IsPackable>
   </PropertyGroup>
 
   <ItemGroup>
diff --git a/src/Components/blazor/tooling/Microsoft.VisualStudio.LanguageServices.Blazor/RazorTextViewListener.cs b/src/Components/Blazor/BlazorLanguageServices/src/RazorTextViewListener.cs
similarity index 100%
rename from src/Components/blazor/tooling/Microsoft.VisualStudio.LanguageServices.Blazor/RazorTextViewListener.cs
rename to src/Components/Blazor/BlazorLanguageServices/src/RazorTextViewListener.cs
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/Cli/Commands/ResolveRuntimeDependenciesCommand.cs b/src/Components/Blazor/Build/src/Cli/Commands/ResolveRuntimeDependenciesCommand.cs
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/Cli/Commands/ResolveRuntimeDependenciesCommand.cs
rename to src/Components/Blazor/Build/src/Cli/Commands/ResolveRuntimeDependenciesCommand.cs
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/Cli/Commands/WriteBootJsonCommand.cs b/src/Components/Blazor/Build/src/Cli/Commands/WriteBootJsonCommand.cs
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/Cli/Commands/WriteBootJsonCommand.cs
rename to src/Components/Blazor/Build/src/Cli/Commands/WriteBootJsonCommand.cs
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/Cli/Program.cs b/src/Components/Blazor/Build/src/Cli/Program.cs
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/Cli/Program.cs
rename to src/Components/Blazor/Build/src/Cli/Program.cs
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/Core/BootJsonWriter.cs b/src/Components/Blazor/Build/src/Core/BootJsonWriter.cs
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/Core/BootJsonWriter.cs
rename to src/Components/Blazor/Build/src/Core/BootJsonWriter.cs
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/Core/EmbeddedResources/EmbeddedResourceInfo.cs b/src/Components/Blazor/Build/src/Core/EmbeddedResources/EmbeddedResourceInfo.cs
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/Core/EmbeddedResources/EmbeddedResourceInfo.cs
rename to src/Components/Blazor/Build/src/Core/EmbeddedResources/EmbeddedResourceInfo.cs
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/Core/EmbeddedResources/EmbeddedResourceKind.cs b/src/Components/Blazor/Build/src/Core/EmbeddedResources/EmbeddedResourceKind.cs
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/Core/EmbeddedResources/EmbeddedResourceKind.cs
rename to src/Components/Blazor/Build/src/Core/EmbeddedResources/EmbeddedResourceKind.cs
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/Core/EmbeddedResources/EmbeddedResourcesProcessor.cs b/src/Components/Blazor/Build/src/Core/EmbeddedResources/EmbeddedResourcesProcessor.cs
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/Core/EmbeddedResources/EmbeddedResourcesProcessor.cs
rename to src/Components/Blazor/Build/src/Core/EmbeddedResources/EmbeddedResourcesProcessor.cs
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/Core/RuntimeDependenciesResolver.cs b/src/Components/Blazor/Build/src/Core/RuntimeDependenciesResolver.cs
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/Core/RuntimeDependenciesResolver.cs
rename to src/Components/Blazor/Build/src/Core/RuntimeDependenciesResolver.cs
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/Microsoft.AspNetCore.Blazor.Build.csproj b/src/Components/Blazor/Build/src/Microsoft.AspNetCore.Blazor.Build.csproj
similarity index 83%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/Microsoft.AspNetCore.Blazor.Build.csproj
rename to src/Components/Blazor/Build/src/Microsoft.AspNetCore.Blazor.Build.csproj
index 76cb6f8495d..7889a46f6d1 100644
--- a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/Microsoft.AspNetCore.Blazor.Build.csproj
+++ b/src/Components/Blazor/Build/src/Microsoft.AspNetCore.Blazor.Build.csproj
@@ -1,4 +1,4 @@
-<Project Sdk="Microsoft.NET.Sdk">
+<Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
     <TargetFramework>netcoreapp3.0</TargetFramework>
@@ -68,13 +68,12 @@
   </Target>
 
   <ItemGroup>
-    <ProjectReference Include="..\..\..\src\Microsoft.AspNetCore.Components.Browser.JS\Microsoft.AspNetCore.Components.Browser.JS.csproj" />
-    <ProjectReference Include="..\..\..\src\Microsoft.AspNetCore.Components\Microsoft.AspNetCore.Components.csproj" />
-
-    <PackageReference Include="Microsoft.Extensions.CommandLineUtils" Version="1.1.1" />
-    <PackageReference Include="Microsoft.Extensions.FileProviders.Composite" Version="$(AspNetCorePackageVersion)" />
-    <PackageReference Include="Microsoft.Extensions.FileProviders.Physical" Version="$(AspNetCorePackageVersion)" />
-    <PackageReference Include="Mono.Cecil" Version="$(MonoCecilPackageVersion)" />
-    <PackageReference Include="System.CodeDom" Version="4.4.0" />
+    <Reference Include="Microsoft.AspNetCore.Components.Browser.JS" />
+    <Reference Include="Microsoft.AspNetCore.Components" />
+    <Reference Include="Microsoft.Extensions.CommandLineUtils.Sources" PrivateAssets="All" />
+    <Reference Include="Microsoft.Extensions.FileProviders.Composite" />
+    <Reference Include="Microsoft.Extensions.FileProviders.Physical" />
+    <Reference Include="Mono.Cecil" />
+    <Reference Include="System.CodeDom" />
   </ItemGroup>
 </Project>
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/Microsoft.AspNetCore.Blazor.Build.nuspec b/src/Components/Blazor/Build/src/Microsoft.AspNetCore.Blazor.Build.nuspec
similarity index 91%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/Microsoft.AspNetCore.Blazor.Build.nuspec
rename to src/Components/Blazor/Build/src/Microsoft.AspNetCore.Blazor.Build.nuspec
index 7a8a4650483..3e85a96e108 100644
--- a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/Microsoft.AspNetCore.Blazor.Build.nuspec
+++ b/src/Components/Blazor/Build/src/Microsoft.AspNetCore.Blazor.Build.nuspec
@@ -22,6 +22,6 @@
     <file src="build\**" target="build" />
     <file src="targets\**" target="targets" />
     <file src="$publishdir$netcoreapp3.0\**\*" target="tools/" />
-    <file src="..\..\..\src\Microsoft.AspNetCore.Components.Browser.JS\dist\components.*.js" target="tools/blazor" />
+    <file src="..\..\..\Browser.JS\src\dist\components.*.js" target="tools/blazor" />
   </files>
 </package>
diff --git a/src/Components/Blazor/Build/src/Properties/AssemblyInfo.cs b/src/Components/Blazor/Build/src/Properties/AssemblyInfo.cs
new file mode 100644
index 00000000000..aac42c25ccb
--- /dev/null
+++ b/src/Components/Blazor/Build/src/Properties/AssemblyInfo.cs
@@ -0,0 +1,3 @@
+using System.Runtime.CompilerServices;
+
+[assembly: InternalsVisibleTo("Microsoft.AspNetCore.Blazor.Build.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/ReferenceFromSource.props b/src/Components/Blazor/Build/src/ReferenceFromSource.props
similarity index 81%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/ReferenceFromSource.props
rename to src/Components/Blazor/Build/src/ReferenceFromSource.props
index 0d1f091e35e..5802a69132e 100644
--- a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/ReferenceFromSource.props
+++ b/src/Components/Blazor/Build/src/ReferenceFromSource.props
@@ -9,11 +9,11 @@
   This is only intended for use by other projects in this repo.
   -->
 
-  <Import Project="$(MSBuildThisFileDirectory)../../../src/Microsoft.AspNetCore.Components.Build/ReferenceFromSource.props" />
+  <Import Project="$(RepositoryRoot)src\Components\Build\src\ReferenceFromSource.props" />
 
   <PropertyGroup>
     <BlazorBuildReferenceFromSource>true</BlazorBuildReferenceFromSource>
-    <BlazorJsPath>$(MSBuildThisFileDirectory)../../../src/Microsoft.AspNetCore.Components.Browser.JS/dist/components.*.js</BlazorJsPath>
+    <BlazorJsPath>$(RepositoryRoot)src\Components\Browser.JS\src\dist\components.*.js</BlazorJsPath>
   </PropertyGroup>
 
   <Import Project="$(MSBuildThisFileDirectory)targets/All.props" />
@@ -29,12 +29,12 @@
    -->
   <PropertyGroup>
     <RunCommand>dotnet</RunCommand>
-    <_BlazorCliLocation>$(MSBuildThisFileDirectory)../Microsoft.AspNetCore.Blazor.Cli/bin/$(Configuration)/netcoreapp3.0/dotnet-blazor.dll</_BlazorCliLocation>
+    <_BlazorCliLocation>$(MSBuildThisFileDirectory)../../Cli/src/bin/$(Configuration)/netcoreapp3.0/dotnet-blazor.dll</_BlazorCliLocation>
     <RunArguments>exec &quot;$(_BlazorCliLocation)&quot; serve $(AdditionalRunArguments)</RunArguments>
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.Blazor.Mono" Version="$(MicrosoftAspNetCoreBlazorMonoPackageVersion)" />
+    <Reference Include="Microsoft.AspNetCore.Blazor.Mono" />
   </ItemGroup>
 
   <!-- This is used as a P2P when building the repo. Normal Blazor projects will get this as a reference through the Blazor.Build package -->
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/build/netstandard1.0/Microsoft.AspNetCore.Blazor.Build.props b/src/Components/Blazor/Build/src/build/netstandard1.0/Microsoft.AspNetCore.Blazor.Build.props
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/build/netstandard1.0/Microsoft.AspNetCore.Blazor.Build.props
rename to src/Components/Blazor/Build/src/build/netstandard1.0/Microsoft.AspNetCore.Blazor.Build.props
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/build/netstandard1.0/Microsoft.AspNetCore.Blazor.Build.targets b/src/Components/Blazor/Build/src/build/netstandard1.0/Microsoft.AspNetCore.Blazor.Build.targets
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/build/netstandard1.0/Microsoft.AspNetCore.Blazor.Build.targets
rename to src/Components/Blazor/Build/src/build/netstandard1.0/Microsoft.AspNetCore.Blazor.Build.targets
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/targets/All.props b/src/Components/Blazor/Build/src/targets/All.props
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/targets/All.props
rename to src/Components/Blazor/Build/src/targets/All.props
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/targets/All.targets b/src/Components/Blazor/Build/src/targets/All.targets
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/targets/All.targets
rename to src/Components/Blazor/Build/src/targets/All.targets
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/targets/Blazor.MonoRuntime.props b/src/Components/Blazor/Build/src/targets/Blazor.MonoRuntime.props
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/targets/Blazor.MonoRuntime.props
rename to src/Components/Blazor/Build/src/targets/Blazor.MonoRuntime.props
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/targets/Blazor.MonoRuntime.targets b/src/Components/Blazor/Build/src/targets/Blazor.MonoRuntime.targets
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/targets/Blazor.MonoRuntime.targets
rename to src/Components/Blazor/Build/src/targets/Blazor.MonoRuntime.targets
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/targets/BuiltInBclLinkerDescriptor.xml b/src/Components/Blazor/Build/src/targets/BuiltInBclLinkerDescriptor.xml
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/targets/BuiltInBclLinkerDescriptor.xml
rename to src/Components/Blazor/Build/src/targets/BuiltInBclLinkerDescriptor.xml
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/targets/Publish.targets b/src/Components/Blazor/Build/src/targets/Publish.targets
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/targets/Publish.targets
rename to src/Components/Blazor/Build/src/targets/Publish.targets
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/targets/Standalone.Web.config b/src/Components/Blazor/Build/src/targets/Standalone.Web.config
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/targets/Standalone.Web.config
rename to src/Components/Blazor/Build/src/targets/Standalone.Web.config
diff --git a/src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Build.Test/BindRazorIntegrationTest.cs b/src/Components/Blazor/Build/test/BindRazorIntegrationTest.cs
similarity index 100%
rename from src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Build.Test/BindRazorIntegrationTest.cs
rename to src/Components/Blazor/Build/test/BindRazorIntegrationTest.cs
diff --git a/src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Build.Test/BootJsonWriterTest.cs b/src/Components/Blazor/Build/test/BootJsonWriterTest.cs
similarity index 100%
rename from src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Build.Test/BootJsonWriterTest.cs
rename to src/Components/Blazor/Build/test/BootJsonWriterTest.cs
diff --git a/src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Build.Test/ChildContentRazorIntegrationTest.cs b/src/Components/Blazor/Build/test/ChildContentRazorIntegrationTest.cs
similarity index 100%
rename from src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Build.Test/ChildContentRazorIntegrationTest.cs
rename to src/Components/Blazor/Build/test/ChildContentRazorIntegrationTest.cs
diff --git a/src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Build.Test/ComponentRenderingRazorIntegrationTest.cs b/src/Components/Blazor/Build/test/ComponentRenderingRazorIntegrationTest.cs
similarity index 100%
rename from src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Build.Test/ComponentRenderingRazorIntegrationTest.cs
rename to src/Components/Blazor/Build/test/ComponentRenderingRazorIntegrationTest.cs
diff --git a/src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Build.Test/DirectiveRazorIntegrationTest.cs b/src/Components/Blazor/Build/test/DirectiveRazorIntegrationTest.cs
similarity index 100%
rename from src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Build.Test/DirectiveRazorIntegrationTest.cs
rename to src/Components/Blazor/Build/test/DirectiveRazorIntegrationTest.cs
diff --git a/src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Build.Test/GenericComponentRazorIntegrationTest.cs b/src/Components/Blazor/Build/test/GenericComponentRazorIntegrationTest.cs
similarity index 100%
rename from src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Build.Test/GenericComponentRazorIntegrationTest.cs
rename to src/Components/Blazor/Build/test/GenericComponentRazorIntegrationTest.cs
diff --git a/src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Build.Test/Microsoft.AspNetCore.Blazor.Build.Test.csproj b/src/Components/Blazor/Build/test/Microsoft.AspNetCore.Blazor.Build.Tests.csproj
similarity index 56%
rename from src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Build.Test/Microsoft.AspNetCore.Blazor.Build.Test.csproj
rename to src/Components/Blazor/Build/test/Microsoft.AspNetCore.Blazor.Build.Tests.csproj
index 8003e51a883..37a3d5ebb75 100644
--- a/src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Build.Test/Microsoft.AspNetCore.Blazor.Build.Test.csproj
+++ b/src/Components/Blazor/Build/test/Microsoft.AspNetCore.Blazor.Build.Tests.csproj
@@ -3,8 +3,6 @@
   <PropertyGroup>
     <TargetFramework>netcoreapp3.0</TargetFramework>
 
-    <IsPackable>false</IsPackable>
-
     <!-- Exclude the TestFiles directory from default wildcards -->
     <DefaultItemExcludes>$(DefaultItemExcludes);TestFiles\**\*</DefaultItemExcludes>
   </PropertyGroup>
@@ -23,21 +21,17 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
-    <PackageReference Include="xunit" Version="2.3.1" />
-    <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
-    <PackageReference Include="Microsoft.AspNetCore.Blazor.Mono" Version="$(MicrosoftAspNetCoreBlazorMonoPackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.Extensions" Version="$(MicrosoftNETSdkRazorPackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.Razor.Language" Version="$(MicrosoftNETSdkRazorPackageVersion)" />
-    <PackageReference Include="Microsoft.CodeAnalysis.Razor" Version="$(MicrosoftNETSdkRazorPackageVersion)" />
+    <Reference Include="Microsoft.AspNetCore.Blazor.Build" />
+    <Reference Include="Microsoft.AspNetCore.Blazor.Mono" />
+    <Reference Include="Microsoft.AspNetCore.Mvc.Razor.Extensions" />
+    <Reference Include="Microsoft.AspNetCore.Razor.Language" />
+    <Reference Include="Microsoft.CodeAnalysis.Razor" />
   </ItemGroup>
 
   <ItemGroup>
-    <ProjectReference Include="..\..\samples\StandaloneApp\StandaloneApp.csproj" />
-    <ProjectReference Include="..\..\src\Microsoft.AspNetCore.Blazor.Build\Microsoft.AspNetCore.Blazor.Build.csproj" />
+    <ProjectReference Include="..\..\testassets\StandaloneApp\StandaloneApp.csproj" />
 
-    <!-- Shared sources -->
-    <Compile Include="..\..\..\test\shared\**\*.cs" Link="Helpers\%(Filename)%(Extension)" />
+    <Compile Include="$(ComponentsSharedSourceRoot)test\**\*.cs" LinkBase="Helpers" />
   </ItemGroup>
 
   <!-- A bit of msbuild magic to support reference resolver tests -->
diff --git a/src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Build.Test/Razor/NotFoundProjectItem.cs b/src/Components/Blazor/Build/test/Razor/NotFoundProjectItem.cs
similarity index 100%
rename from src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Build.Test/Razor/NotFoundProjectItem.cs
rename to src/Components/Blazor/Build/test/Razor/NotFoundProjectItem.cs
diff --git a/src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Build.Test/Razor/TestFile.cs b/src/Components/Blazor/Build/test/Razor/TestFile.cs
similarity index 100%
rename from src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Build.Test/Razor/TestFile.cs
rename to src/Components/Blazor/Build/test/Razor/TestFile.cs
diff --git a/src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Build.Test/Razor/TestProject.cs b/src/Components/Blazor/Build/test/Razor/TestProject.cs
similarity index 100%
rename from src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Build.Test/Razor/TestProject.cs
rename to src/Components/Blazor/Build/test/Razor/TestProject.cs
diff --git a/src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Build.Test/Razor/VirtualProjectFileSystem.cs b/src/Components/Blazor/Build/test/Razor/VirtualProjectFileSystem.cs
similarity index 100%
rename from src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Build.Test/Razor/VirtualProjectFileSystem.cs
rename to src/Components/Blazor/Build/test/Razor/VirtualProjectFileSystem.cs
diff --git a/src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Build.Test/Razor/VirtualProjectItem.cs b/src/Components/Blazor/Build/test/Razor/VirtualProjectItem.cs
similarity index 100%
rename from src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Build.Test/Razor/VirtualProjectItem.cs
rename to src/Components/Blazor/Build/test/Razor/VirtualProjectItem.cs
diff --git a/src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Build.Test/RazorIntegrationTestBase.cs b/src/Components/Blazor/Build/test/RazorIntegrationTestBase.cs
similarity index 100%
rename from src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Build.Test/RazorIntegrationTestBase.cs
rename to src/Components/Blazor/Build/test/RazorIntegrationTestBase.cs
diff --git a/src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Build.Test/RenderingRazorIntegrationTest.cs b/src/Components/Blazor/Build/test/RenderingRazorIntegrationTest.cs
similarity index 100%
rename from src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Build.Test/RenderingRazorIntegrationTest.cs
rename to src/Components/Blazor/Build/test/RenderingRazorIntegrationTest.cs
diff --git a/src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Build.Test/RuntimeDependenciesResolverTest.cs b/src/Components/Blazor/Build/test/RuntimeDependenciesResolverTest.cs
similarity index 89%
rename from src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Build.Test/RuntimeDependenciesResolverTest.cs
rename to src/Components/Blazor/Build/test/RuntimeDependenciesResolverTest.cs
index c594add472f..4e880ee59fa 100644
--- a/src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Build.Test/RuntimeDependenciesResolverTest.cs
+++ b/src/Components/Blazor/Build/test/RuntimeDependenciesResolverTest.cs
@@ -2,14 +2,23 @@
 // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 
 using System;
+using System.Collections.Generic;
 using System.IO;
 using System.Linq;
 using Xunit;
+using Xunit.Abstractions;
 
 namespace Microsoft.AspNetCore.Blazor.Build.Test
 {
     public class RuntimeDependenciesResolverTest
     {
+        private readonly ITestOutputHelper _output;
+
+        public RuntimeDependenciesResolverTest(ITestOutputHelper output)
+        {
+            _output = output;
+        }
+
         [Fact]
         public void FindsReferenceAssemblyGraph_ForStandaloneApp()
         {
@@ -76,6 +85,7 @@ namespace Microsoft.AspNetCore.Blazor.Build.Test
                 "System.Core.dll",
                 "System.Data.dll",
                 "System.Diagnostics.Debug.dll",
+                "System.Diagnostics.Tracing.dll",
                 "System.Drawing.dll",
                 "System.IO.Compression.dll",
                 "System.IO.Compression.FileSystem.dll",
@@ -112,6 +122,14 @@ namespace Microsoft.AspNetCore.Blazor.Build.Test
                 .OrderBy(i => i, StringComparer.Ordinal)
                 .ToArray();
 
+            var expected = new HashSet<string>(expectedContents);
+            var actual = new HashSet<string>(contents);
+            _output.WriteLine("Expected contents to have:");
+            _output.WriteLine(string.Join(",", expected.Except(actual)));
+
+            _output.WriteLine("Unexpected contents:");
+            _output.WriteLine(string.Join(",", actual.Except(expected)));
+
             // Assert
             Assert.Equal(expectedContents, contents);
         }
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Cli/Commands/ServeCommand.cs b/src/Components/Blazor/Cli/src/Commands/ServeCommand.cs
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Cli/Commands/ServeCommand.cs
rename to src/Components/Blazor/Cli/src/Commands/ServeCommand.cs
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Cli/Microsoft.AspNetCore.Blazor.Cli.csproj b/src/Components/Blazor/Cli/src/Microsoft.AspNetCore.Blazor.Cli.csproj
similarity index 53%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Cli/Microsoft.AspNetCore.Blazor.Cli.csproj
rename to src/Components/Blazor/Cli/src/Microsoft.AspNetCore.Blazor.Cli.csproj
index be56d4e6175..d916b589a0f 100644
--- a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Cli/Microsoft.AspNetCore.Blazor.Cli.csproj
+++ b/src/Components/Blazor/Cli/src/Microsoft.AspNetCore.Blazor.Cli.csproj
@@ -1,4 +1,4 @@
-<Project Sdk="Microsoft.NET.Sdk">
+<Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
     <TargetFramework>netcoreapp3.0</TargetFramework>
@@ -10,16 +10,15 @@
     <!-- Disabled because E2ETest.csproj needs to WebDriver which is not strong named signed, and InternalsVisibleTo must specify a strong-name token -->
     <SignAssembly>false</SignAssembly>
     <Description>Development server for use when building Blazor applications.</Description>
+    <!-- Set this to false because assemblies should not reference this assembly directly, (except for tests, of course). -->
+    <IsProjectReferenceProvider>false</IsProjectReferenceProvider>
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="Microsoft.Extensions.CommandLineUtils" Version="1.1.1" />
-    <PackageReference Include="Microsoft.AspNetCore" Version="$(AspNetCorePackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.ResponseCompression" Version="$(AspNetCorePackageVersion)" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\..\..\src\Microsoft.AspNetCore.Components.Server\Microsoft.AspNetCore.Components.Server.csproj" />
-    <ProjectReference Include="..\Microsoft.AspNetCore.Blazor.Server\Microsoft.AspNetCore.Blazor.Server.csproj" />
+    <Reference Include="Microsoft.AspNetCore.Blazor.Server" />
+    <Reference Include="Microsoft.AspNetCore.Components.Server" />
+    <Reference Include="Microsoft.AspNetCore.ResponseCompression" />
+    <Reference Include="Microsoft.AspNetCore" />
+    <Reference Include="Microsoft.Extensions.CommandLineUtils.Sources" PrivateAssets="All" />
   </ItemGroup>
 </Project>
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Cli/Program.cs b/src/Components/Blazor/Cli/src/Program.cs
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Cli/Program.cs
rename to src/Components/Blazor/Cli/src/Program.cs
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Cli/Properties/AssemblyInfo.cs b/src/Components/Blazor/Cli/src/Properties/AssemblyInfo.cs
similarity index 90%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Cli/Properties/AssemblyInfo.cs
rename to src/Components/Blazor/Cli/src/Properties/AssemblyInfo.cs
index 965fe90f301..551eab20b98 100644
--- a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Cli/Properties/AssemblyInfo.cs
+++ b/src/Components/Blazor/Cli/src/Properties/AssemblyInfo.cs
@@ -1,3 +1,3 @@
 using System.Runtime.CompilerServices;
 
-[assembly: InternalsVisibleTo("Microsoft.AspNetCore.Components.E2ETest")]
+[assembly: InternalsVisibleTo("Microsoft.AspNetCore.Components.E2ETests")]
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Cli/Server/Program.cs b/src/Components/Blazor/Cli/src/Server/Program.cs
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Cli/Server/Program.cs
rename to src/Components/Blazor/Cli/src/Server/Program.cs
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Cli/Server/Startup.cs b/src/Components/Blazor/Cli/src/Server/Startup.cs
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Cli/Server/Startup.cs
rename to src/Components/Blazor/Cli/src/Server/Startup.cs
diff --git a/src/Components/Blazor/Directory.Build.props b/src/Components/Blazor/Directory.Build.props
new file mode 100644
index 00000000000..cb599cac750
--- /dev/null
+++ b/src/Components/Blazor/Directory.Build.props
@@ -0,0 +1,10 @@
+<Project>
+  <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory)..\, Directory.Build.props))\Directory.Build.props" />
+
+  <PropertyGroup>
+    <ComponentsPackageVersion>$(PackageVersion)</ComponentsPackageVersion>
+    <VersionPrefix>$(BlazorComponentsVersionPrefix)</VersionPrefix>
+    <PackageVersion>$(VersionPrefix)</PackageVersion>
+    <PackageVersion Condition=" '$(IncludePreReleaseLabelInPackageVersion)' == 'true' ">$(VersionPrefix)-$(VersionSuffix)</PackageVersion>
+  </PropertyGroup>
+</Project>
diff --git a/src/Components/Blazor/Server/src/Microsoft.AspNetCore.Blazor.Server.csproj b/src/Components/Blazor/Server/src/Microsoft.AspNetCore.Blazor.Server.csproj
new file mode 100644
index 00000000000..2e1afb8c879
--- /dev/null
+++ b/src/Components/Blazor/Server/src/Microsoft.AspNetCore.Blazor.Server.csproj
@@ -0,0 +1,19 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFramework>netcoreapp3.0</TargetFramework>
+    <Description>Runtime server features for ASP.NET Core Blazor applications.</Description>
+    <IsProductPackage>true</IsProductPackage>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.AspNetCore.Hosting.Abstractions" />
+    <Reference Include="Microsoft.AspNetCore.WebSockets" />
+    <Reference Include="Microsoft.AspNetCore.Hosting.Abstractions" />
+    <Reference Include="Newtonsoft.Json" />
+
+    <!-- Used by ws-proxy sources only. Remove this once we're able to consume ws-proxy as a NuGet package. -->
+    <Reference Include="Mono.Cecil" />
+  </ItemGroup>
+
+</Project>
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Server/MonoDebugProxy/BlazorMonoDebugProxyAppBuilderExtensions.cs b/src/Components/Blazor/Server/src/MonoDebugProxy/BlazorMonoDebugProxyAppBuilderExtensions.cs
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Server/MonoDebugProxy/BlazorMonoDebugProxyAppBuilderExtensions.cs
rename to src/Components/Blazor/Server/src/MonoDebugProxy/BlazorMonoDebugProxyAppBuilderExtensions.cs
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Server/MonoDebugProxy/UpdateSources.cmd b/src/Components/Blazor/Server/src/MonoDebugProxy/UpdateSources.cmd
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Server/MonoDebugProxy/UpdateSources.cmd
rename to src/Components/Blazor/Server/src/MonoDebugProxy/UpdateSources.cmd
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Server/MonoDebugProxy/ws-proxy/DebugStore.cs b/src/Components/Blazor/Server/src/MonoDebugProxy/ws-proxy/DebugStore.cs
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Server/MonoDebugProxy/ws-proxy/DebugStore.cs
rename to src/Components/Blazor/Server/src/MonoDebugProxy/ws-proxy/DebugStore.cs
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Server/MonoDebugProxy/ws-proxy/MonoProxy.cs b/src/Components/Blazor/Server/src/MonoDebugProxy/ws-proxy/MonoProxy.cs
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Server/MonoDebugProxy/ws-proxy/MonoProxy.cs
rename to src/Components/Blazor/Server/src/MonoDebugProxy/ws-proxy/MonoProxy.cs
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Server/MonoDebugProxy/ws-proxy/WsProxy.cs b/src/Components/Blazor/Server/src/MonoDebugProxy/ws-proxy/WsProxy.cs
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Server/MonoDebugProxy/ws-proxy/WsProxy.cs
rename to src/Components/Blazor/Server/src/MonoDebugProxy/ws-proxy/WsProxy.cs
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/.gitignore b/src/Components/Blazor/Templates/.gitignore
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/.gitignore
rename to src/Components/Blazor/Templates/.gitignore
diff --git a/src/Components/Blazor/Templates/src/Directory.Build.props b/src/Components/Blazor/Templates/src/Directory.Build.props
new file mode 100644
index 00000000000..c5666650b94
--- /dev/null
+++ b/src/Components/Blazor/Templates/src/Directory.Build.props
@@ -0,0 +1,14 @@
+<Project>
+  <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory)..\, Directory.Build.props))\Directory.Build.props" />
+
+  <PropertyGroup>
+    <GenerateDocumentationFile>false</GenerateDocumentationFile>
+  </PropertyGroup>
+
+    <PropertyGroup Label="Package Versions">
+    <!-- Used only in development when running the template contents directly from source -->
+    <TemplateBlazorPackageVersion>0.8.0-preview-19064-0339</TemplateBlazorPackageVersion>
+    <TemplateComponentsPackageVersion>3.0.0-preview-19064-0339</TemplateComponentsPackageVersion>
+  </PropertyGroup>
+
+</Project>
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/Directory.Build.targets b/src/Components/Blazor/Templates/src/Directory.Build.targets
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/Directory.Build.targets
rename to src/Components/Blazor/Templates/src/Directory.Build.targets
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/Microsoft.AspNetCore.Blazor.Templates.csproj b/src/Components/Blazor/Templates/src/Microsoft.AspNetCore.Blazor.Templates.csproj
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/Microsoft.AspNetCore.Blazor.Templates.csproj
rename to src/Components/Blazor/Templates/src/Microsoft.AspNetCore.Blazor.Templates.csproj
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/Microsoft.AspNetCore.Blazor.Templates.nuspec b/src/Components/Blazor/Templates/src/Microsoft.AspNetCore.Blazor.Templates.nuspec
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/Microsoft.AspNetCore.Blazor.Templates.nuspec
rename to src/Components/Blazor/Templates/src/Microsoft.AspNetCore.Blazor.Templates.nuspec
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/SetPackageProperties.targets b/src/Components/Blazor/Templates/src/SetPackageProperties.targets
similarity index 93%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/SetPackageProperties.targets
rename to src/Components/Blazor/Templates/src/SetPackageProperties.targets
index 10bb462ba76..5d0dd195b9c 100644
--- a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/SetPackageProperties.targets
+++ b/src/Components/Blazor/Templates/src/SetPackageProperties.targets
@@ -21,7 +21,6 @@
       <GeneratedContentProperties>
         IncludeCustomRestoreSources=$(IncludeCustomRestoreSourcesValue);
         TemplateBlazorVersion=$(PackageVersion);
-        TemplateRazorDesignPackageVersion=$(TemplateRazorDesignPackageVersion);
         RepositoryCommit=$(RepositoryCommit);
       </GeneratedContentProperties>
     </PropertyGroup>
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/.template.config.src/dotnetcli.host.json b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/.template.config.src/dotnetcli.host.json
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/.template.config.src/dotnetcli.host.json
rename to src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/.template.config.src/dotnetcli.host.json
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/.template.config.src/icon.png b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/.template.config.src/icon.png
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/.template.config.src/icon.png
rename to src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/.template.config.src/icon.png
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/.template.config.src/template.json b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/.template.config.src/template.json
similarity index 89%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/.template.config.src/template.json
rename to src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/.template.config.src/template.json
index 04fff6f66d3..9f74f7afd6f 100644
--- a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/.template.config.src/template.json
+++ b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/.template.config.src/template.json
@@ -17,7 +17,7 @@
   "preferNameDirectory": true,
   "primaryOutputs": [
     {
-      "condition": "(HostIdentifier == \"dotnetcli\" || HostIdentifier == \"dotnetcli-preview\")", 
+      "condition": "(HostIdentifier == \"dotnetcli\" || HostIdentifier == \"dotnetcli-preview\")",
       "path": "BlazorHosted-CSharp.sln"
     },
     {
@@ -83,13 +83,6 @@
       "replaces": "$(TemplateBlazorPackageVersion)",
       "defaultValue": "${TemplateBlazorVersion}"
     },
-    "TemplateRazorDesignPackageVersionSymbol": {
-      "type": "parameter",
-      "datatype": "string",
-      "description": "Specifies which version of the Razor.Design package to use.",
-      "replaces": "$(TemplateRazorDesignPackageVersion)",
-      "defaultValue": "${TemplateRazorDesignPackageVersion}"
-    },
     "skipRestore": {
       "type": "parameter",
       "datatype": "bool",
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/.template.config.src/vs-2017.3.host.json b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/.template.config.src/vs-2017.3.host.json
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/.template.config.src/vs-2017.3.host.json
rename to src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/.template.config.src/vs-2017.3.host.json
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/App.cshtml b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/App.cshtml
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/App.cshtml
rename to src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/App.cshtml
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/BlazorHosted-CSharp.Client.csproj b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/BlazorHosted-CSharp.Client.csproj
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/BlazorHosted-CSharp.Client.csproj
rename to src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/BlazorHosted-CSharp.Client.csproj
diff --git a/src/Components/blazor/samples/StandaloneApp/Pages/Counter.cshtml b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Pages/Counter.cshtml
similarity index 100%
rename from src/Components/blazor/samples/StandaloneApp/Pages/Counter.cshtml
rename to src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Pages/Counter.cshtml
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Pages/FetchData.cshtml b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Pages/FetchData.cshtml
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Pages/FetchData.cshtml
rename to src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Pages/FetchData.cshtml
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Pages/Index.cshtml b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Pages/Index.cshtml
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Pages/Index.cshtml
rename to src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Pages/Index.cshtml
diff --git a/src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/Pages/_ViewImports.cshtml b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Pages/_ViewImports.cshtml
similarity index 100%
rename from src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/Pages/_ViewImports.cshtml
rename to src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Pages/_ViewImports.cshtml
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Program.cs b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Program.cs
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Program.cs
rename to src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Program.cs
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Shared/MainLayout.cshtml b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Shared/MainLayout.cshtml
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Shared/MainLayout.cshtml
rename to src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Shared/MainLayout.cshtml
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Shared/NavMenu.cshtml b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Shared/NavMenu.cshtml
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Shared/NavMenu.cshtml
rename to src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Shared/NavMenu.cshtml
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Shared/SurveyPrompt.cshtml b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Shared/SurveyPrompt.cshtml
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Shared/SurveyPrompt.cshtml
rename to src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Shared/SurveyPrompt.cshtml
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Startup.cs b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Startup.cs
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Startup.cs
rename to src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Startup.cs
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/_ViewImports.cshtml b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/_ViewImports.cshtml
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/_ViewImports.cshtml
rename to src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/_ViewImports.cshtml
diff --git a/src/Components/blazor/samples/StandaloneApp/wwwroot/css/bootstrap/bootstrap.min.css b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/bootstrap/bootstrap.min.css
similarity index 100%
rename from src/Components/blazor/samples/StandaloneApp/wwwroot/css/bootstrap/bootstrap.min.css
rename to src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/bootstrap/bootstrap.min.css
diff --git a/src/Components/blazor/samples/StandaloneApp/wwwroot/css/bootstrap/bootstrap.min.css.map b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/bootstrap/bootstrap.min.css.map
similarity index 100%
rename from src/Components/blazor/samples/StandaloneApp/wwwroot/css/bootstrap/bootstrap.min.css.map
rename to src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/bootstrap/bootstrap.min.css.map
diff --git a/src/Components/blazor/samples/StandaloneApp/wwwroot/css/open-iconic/FONT-LICENSE b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/open-iconic/FONT-LICENSE
similarity index 100%
rename from src/Components/blazor/samples/StandaloneApp/wwwroot/css/open-iconic/FONT-LICENSE
rename to src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/open-iconic/FONT-LICENSE
diff --git a/src/Components/blazor/samples/StandaloneApp/wwwroot/css/open-iconic/ICON-LICENSE b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/open-iconic/ICON-LICENSE
similarity index 100%
rename from src/Components/blazor/samples/StandaloneApp/wwwroot/css/open-iconic/ICON-LICENSE
rename to src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/open-iconic/ICON-LICENSE
diff --git a/src/Components/blazor/samples/StandaloneApp/wwwroot/css/open-iconic/README.md b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/open-iconic/README.md
similarity index 100%
rename from src/Components/blazor/samples/StandaloneApp/wwwroot/css/open-iconic/README.md
rename to src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/open-iconic/README.md
diff --git a/src/Components/blazor/samples/StandaloneApp/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css
similarity index 100%
rename from src/Components/blazor/samples/StandaloneApp/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css
rename to src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css
diff --git a/src/Components/blazor/samples/StandaloneApp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot
similarity index 100%
rename from src/Components/blazor/samples/StandaloneApp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot
rename to src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot
diff --git a/src/Components/blazor/samples/StandaloneApp/wwwroot/css/open-iconic/font/fonts/open-iconic.otf b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf
similarity index 100%
rename from src/Components/blazor/samples/StandaloneApp/wwwroot/css/open-iconic/font/fonts/open-iconic.otf
rename to src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf
diff --git a/src/Components/blazor/samples/StandaloneApp/wwwroot/css/open-iconic/font/fonts/open-iconic.svg b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/open-iconic/font/fonts/open-iconic.svg
similarity index 100%
rename from src/Components/blazor/samples/StandaloneApp/wwwroot/css/open-iconic/font/fonts/open-iconic.svg
rename to src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/open-iconic/font/fonts/open-iconic.svg
diff --git a/src/Components/blazor/samples/StandaloneApp/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf
similarity index 100%
rename from src/Components/blazor/samples/StandaloneApp/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf
rename to src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf
diff --git a/src/Components/blazor/samples/StandaloneApp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff
similarity index 100%
rename from src/Components/blazor/samples/StandaloneApp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff
rename to src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff
diff --git a/src/Components/blazor/samples/StandaloneApp/wwwroot/css/site.css b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/site.css
similarity index 100%
rename from src/Components/blazor/samples/StandaloneApp/wwwroot/css/site.css
rename to src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/site.css
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/index.html b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/index.html
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/index.html
rename to src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/index.html
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Server/BlazorHosted-CSharp.Server.csproj b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Server/BlazorHosted-CSharp.Server.csproj
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Server/BlazorHosted-CSharp.Server.csproj
rename to src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Server/BlazorHosted-CSharp.Server.csproj
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Server/Controllers/SampleDataController.cs b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Server/Controllers/SampleDataController.cs
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Server/Controllers/SampleDataController.cs
rename to src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Server/Controllers/SampleDataController.cs
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Server/Program.cs b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Server/Program.cs
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Server/Program.cs
rename to src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Server/Program.cs
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Server/Startup.cs b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Server/Startup.cs
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Server/Startup.cs
rename to src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Server/Startup.cs
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Shared/BlazorHosted-CSharp.Shared.csproj b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Shared/BlazorHosted-CSharp.Shared.csproj
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Shared/BlazorHosted-CSharp.Shared.csproj
rename to src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Shared/BlazorHosted-CSharp.Shared.csproj
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Shared/WeatherForecast.cs b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Shared/WeatherForecast.cs
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Shared/WeatherForecast.cs
rename to src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Shared/WeatherForecast.cs
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.sln b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.sln
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.sln
rename to src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.sln
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorLibrary-CSharp/.template.config.src/dotnetcli.host.json b/src/Components/Blazor/Templates/src/content/BlazorLibrary-CSharp/.template.config.src/dotnetcli.host.json
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorLibrary-CSharp/.template.config.src/dotnetcli.host.json
rename to src/Components/Blazor/Templates/src/content/BlazorLibrary-CSharp/.template.config.src/dotnetcli.host.json
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorLibrary-CSharp/.template.config.src/icon.png b/src/Components/Blazor/Templates/src/content/BlazorLibrary-CSharp/.template.config.src/icon.png
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorLibrary-CSharp/.template.config.src/icon.png
rename to src/Components/Blazor/Templates/src/content/BlazorLibrary-CSharp/.template.config.src/icon.png
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorLibrary-CSharp/.template.config.src/template.json b/src/Components/Blazor/Templates/src/content/BlazorLibrary-CSharp/.template.config.src/template.json
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorLibrary-CSharp/.template.config.src/template.json
rename to src/Components/Blazor/Templates/src/content/BlazorLibrary-CSharp/.template.config.src/template.json
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorLibrary-CSharp/BlazorLibrary-CSharp.csproj b/src/Components/Blazor/Templates/src/content/BlazorLibrary-CSharp/BlazorLibrary-CSharp.csproj
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorLibrary-CSharp/BlazorLibrary-CSharp.csproj
rename to src/Components/Blazor/Templates/src/content/BlazorLibrary-CSharp/BlazorLibrary-CSharp.csproj
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorLibrary-CSharp/Component1.cshtml b/src/Components/Blazor/Templates/src/content/BlazorLibrary-CSharp/Component1.cshtml
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorLibrary-CSharp/Component1.cshtml
rename to src/Components/Blazor/Templates/src/content/BlazorLibrary-CSharp/Component1.cshtml
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorLibrary-CSharp/ExampleJsInterop.cs b/src/Components/Blazor/Templates/src/content/BlazorLibrary-CSharp/ExampleJsInterop.cs
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorLibrary-CSharp/ExampleJsInterop.cs
rename to src/Components/Blazor/Templates/src/content/BlazorLibrary-CSharp/ExampleJsInterop.cs
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorLibrary-CSharp/content/background.png b/src/Components/Blazor/Templates/src/content/BlazorLibrary-CSharp/content/background.png
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorLibrary-CSharp/content/background.png
rename to src/Components/Blazor/Templates/src/content/BlazorLibrary-CSharp/content/background.png
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorLibrary-CSharp/content/exampleJsInterop.js b/src/Components/Blazor/Templates/src/content/BlazorLibrary-CSharp/content/exampleJsInterop.js
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorLibrary-CSharp/content/exampleJsInterop.js
rename to src/Components/Blazor/Templates/src/content/BlazorLibrary-CSharp/content/exampleJsInterop.js
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorLibrary-CSharp/content/styles.css b/src/Components/Blazor/Templates/src/content/BlazorLibrary-CSharp/content/styles.css
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorLibrary-CSharp/content/styles.css
rename to src/Components/Blazor/Templates/src/content/BlazorLibrary-CSharp/content/styles.css
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/.template.config.src/dotnetcli.host.json b/src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/.template.config.src/dotnetcli.host.json
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/.template.config.src/dotnetcli.host.json
rename to src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/.template.config.src/dotnetcli.host.json
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/.template.config.src/icon.png b/src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/.template.config.src/icon.png
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/.template.config.src/icon.png
rename to src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/.template.config.src/icon.png
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/.template.config.src/template.json b/src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/.template.config.src/template.json
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/.template.config.src/template.json
rename to src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/.template.config.src/template.json
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/.template.config.src/vs-2017.3.host.json b/src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/.template.config.src/vs-2017.3.host.json
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/.template.config.src/vs-2017.3.host.json
rename to src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/.template.config.src/vs-2017.3.host.json
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/App.cshtml b/src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/App.cshtml
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/App.cshtml
rename to src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/App.cshtml
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/BlazorStandalone-CSharp.csproj b/src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/BlazorStandalone-CSharp.csproj
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/BlazorStandalone-CSharp.csproj
rename to src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/BlazorStandalone-CSharp.csproj
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Pages/Counter.cshtml b/src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/Pages/Counter.cshtml
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Pages/Counter.cshtml
rename to src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/Pages/Counter.cshtml
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/Pages/FetchData.cshtml b/src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/Pages/FetchData.cshtml
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/Pages/FetchData.cshtml
rename to src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/Pages/FetchData.cshtml
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/Pages/Index.cshtml b/src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/Pages/Index.cshtml
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/Pages/Index.cshtml
rename to src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/Pages/Index.cshtml
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Pages/_ViewImports.cshtml b/src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/Pages/_ViewImports.cshtml
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Pages/_ViewImports.cshtml
rename to src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/Pages/_ViewImports.cshtml
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/Program.cs b/src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/Program.cs
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/Program.cs
rename to src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/Program.cs
diff --git a/src/Components/blazor/samples/StandaloneApp/Shared/MainLayout.cshtml b/src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/Shared/MainLayout.cshtml
similarity index 100%
rename from src/Components/blazor/samples/StandaloneApp/Shared/MainLayout.cshtml
rename to src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/Shared/MainLayout.cshtml
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/Shared/NavMenu.cshtml b/src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/Shared/NavMenu.cshtml
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/Shared/NavMenu.cshtml
rename to src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/Shared/NavMenu.cshtml
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/Shared/SurveyPrompt.cshtml b/src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/Shared/SurveyPrompt.cshtml
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/Shared/SurveyPrompt.cshtml
rename to src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/Shared/SurveyPrompt.cshtml
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/Startup.cs b/src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/Startup.cs
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/Startup.cs
rename to src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/Startup.cs
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/_ViewImports.cshtml b/src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/_ViewImports.cshtml
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/_ViewImports.cshtml
rename to src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/_ViewImports.cshtml
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/bootstrap/bootstrap.min.css b/src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/wwwroot/css/bootstrap/bootstrap.min.css
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/bootstrap/bootstrap.min.css
rename to src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/wwwroot/css/bootstrap/bootstrap.min.css
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/bootstrap/bootstrap.min.css.map b/src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/wwwroot/css/bootstrap/bootstrap.min.css.map
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/bootstrap/bootstrap.min.css.map
rename to src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/wwwroot/css/bootstrap/bootstrap.min.css.map
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/open-iconic/FONT-LICENSE b/src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/wwwroot/css/open-iconic/FONT-LICENSE
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/open-iconic/FONT-LICENSE
rename to src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/wwwroot/css/open-iconic/FONT-LICENSE
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/open-iconic/ICON-LICENSE b/src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/wwwroot/css/open-iconic/ICON-LICENSE
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/open-iconic/ICON-LICENSE
rename to src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/wwwroot/css/open-iconic/ICON-LICENSE
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/open-iconic/README.md b/src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/wwwroot/css/open-iconic/README.md
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/open-iconic/README.md
rename to src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/wwwroot/css/open-iconic/README.md
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css b/src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css
rename to src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot b/src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/open-iconic/font/fonts/open-iconic.eot
rename to src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf b/src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/wwwroot/css/open-iconic/font/fonts/open-iconic.otf
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/open-iconic/font/fonts/open-iconic.otf
rename to src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/wwwroot/css/open-iconic/font/fonts/open-iconic.otf
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/open-iconic/font/fonts/open-iconic.svg b/src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/wwwroot/css/open-iconic/font/fonts/open-iconic.svg
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/open-iconic/font/fonts/open-iconic.svg
rename to src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/wwwroot/css/open-iconic/font/fonts/open-iconic.svg
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf b/src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf
rename to src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff b/src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/open-iconic/font/fonts/open-iconic.woff
rename to src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/site.css b/src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/wwwroot/css/site.css
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/wwwroot/css/site.css
rename to src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/wwwroot/css/site.css
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/wwwroot/index.html b/src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/wwwroot/index.html
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/wwwroot/index.html
rename to src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/wwwroot/index.html
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/wwwroot/sample-data/weather.json b/src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/wwwroot/sample-data/weather.json
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/wwwroot/sample-data/weather.json
rename to src/Components/Blazor/Templates/src/content/BlazorStandalone-CSharp/wwwroot/sample-data/weather.json
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/Directory.Build.props b/src/Components/Blazor/Templates/src/content/Directory.Build.props
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/Directory.Build.props
rename to src/Components/Blazor/Templates/src/content/Directory.Build.props
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/Directory.Build.targets b/src/Components/Blazor/Templates/src/content/Directory.Build.targets
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/Directory.Build.targets
rename to src/Components/Blazor/Templates/src/content/Directory.Build.targets
diff --git a/src/Components/blazor/samples/HostedInAspNet.Client/Home.cshtml b/src/Components/Blazor/testassets/HostedInAspNet.Client/Home.cshtml
similarity index 100%
rename from src/Components/blazor/samples/HostedInAspNet.Client/Home.cshtml
rename to src/Components/Blazor/testassets/HostedInAspNet.Client/Home.cshtml
diff --git a/src/Components/Blazor/testassets/HostedInAspNet.Client/HostedInAspNet.Client.csproj b/src/Components/Blazor/testassets/HostedInAspNet.Client/HostedInAspNet.Client.csproj
new file mode 100644
index 00000000000..adab74454e1
--- /dev/null
+++ b/src/Components/Blazor/testassets/HostedInAspNet.Client/HostedInAspNet.Client.csproj
@@ -0,0 +1,14 @@
+<Project Sdk="Microsoft.NET.Sdk.Web">
+
+  <PropertyGroup>
+    <TargetFramework>netstandard2.0</TargetFramework>
+    <OutputType>Exe</OutputType>
+    <ReferenceBlazorBuildLocally>true</ReferenceBlazorBuildLocally>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.AspNetCore.Blazor" />
+    <Reference Include="Microsoft.NET.Sdk.Razor" PrivateAssets="All" />
+  </ItemGroup>
+
+</Project>
diff --git a/src/Components/blazor/samples/HostedInAspNet.Client/Program.cs b/src/Components/Blazor/testassets/HostedInAspNet.Client/Program.cs
similarity index 100%
rename from src/Components/blazor/samples/HostedInAspNet.Client/Program.cs
rename to src/Components/Blazor/testassets/HostedInAspNet.Client/Program.cs
diff --git a/src/Components/blazor/samples/HostedInAspNet.Client/Startup.cs b/src/Components/Blazor/testassets/HostedInAspNet.Client/Startup.cs
similarity index 100%
rename from src/Components/blazor/samples/HostedInAspNet.Client/Startup.cs
rename to src/Components/Blazor/testassets/HostedInAspNet.Client/Startup.cs
diff --git a/src/Components/blazor/samples/HostedInAspNet.Client/wwwroot/customJsFileForTests.js b/src/Components/Blazor/testassets/HostedInAspNet.Client/wwwroot/customJsFileForTests.js
similarity index 100%
rename from src/Components/blazor/samples/HostedInAspNet.Client/wwwroot/customJsFileForTests.js
rename to src/Components/Blazor/testassets/HostedInAspNet.Client/wwwroot/customJsFileForTests.js
diff --git a/src/Components/blazor/samples/HostedInAspNet.Client/wwwroot/index.html b/src/Components/Blazor/testassets/HostedInAspNet.Client/wwwroot/index.html
similarity index 100%
rename from src/Components/blazor/samples/HostedInAspNet.Client/wwwroot/index.html
rename to src/Components/Blazor/testassets/HostedInAspNet.Client/wwwroot/index.html
diff --git a/src/Components/Blazor/testassets/HostedInAspNet.Server/HostedInAspNet.Server.csproj b/src/Components/Blazor/testassets/HostedInAspNet.Server/HostedInAspNet.Server.csproj
new file mode 100644
index 00000000000..dc93f7a937a
--- /dev/null
+++ b/src/Components/Blazor/testassets/HostedInAspNet.Server/HostedInAspNet.Server.csproj
@@ -0,0 +1,20 @@
+<Project Sdk="Microsoft.NET.Sdk.Web">
+
+  <PropertyGroup>
+    <TargetFramework>netcoreapp3.0</TargetFramework>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <ProjectReference Include="..\HostedInAspNet.Client\HostedInAspNet.Client.csproj" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.AspNetCore.Blazor.Server" />
+    <Reference Include="Microsoft.AspNetCore.Components.Server" />
+    <Reference Include="Microsoft.AspNetCore.Diagnostics" />
+    <Reference Include="Microsoft.AspNetCore.Mvc" />
+    <Reference Include="Microsoft.AspNetCore" />
+    <Reference Include="Microsoft.NET.Sdk.Razor" PrivateAssets="All" />
+  </ItemGroup>
+
+</Project>
diff --git a/src/Components/blazor/samples/HostedInAspNet.Server/Program.cs b/src/Components/Blazor/testassets/HostedInAspNet.Server/Program.cs
similarity index 100%
rename from src/Components/blazor/samples/HostedInAspNet.Server/Program.cs
rename to src/Components/Blazor/testassets/HostedInAspNet.Server/Program.cs
diff --git a/src/Components/blazor/samples/HostedInAspNet.Server/Startup.cs b/src/Components/Blazor/testassets/HostedInAspNet.Server/Startup.cs
similarity index 100%
rename from src/Components/blazor/samples/HostedInAspNet.Server/Startup.cs
rename to src/Components/Blazor/testassets/HostedInAspNet.Server/Startup.cs
diff --git a/src/Components/blazor/samples/HostedInAspNet.Server/Views/_ViewImports.cshtml b/src/Components/Blazor/testassets/HostedInAspNet.Server/Views/_ViewImports.cshtml
similarity index 100%
rename from src/Components/blazor/samples/HostedInAspNet.Server/Views/_ViewImports.cshtml
rename to src/Components/Blazor/testassets/HostedInAspNet.Server/Views/_ViewImports.cshtml
diff --git a/src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/App.cshtml b/src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/App.cshtml
similarity index 100%
rename from src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/App.cshtml
rename to src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/App.cshtml
diff --git a/src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/BenchmarkEvent.cs b/src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/BenchmarkEvent.cs
similarity index 100%
rename from src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/BenchmarkEvent.cs
rename to src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/BenchmarkEvent.cs
diff --git a/src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/Microsoft.AspNetCore.Blazor.E2EPerformance.csproj b/src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/Microsoft.AspNetCore.Blazor.E2EPerformance.csproj
new file mode 100644
index 00000000000..6c60c1580f2
--- /dev/null
+++ b/src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/Microsoft.AspNetCore.Blazor.E2EPerformance.csproj
@@ -0,0 +1,12 @@
+<Project Sdk="Microsoft.NET.Sdk.Web">
+
+  <PropertyGroup>
+    <TargetFramework>netstandard2.0</TargetFramework>
+    <ReferenceBlazorBuildLocally>true</ReferenceBlazorBuildLocally>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.AspNetCore.Blazor" />
+    <Reference Include="Microsoft.NET.Sdk.Razor" PrivateAssets="All" />
+  </ItemGroup>
+</Project>
diff --git a/src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/Pages/Index.cshtml b/src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/Pages/Index.cshtml
similarity index 100%
rename from src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/Pages/Index.cshtml
rename to src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/Pages/Index.cshtml
diff --git a/src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/Pages/Json.cshtml b/src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/Pages/Json.cshtml
similarity index 100%
rename from src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/Pages/Json.cshtml
rename to src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/Pages/Json.cshtml
diff --git a/src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/Pages/RenderList.cshtml b/src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/Pages/RenderList.cshtml
similarity index 100%
rename from src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/Pages/RenderList.cshtml
rename to src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/Pages/RenderList.cshtml
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/Pages/_ViewImports.cshtml b/src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/Pages/_ViewImports.cshtml
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/Pages/_ViewImports.cshtml
rename to src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/Pages/_ViewImports.cshtml
diff --git a/src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/Program.cs b/src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/Program.cs
similarity index 100%
rename from src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/Program.cs
rename to src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/Program.cs
diff --git a/src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/Shared/MainLayout.cshtml b/src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/Shared/MainLayout.cshtml
similarity index 100%
rename from src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/Shared/MainLayout.cshtml
rename to src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/Shared/MainLayout.cshtml
diff --git a/src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/Startup.cs b/src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/Startup.cs
similarity index 100%
rename from src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/Startup.cs
rename to src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/Startup.cs
diff --git a/src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/_ViewImports.cshtml b/src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/_ViewImports.cshtml
similarity index 100%
rename from src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/_ViewImports.cshtml
rename to src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/_ViewImports.cshtml
diff --git a/src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/appStartup.js b/src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/appStartup.js
similarity index 100%
rename from src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/appStartup.js
rename to src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/appStartup.js
diff --git a/src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/index.js b/src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/index.js
similarity index 100%
rename from src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/index.js
rename to src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/index.js
diff --git a/src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/jsonHandling.js b/src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/jsonHandling.js
similarity index 100%
rename from src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/jsonHandling.js
rename to src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/jsonHandling.js
diff --git a/src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/jsonHandlingData.js b/src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/jsonHandlingData.js
similarity index 100%
rename from src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/jsonHandlingData.js
rename to src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/jsonHandlingData.js
diff --git a/src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/lib/bootstrap.min.css b/src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/lib/bootstrap.min.css
similarity index 100%
rename from src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/lib/bootstrap.min.css
rename to src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/lib/bootstrap.min.css
diff --git a/src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/lib/minibench/README.md b/src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/lib/minibench/README.md
similarity index 100%
rename from src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/lib/minibench/README.md
rename to src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/lib/minibench/README.md
diff --git a/src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/lib/minibench/minibench.js b/src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/lib/minibench/minibench.js
similarity index 100%
rename from src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/lib/minibench/minibench.js
rename to src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/lib/minibench/minibench.js
diff --git a/src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/lib/minibench/style.css b/src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/lib/minibench/style.css
similarity index 100%
rename from src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/lib/minibench/style.css
rename to src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/lib/minibench/style.css
diff --git a/src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/renderList.js b/src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/renderList.js
similarity index 100%
rename from src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/renderList.js
rename to src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/renderList.js
diff --git a/src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/util/BenchmarkEvents.js b/src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/util/BenchmarkEvents.js
similarity index 100%
rename from src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/util/BenchmarkEvents.js
rename to src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/util/BenchmarkEvents.js
diff --git a/src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/util/BlazorApp.js b/src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/util/BlazorApp.js
similarity index 100%
rename from src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/util/BlazorApp.js
rename to src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/util/BlazorApp.js
diff --git a/src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/util/DOM.js b/src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/util/DOM.js
similarity index 100%
rename from src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/util/DOM.js
rename to src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/benchmarks/util/DOM.js
diff --git a/src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/blazor-frame.html b/src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/blazor-frame.html
similarity index 100%
rename from src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/blazor-frame.html
rename to src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/blazor-frame.html
diff --git a/src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/index.html b/src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/index.html
similarity index 100%
rename from src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/index.html
rename to src/Components/Blazor/testassets/Microsoft.AspNetCore.Blazor.E2EPerformance/wwwroot/index.html
diff --git a/src/Components/blazor/samples/MonoSanity/MonoSanity.csproj b/src/Components/Blazor/testassets/MonoSanity/MonoSanity.csproj
similarity index 54%
rename from src/Components/blazor/samples/MonoSanity/MonoSanity.csproj
rename to src/Components/Blazor/testassets/MonoSanity/MonoSanity.csproj
index 266f7976ca5..985bc678b9b 100644
--- a/src/Components/blazor/samples/MonoSanity/MonoSanity.csproj
+++ b/src/Components/Blazor/testassets/MonoSanity/MonoSanity.csproj
@@ -5,12 +5,12 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore" Version="$(MicrosoftAspNetCoreAppPackageVersion)" />
+    <ProjectReference Include="..\MonoSanityClient\MonoSanityClient.csproj" />
   </ItemGroup>
 
   <ItemGroup>
-    <ProjectReference Include="..\..\..\src\Microsoft.AspNetCore.Components.Server\Microsoft.AspNetCore.Components.Server.csproj" />
-    <ProjectReference Include="..\MonoSanityClient\MonoSanityClient.csproj" />
+    <Reference Include="Microsoft.AspNetCore" />
+    <Reference Include="Microsoft.AspNetCore.Components.Server" />
   </ItemGroup>
 
 </Project>
diff --git a/src/Components/blazor/samples/MonoSanity/Program.cs b/src/Components/Blazor/testassets/MonoSanity/Program.cs
similarity index 100%
rename from src/Components/blazor/samples/MonoSanity/Program.cs
rename to src/Components/Blazor/testassets/MonoSanity/Program.cs
diff --git a/src/Components/blazor/samples/MonoSanity/Startup.cs b/src/Components/Blazor/testassets/MonoSanity/Startup.cs
similarity index 100%
rename from src/Components/blazor/samples/MonoSanity/Startup.cs
rename to src/Components/Blazor/testassets/MonoSanity/Startup.cs
diff --git a/src/Components/blazor/samples/MonoSanity/wwwroot/index.html b/src/Components/Blazor/testassets/MonoSanity/wwwroot/index.html
similarity index 100%
rename from src/Components/blazor/samples/MonoSanity/wwwroot/index.html
rename to src/Components/Blazor/testassets/MonoSanity/wwwroot/index.html
diff --git a/src/Components/blazor/samples/MonoSanity/wwwroot/loader.js b/src/Components/Blazor/testassets/MonoSanity/wwwroot/loader.js
similarity index 100%
rename from src/Components/blazor/samples/MonoSanity/wwwroot/loader.js
rename to src/Components/Blazor/testassets/MonoSanity/wwwroot/loader.js
diff --git a/src/Components/blazor/samples/MonoSanityClient/Examples.cs b/src/Components/Blazor/testassets/MonoSanityClient/Examples.cs
similarity index 100%
rename from src/Components/blazor/samples/MonoSanityClient/Examples.cs
rename to src/Components/Blazor/testassets/MonoSanityClient/Examples.cs
diff --git a/src/Components/blazor/samples/MonoSanityClient/InternalCalls.cs b/src/Components/Blazor/testassets/MonoSanityClient/InternalCalls.cs
similarity index 100%
rename from src/Components/blazor/samples/MonoSanityClient/InternalCalls.cs
rename to src/Components/Blazor/testassets/MonoSanityClient/InternalCalls.cs
diff --git a/src/Components/Blazor/testassets/MonoSanityClient/MonoSanityClient.csproj b/src/Components/Blazor/testassets/MonoSanityClient/MonoSanityClient.csproj
new file mode 100644
index 00000000000..1dc35e0ca4b
--- /dev/null
+++ b/src/Components/Blazor/testassets/MonoSanityClient/MonoSanityClient.csproj
@@ -0,0 +1,17 @@
+<Project Sdk="Microsoft.NET.Sdk.Razor" TreatAsLocalProperty="BlazorLinkOnBuild">
+
+  <PropertyGroup>
+    <TargetFramework>netstandard2.0</TargetFramework>
+    <IsPackable>false</IsPackable>
+    <BlazorLinkOnBuild>false</BlazorLinkOnBuild>
+    <OutputType>exe</OutputType>
+
+    <ReferenceBlazorBuildLocally>true</ReferenceBlazorBuildLocally>
+    <!-- loader.js is hard-coded to assume it can load .pdbs regardless of Debug/Release configuration -->
+    <BlazorEnableDebugging>true</BlazorEnableDebugging>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.NET.Sdk.Razor" PrivateAssets="All" />
+  </ItemGroup>
+</Project>
diff --git a/src/Components/blazor/samples/MonoSanityClient/Program.cs b/src/Components/Blazor/testassets/MonoSanityClient/Program.cs
similarity index 100%
rename from src/Components/blazor/samples/MonoSanityClient/Program.cs
rename to src/Components/Blazor/testassets/MonoSanityClient/Program.cs
diff --git a/src/Components/blazor/samples/StandaloneApp/App.cshtml b/src/Components/Blazor/testassets/StandaloneApp/App.cshtml
similarity index 100%
rename from src/Components/blazor/samples/StandaloneApp/App.cshtml
rename to src/Components/Blazor/testassets/StandaloneApp/App.cshtml
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/Pages/Counter.cshtml b/src/Components/Blazor/testassets/StandaloneApp/Pages/Counter.cshtml
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/Pages/Counter.cshtml
rename to src/Components/Blazor/testassets/StandaloneApp/Pages/Counter.cshtml
diff --git a/src/Components/blazor/samples/StandaloneApp/Pages/FetchData.cshtml b/src/Components/Blazor/testassets/StandaloneApp/Pages/FetchData.cshtml
similarity index 100%
rename from src/Components/blazor/samples/StandaloneApp/Pages/FetchData.cshtml
rename to src/Components/Blazor/testassets/StandaloneApp/Pages/FetchData.cshtml
diff --git a/src/Components/blazor/samples/StandaloneApp/Pages/Index.cshtml b/src/Components/Blazor/testassets/StandaloneApp/Pages/Index.cshtml
similarity index 100%
rename from src/Components/blazor/samples/StandaloneApp/Pages/Index.cshtml
rename to src/Components/Blazor/testassets/StandaloneApp/Pages/Index.cshtml
diff --git a/src/Components/blazor/samples/StandaloneApp/Pages/_ViewImports.cshtml b/src/Components/Blazor/testassets/StandaloneApp/Pages/_ViewImports.cshtml
similarity index 100%
rename from src/Components/blazor/samples/StandaloneApp/Pages/_ViewImports.cshtml
rename to src/Components/Blazor/testassets/StandaloneApp/Pages/_ViewImports.cshtml
diff --git a/src/Components/blazor/samples/StandaloneApp/Program.cs b/src/Components/Blazor/testassets/StandaloneApp/Program.cs
similarity index 100%
rename from src/Components/blazor/samples/StandaloneApp/Program.cs
rename to src/Components/Blazor/testassets/StandaloneApp/Program.cs
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/Shared/MainLayout.cshtml b/src/Components/Blazor/testassets/StandaloneApp/Shared/MainLayout.cshtml
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/Shared/MainLayout.cshtml
rename to src/Components/Blazor/testassets/StandaloneApp/Shared/MainLayout.cshtml
diff --git a/src/Components/blazor/samples/StandaloneApp/Shared/NavMenu.cshtml b/src/Components/Blazor/testassets/StandaloneApp/Shared/NavMenu.cshtml
similarity index 100%
rename from src/Components/blazor/samples/StandaloneApp/Shared/NavMenu.cshtml
rename to src/Components/Blazor/testassets/StandaloneApp/Shared/NavMenu.cshtml
diff --git a/src/Components/Blazor/testassets/StandaloneApp/StandaloneApp.csproj b/src/Components/Blazor/testassets/StandaloneApp/StandaloneApp.csproj
new file mode 100644
index 00000000000..6c60c1580f2
--- /dev/null
+++ b/src/Components/Blazor/testassets/StandaloneApp/StandaloneApp.csproj
@@ -0,0 +1,12 @@
+<Project Sdk="Microsoft.NET.Sdk.Web">
+
+  <PropertyGroup>
+    <TargetFramework>netstandard2.0</TargetFramework>
+    <ReferenceBlazorBuildLocally>true</ReferenceBlazorBuildLocally>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.AspNetCore.Blazor" />
+    <Reference Include="Microsoft.NET.Sdk.Razor" PrivateAssets="All" />
+  </ItemGroup>
+</Project>
diff --git a/src/Components/blazor/samples/StandaloneApp/Startup.cs b/src/Components/Blazor/testassets/StandaloneApp/Startup.cs
similarity index 100%
rename from src/Components/blazor/samples/StandaloneApp/Startup.cs
rename to src/Components/Blazor/testassets/StandaloneApp/Startup.cs
diff --git a/src/Components/blazor/samples/StandaloneApp/_ViewImports.cshtml b/src/Components/Blazor/testassets/StandaloneApp/_ViewImports.cshtml
similarity index 100%
rename from src/Components/blazor/samples/StandaloneApp/_ViewImports.cshtml
rename to src/Components/Blazor/testassets/StandaloneApp/_ViewImports.cshtml
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/wwwroot/css/bootstrap/bootstrap.min.css b/src/Components/Blazor/testassets/StandaloneApp/wwwroot/css/bootstrap/bootstrap.min.css
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/wwwroot/css/bootstrap/bootstrap.min.css
rename to src/Components/Blazor/testassets/StandaloneApp/wwwroot/css/bootstrap/bootstrap.min.css
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/wwwroot/css/bootstrap/bootstrap.min.css.map b/src/Components/Blazor/testassets/StandaloneApp/wwwroot/css/bootstrap/bootstrap.min.css.map
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/wwwroot/css/bootstrap/bootstrap.min.css.map
rename to src/Components/Blazor/testassets/StandaloneApp/wwwroot/css/bootstrap/bootstrap.min.css.map
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/wwwroot/css/open-iconic/FONT-LICENSE b/src/Components/Blazor/testassets/StandaloneApp/wwwroot/css/open-iconic/FONT-LICENSE
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/wwwroot/css/open-iconic/FONT-LICENSE
rename to src/Components/Blazor/testassets/StandaloneApp/wwwroot/css/open-iconic/FONT-LICENSE
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/wwwroot/css/open-iconic/ICON-LICENSE b/src/Components/Blazor/testassets/StandaloneApp/wwwroot/css/open-iconic/ICON-LICENSE
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/wwwroot/css/open-iconic/ICON-LICENSE
rename to src/Components/Blazor/testassets/StandaloneApp/wwwroot/css/open-iconic/ICON-LICENSE
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/wwwroot/css/open-iconic/README.md b/src/Components/Blazor/testassets/StandaloneApp/wwwroot/css/open-iconic/README.md
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/wwwroot/css/open-iconic/README.md
rename to src/Components/Blazor/testassets/StandaloneApp/wwwroot/css/open-iconic/README.md
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css b/src/Components/Blazor/testassets/StandaloneApp/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css
rename to src/Components/Blazor/testassets/StandaloneApp/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot b/src/Components/Blazor/testassets/StandaloneApp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot
rename to src/Components/Blazor/testassets/StandaloneApp/wwwroot/css/open-iconic/font/fonts/open-iconic.eot
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/wwwroot/css/open-iconic/font/fonts/open-iconic.otf b/src/Components/Blazor/testassets/StandaloneApp/wwwroot/css/open-iconic/font/fonts/open-iconic.otf
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/wwwroot/css/open-iconic/font/fonts/open-iconic.otf
rename to src/Components/Blazor/testassets/StandaloneApp/wwwroot/css/open-iconic/font/fonts/open-iconic.otf
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/wwwroot/css/open-iconic/font/fonts/open-iconic.svg b/src/Components/Blazor/testassets/StandaloneApp/wwwroot/css/open-iconic/font/fonts/open-iconic.svg
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/wwwroot/css/open-iconic/font/fonts/open-iconic.svg
rename to src/Components/Blazor/testassets/StandaloneApp/wwwroot/css/open-iconic/font/fonts/open-iconic.svg
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf b/src/Components/Blazor/testassets/StandaloneApp/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf
rename to src/Components/Blazor/testassets/StandaloneApp/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff b/src/Components/Blazor/testassets/StandaloneApp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff
rename to src/Components/Blazor/testassets/StandaloneApp/wwwroot/css/open-iconic/font/fonts/open-iconic.woff
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/wwwroot/css/site.css b/src/Components/Blazor/testassets/StandaloneApp/wwwroot/css/site.css
similarity index 100%
rename from src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/content/BlazorStandalone-CSharp/wwwroot/css/site.css
rename to src/Components/Blazor/testassets/StandaloneApp/wwwroot/css/site.css
diff --git a/src/Components/blazor/samples/StandaloneApp/wwwroot/index.html b/src/Components/Blazor/testassets/StandaloneApp/wwwroot/index.html
similarity index 100%
rename from src/Components/blazor/samples/StandaloneApp/wwwroot/index.html
rename to src/Components/Blazor/testassets/StandaloneApp/wwwroot/index.html
diff --git a/src/Components/blazor/samples/StandaloneApp/wwwroot/sample-data/weather.json b/src/Components/Blazor/testassets/StandaloneApp/wwwroot/sample-data/weather.json
similarity index 100%
rename from src/Components/blazor/samples/StandaloneApp/wwwroot/sample-data/weather.json
rename to src/Components/Blazor/testassets/StandaloneApp/wwwroot/sample-data/weather.json
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/.gitignore b/src/Components/Browser.JS/.gitignore
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/.gitignore
rename to src/Components/Browser.JS/.gitignore
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/Boot.Server.ts b/src/Components/Browser.JS/src/Boot.Server.ts
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/Boot.Server.ts
rename to src/Components/Browser.JS/src/Boot.Server.ts
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/Boot.WebAssembly.ts b/src/Components/Browser.JS/src/Boot.WebAssembly.ts
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/Boot.WebAssembly.ts
rename to src/Components/Browser.JS/src/Boot.WebAssembly.ts
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/BootCommon.ts b/src/Components/Browser.JS/src/BootCommon.ts
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/BootCommon.ts
rename to src/Components/Browser.JS/src/BootCommon.ts
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/Environment.ts b/src/Components/Browser.JS/src/Environment.ts
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/Environment.ts
rename to src/Components/Browser.JS/src/Environment.ts
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/GlobalExports.ts b/src/Components/Browser.JS/src/GlobalExports.ts
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/GlobalExports.ts
rename to src/Components/Browser.JS/src/GlobalExports.ts
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/Microsoft.AspNetCore.Components.Browser.JS.csproj b/src/Components/Browser.JS/src/Microsoft.AspNetCore.Components.Browser.JS.csproj
similarity index 93%
rename from src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/Microsoft.AspNetCore.Components.Browser.JS.csproj
rename to src/Components/Browser.JS/src/Microsoft.AspNetCore.Components.Browser.JS.csproj
index 0be6f3c57ff..fcaead2e347 100644
--- a/src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/Microsoft.AspNetCore.Components.Browser.JS.csproj
+++ b/src/Components/Browser.JS/src/Microsoft.AspNetCore.Components.Browser.JS.csproj
@@ -13,7 +13,7 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="$(AspNetCorePackageVersion)" />
+    <Reference Include="Microsoft.Extensions.FileProviders.Embedded" />
     <WebpackInputs Include="**\*.ts" Exclude="node_modules\**" />
   </ItemGroup>
 
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/Platform/Mono/MonoDebugger.ts b/src/Components/Browser.JS/src/Platform/Mono/MonoDebugger.ts
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/Platform/Mono/MonoDebugger.ts
rename to src/Components/Browser.JS/src/Platform/Mono/MonoDebugger.ts
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/Platform/Mono/MonoPlatform.ts b/src/Components/Browser.JS/src/Platform/Mono/MonoPlatform.ts
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/Platform/Mono/MonoPlatform.ts
rename to src/Components/Browser.JS/src/Platform/Mono/MonoPlatform.ts
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/Platform/Mono/MonoTypes.d.ts b/src/Components/Browser.JS/src/Platform/Mono/MonoTypes.d.ts
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/Platform/Mono/MonoTypes.d.ts
rename to src/Components/Browser.JS/src/Platform/Mono/MonoTypes.d.ts
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/Platform/Platform.ts b/src/Components/Browser.JS/src/Platform/Platform.ts
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/Platform/Platform.ts
rename to src/Components/Browser.JS/src/Platform/Platform.ts
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/Platform/Url.ts b/src/Components/Browser.JS/src/Platform/Url.ts
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/Platform/Url.ts
rename to src/Components/Browser.JS/src/Platform/Url.ts
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/Rendering/BrowserRenderer.ts b/src/Components/Browser.JS/src/Rendering/BrowserRenderer.ts
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/Rendering/BrowserRenderer.ts
rename to src/Components/Browser.JS/src/Rendering/BrowserRenderer.ts
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/Rendering/ElementReferenceCapture.ts b/src/Components/Browser.JS/src/Rendering/ElementReferenceCapture.ts
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/Rendering/ElementReferenceCapture.ts
rename to src/Components/Browser.JS/src/Rendering/ElementReferenceCapture.ts
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/Rendering/EventDelegator.ts b/src/Components/Browser.JS/src/Rendering/EventDelegator.ts
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/Rendering/EventDelegator.ts
rename to src/Components/Browser.JS/src/Rendering/EventDelegator.ts
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/Rendering/EventForDotNet.ts b/src/Components/Browser.JS/src/Rendering/EventForDotNet.ts
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/Rendering/EventForDotNet.ts
rename to src/Components/Browser.JS/src/Rendering/EventForDotNet.ts
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/Rendering/LogicalElements.ts b/src/Components/Browser.JS/src/Rendering/LogicalElements.ts
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/Rendering/LogicalElements.ts
rename to src/Components/Browser.JS/src/Rendering/LogicalElements.ts
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/Rendering/RenderBatch/OutOfProcessRenderBatch.ts b/src/Components/Browser.JS/src/Rendering/RenderBatch/OutOfProcessRenderBatch.ts
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/Rendering/RenderBatch/OutOfProcessRenderBatch.ts
rename to src/Components/Browser.JS/src/Rendering/RenderBatch/OutOfProcessRenderBatch.ts
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/Rendering/RenderBatch/RenderBatch.ts b/src/Components/Browser.JS/src/Rendering/RenderBatch/RenderBatch.ts
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/Rendering/RenderBatch/RenderBatch.ts
rename to src/Components/Browser.JS/src/Rendering/RenderBatch/RenderBatch.ts
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/Rendering/RenderBatch/SharedMemoryRenderBatch.ts b/src/Components/Browser.JS/src/Rendering/RenderBatch/SharedMemoryRenderBatch.ts
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/Rendering/RenderBatch/SharedMemoryRenderBatch.ts
rename to src/Components/Browser.JS/src/Rendering/RenderBatch/SharedMemoryRenderBatch.ts
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/Rendering/RenderBatch/Utf8Decoder.ts b/src/Components/Browser.JS/src/Rendering/RenderBatch/Utf8Decoder.ts
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/Rendering/RenderBatch/Utf8Decoder.ts
rename to src/Components/Browser.JS/src/Rendering/RenderBatch/Utf8Decoder.ts
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/Rendering/Renderer.ts b/src/Components/Browser.JS/src/Rendering/Renderer.ts
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/Rendering/Renderer.ts
rename to src/Components/Browser.JS/src/Rendering/Renderer.ts
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/Services/Http.ts b/src/Components/Browser.JS/src/Services/Http.ts
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/Services/Http.ts
rename to src/Components/Browser.JS/src/Services/Http.ts
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/Services/UriHelper.ts b/src/Components/Browser.JS/src/Services/UriHelper.ts
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/src/Services/UriHelper.ts
rename to src/Components/Browser.JS/src/Services/UriHelper.ts
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/package-lock.json b/src/Components/Browser.JS/src/package-lock.json
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/package-lock.json
rename to src/Components/Browser.JS/src/package-lock.json
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/package.json b/src/Components/Browser.JS/src/package.json
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/package.json
rename to src/Components/Browser.JS/src/package.json
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/tsconfig.json b/src/Components/Browser.JS/src/tsconfig.json
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/tsconfig.json
rename to src/Components/Browser.JS/src/tsconfig.json
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/webpack.config.js b/src/Components/Browser.JS/src/webpack.config.js
similarity index 77%
rename from src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/webpack.config.js
rename to src/Components/Browser.JS/src/webpack.config.js
index 14b0f6c5cb4..fd4256d368d 100644
--- a/src/Components/src/Microsoft.AspNetCore.Components.Browser.JS/webpack.config.js
+++ b/src/Components/Browser.JS/src/webpack.config.js
@@ -8,8 +8,8 @@ module.exports = (env, args) => ({
         rules: [{ test: /\.ts?$/, loader: 'ts-loader' }]
     },
     entry: {
-        'components.webassembly': './src/Boot.WebAssembly.ts',
-        'components.server': './src/Boot.Server.ts',
+        'components.webassembly': './Boot.WebAssembly.ts',
+        'components.server': './Boot.Server.ts',
     },
     output: { path: path.join(__dirname, '/dist'), filename: '[name].js' }
 });
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Browser/BrowserUriHelperInterop.cs b/src/Components/Browser/src/BrowserUriHelperInterop.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Browser/BrowserUriHelperInterop.cs
rename to src/Components/Browser/src/BrowserUriHelperInterop.cs
diff --git a/src/Components/Browser/src/Microsoft.AspNetCore.Components.Browser.csproj b/src/Components/Browser/src/Microsoft.AspNetCore.Components.Browser.csproj
new file mode 100644
index 00000000000..f3fba4e1ae1
--- /dev/null
+++ b/src/Components/Browser/src/Microsoft.AspNetCore.Components.Browser.csproj
@@ -0,0 +1,14 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFramework>netstandard2.0</TargetFramework>
+    <Description>Support for rendering ASP.NET Core components for browsers.</Description>
+    <IsProductPackage>true</IsProductPackage>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.AspNetCore.Components" />
+    <Reference Include="Microsoft.Extensions.DependencyInjection" />
+  </ItemGroup>
+
+</Project>
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Browser/Properties/AssemblyInfo.cs b/src/Components/Browser/src/Properties/AssemblyInfo.cs
similarity index 72%
rename from src/Components/src/Microsoft.AspNetCore.Components.Browser/Properties/AssemblyInfo.cs
rename to src/Components/Browser/src/Properties/AssemblyInfo.cs
index a311581a181..c773cb61e90 100644
--- a/src/Components/src/Microsoft.AspNetCore.Components.Browser/Properties/AssemblyInfo.cs
+++ b/src/Components/Browser/src/Properties/AssemblyInfo.cs
@@ -3,4 +3,4 @@ using System.Runtime.CompilerServices;
 [assembly: InternalsVisibleTo("Microsoft.AspNetCore.Blazor, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
 [assembly: InternalsVisibleTo("Microsoft.AspNetCore.Components.Server, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
 
-[assembly: InternalsVisibleTo("Microsoft.AspNetCore.Components.Server.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
+[assembly: InternalsVisibleTo("Microsoft.AspNetCore.Components.Server.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Browser/RendererRegistry.cs b/src/Components/Browser/src/RendererRegistry.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Browser/RendererRegistry.cs
rename to src/Components/Browser/src/RendererRegistry.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Browser/RendererRegistryEventDispatcher.cs b/src/Components/Browser/src/RendererRegistryEventDispatcher.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Browser/RendererRegistryEventDispatcher.cs
rename to src/Components/Browser/src/RendererRegistryEventDispatcher.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Build/Microsoft.AspNetCore.Components.Build.csproj b/src/Components/Build/src/Microsoft.AspNetCore.Components.Build.csproj
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Build/Microsoft.AspNetCore.Components.Build.csproj
rename to src/Components/Build/src/Microsoft.AspNetCore.Components.Build.csproj
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Build/Microsoft.AspNetCore.Components.Build.nuspec b/src/Components/Build/src/Microsoft.AspNetCore.Components.Build.nuspec
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Build/Microsoft.AspNetCore.Components.Build.nuspec
rename to src/Components/Build/src/Microsoft.AspNetCore.Components.Build.nuspec
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Build/ReferenceFromSource.props b/src/Components/Build/src/ReferenceFromSource.props
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Build/ReferenceFromSource.props
rename to src/Components/Build/src/ReferenceFromSource.props
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Build/build/netstandard1.0/Microsoft.AspNetCore.Components.Build.props b/src/Components/Build/src/build/netstandard1.0/Microsoft.AspNetCore.Components.Build.props
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Build/build/netstandard1.0/Microsoft.AspNetCore.Components.Build.props
rename to src/Components/Build/src/build/netstandard1.0/Microsoft.AspNetCore.Components.Build.props
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Build/build/netstandard1.0/Microsoft.AspNetCore.Components.Build.targets b/src/Components/Build/src/build/netstandard1.0/Microsoft.AspNetCore.Components.Build.targets
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Build/build/netstandard1.0/Microsoft.AspNetCore.Components.Build.targets
rename to src/Components/Build/src/build/netstandard1.0/Microsoft.AspNetCore.Components.Build.targets
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Build/targets/All.props b/src/Components/Build/src/targets/All.props
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Build/targets/All.props
rename to src/Components/Build/src/targets/All.props
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Build/targets/All.targets b/src/Components/Build/src/targets/All.targets
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Build/targets/All.targets
rename to src/Components/Build/src/targets/All.targets
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Build/targets/RazorCompilation.targets b/src/Components/Build/src/targets/RazorCompilation.targets
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Build/targets/RazorCompilation.targets
rename to src/Components/Build/src/targets/RazorCompilation.targets
diff --git a/src/Components/Components.sln b/src/Components/Components.sln
index 623004b5bb9..56a8a555467 100644
--- a/src/Components/Components.sln
+++ b/src/Components/Components.sln
@@ -1,407 +1,1459 @@
 
 Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 16
-VisualStudioVersion = 16.0.28414.68
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{F5FDD4E5-6A52-4A86-BE5E-5E42CB1DC8DA}"
+# Visual Studio 15
+VisualStudioVersion = 15.0.26124.0
+MinimumVisualStudioVersion = 15.0.26124.0
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Analyzers", "Analyzers", "{E059A46B-56E3-41E2-83F4-B5D180056F3B}"
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{B867E038-B3CE-43E3-9292-61568C46CDEB}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Components.Analyzers", "Analyzers\src\Microsoft.AspNetCore.Components.Analyzers.csproj", "{ECE91401-329E-4615-8684-8E910D2741C4}"
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{ADA3AE29-F6DE-49F6-8C7C-B321508CAE8E}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Components.Analyzers.Tests", "Analyzers\test\Microsoft.AspNetCore.Components.Analyzers.Tests.csproj", "{F000C49D-3857-42A4-918D-DA4C08691FE2}"
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "HostedInAspNet", "HostedInAspNet", "{4D367450-96E9-4C8C-8B56-EED8ADE3A20D}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Blazor", "Blazor", "{7260DED9-22A9-4E9D-92F4-5E8A4404DEAF}"
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "MonoSanity", "MonoSanity", "{2A076721-6081-4517-8329-B9E5110D6DAC}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Blazor", "Blazor\Blazor\src\Microsoft.AspNetCore.Blazor.csproj", "{641922CD-E6F5-41E7-A085-EE07C2A7328D}"
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "testapps", "testapps", "{4AE0D35B-D97A-44D0-8392-C9240377DCCE}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Blazor.Tests", "Blazor\Blazor\test\Microsoft.AspNetCore.Blazor.Tests.csproj", "{958AD6D2-174B-4B5B-BEFC-FA64B5159334}"
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tooling", "tooling", "{F563ABB6-85FB-4CFC-B0D2-1D5130E8246D}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.VisualStudio.LanguageServices.Blazor", "Blazor\BlazorLanguageServices\src\Microsoft.VisualStudio.LanguageServices.Blazor.csproj", "{27CF854D-E98B-4853-946B-2D4EA28B8FC5}"
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "benchmarks", "benchmarks", "{36A7DEB7-5F88-4BFB-B57E-79EEC9950E25}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Blazor.Build", "Blazor\Build\src\Microsoft.AspNetCore.Blazor.Build.csproj", "{E8AD67A4-77D3-4B85-AE19-4711388B62B1}"
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ComponentsApp", "ComponentsApp", "{3173A9C0-4F66-4064-83EC-3C206F1430FB}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Blazor.Build.Tests", "Blazor\Build\test\Microsoft.AspNetCore.Blazor.Build.Tests.csproj", "{E38FDBB0-08C1-444E-A449-69C8A59D721B}"
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "blazor", "blazor", "{E5DDF29D-DFC9-43E3-AC3A-5B6D54B786D5}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Blazor.Cli", "Blazor\Cli\src\Microsoft.AspNetCore.Blazor.Cli.csproj", "{A6C8050D-7C18-4585-ADCF-833AC1765847}"
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "benchmarks", "benchmarks", "{DDE4B710-6936-4E17-9CA0-54C45333ED15}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Blazor.E2EPerformance", "Blazor\testassets\Microsoft.AspNetCore.Blazor.E2EPerformance\Microsoft.AspNetCore.Blazor.E2EPerformance.csproj", "{08773DD6-6FED-4BF2-BD9F-C19D2CF919BB}"
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{C7B9207E-BF85-422D-9EBC-E243C399F619}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Blazor.Server", "Blazor\Server\src\Microsoft.AspNetCore.Blazor.Server.csproj", "{A4859630-F9F7-4F5C-9FF3-6C013D7C58FA}"
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{AD41FFD8-2C0C-4F0C-9537-25C2A3A7A1F4}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Blazor.Templates", "Blazor\Templates\src\Microsoft.AspNetCore.Blazor.Templates.csproj", "{66036B70-6C93-4E45-A1A1-819F15CA757A}"
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "shared", "shared", "{A63F9FCD-29D7-4D49-BC70-7E0F57D0BA60}"
-	ProjectSection(SolutionItems) = preProject
-		src\shared\ComponentsApi.cs = src\shared\ComponentsApi.cs
-		src\shared\ConventionBasedStartup.cs = src\shared\ConventionBasedStartup.cs
-		src\shared\IBlazorStartup.cs = src\shared\IBlazorStartup.cs
-	EndProjectSection
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "testassets", "testassets", "{A7ABAC29-F73F-456D-AE54-46842CFC2E10}"
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{32B33872-B599-4913-9F90-EDB5F9E24B18}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HostedInAspNet.Client", "Blazor\testassets\HostedInAspNet.Client\HostedInAspNet.Client.csproj", "{FD37F740-A654-4117-BFB6-9112CE4C1D3B}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MonoSanity", "blazor\samples\MonoSanity\MonoSanity.csproj", "{7C53BB6B-5906-4753-B507-C9FCC2F7E5B7}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HostedInAspNet.Server", "Blazor\testassets\HostedInAspNet.Server\HostedInAspNet.Server.csproj", "{C1E2C117-BE47-4E29-94B3-753262D97A5C}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Components.Server", "src\Microsoft.AspNetCore.Components.Server\Microsoft.AspNetCore.Components.Server.csproj", "{5A694793-3257-4D37-BB74-4A41B3894685}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MonoSanity", "Blazor\testassets\MonoSanity\MonoSanity.csproj", "{F16C1A7C-A2BD-4EB1-8BC8-23B1375F3B9E}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Components.E2ETest", "test\Microsoft.AspNetCore.Components.E2ETest\Microsoft.AspNetCore.Components.E2ETest.csproj", "{5BC2A10D-B6CA-43AE-B73C-2A41AE1039F9}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MonoSanityClient", "Blazor\testassets\MonoSanityClient\MonoSanityClient.csproj", "{1C4BF2D3-44A8-4A71-B031-15B983663CB0}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MonoSanityClient", "blazor\samples\MonoSanityClient\MonoSanityClient.csproj", "{06AAAE9E-96DE-4574-97DA-9C4C7D9FE990}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "StandaloneApp", "Blazor\testassets\StandaloneApp\StandaloneApp.csproj", "{C0FFB29E-4696-4875-9039-E5FA1AC5A42A}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HostedInAspNet.Client", "blazor\samples\HostedInAspNet.Client\HostedInAspNet.Client.csproj", "{B4335F7C-4E86-4559-821F-F1B1C75F5FAE}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Browser", "Browser", "{A27FF193-195B-4474-8E6C-840B2E339373}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HostedInAspNet.Server", "blazor\samples\HostedInAspNet.Server\HostedInAspNet.Server.csproj", "{F8996835-41F7-4663-91DF-3B5652ADC37D}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Components.Browser", "Browser\src\Microsoft.AspNetCore.Components.Browser.csproj", "{3B1A56F8-B3E0-4F33-A717-50BDD4FBE12E}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Components", "src\Microsoft.AspNetCore.Components\Microsoft.AspNetCore.Components.csproj", "{7FD8C650-74B3-4153-AEA1-00F4F6AF393D}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Browser.JS", "Browser.JS", "{11F9B329-F22E-4AD3-AB38-98C55C2DC54C}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "StandaloneApp", "blazor\samples\StandaloneApp\StandaloneApp.csproj", "{B241434A-1642-44CC-AE9A-2012B5C5BD02}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Components.Browser.JS", "Browser.JS\src\Microsoft.AspNetCore.Components.Browser.JS.csproj", "{E52044BD-17D3-483D-8F1D-BE9C9F091CCD}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Blazor.Build.Test", "blazor\test\Microsoft.AspNetCore.Blazor.Build.Test\Microsoft.AspNetCore.Blazor.Build.Test.csproj", "{709C7EBE-EB93-4F6D-9491-D714B0D2E898}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Build", "Build", "{2639736B-94BF-4A6C-AFAE-E9A44FF04CD0}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Blazor.Build", "blazor\src\Microsoft.AspNetCore.Blazor.Build\Microsoft.AspNetCore.Blazor.Build.csproj", "{8B3D0F1C-0E38-4E6D-BFF1-C4FDA0CD9815}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Components.Build", "Build\src\Microsoft.AspNetCore.Components.Build.csproj", "{74759A1D-159F-4B66-9FC1-7BE3F0DF2B2B}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Components.Browser.JS", "src\Microsoft.AspNetCore.Components.Browser.JS\Microsoft.AspNetCore.Components.Browser.JS.csproj", "{8A19B1CE-9B62-4440-93B3-152DDBB39D0A}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Components", "Components", "{3D9B9B2C-E379-41BD-83D4-2E099FBDA107}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Components.Test", "test\Microsoft.AspNetCore.Components.Test\Microsoft.AspNetCore.Components.Test.csproj", "{8FD8636E-AFA5-434D-8857-06D02686741A}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Components.Performance", "Components\perf\Microsoft.AspNetCore.Components.Performance.csproj", "{35A8AE1D-ED82-485E-A8E6-A357B3CB31B3}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BasicTestApp", "test\testapps\BasicTestApp\BasicTestApp.csproj", "{2838CB6F-D2C7-4C0A-A994-C72E56F16984}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Components", "Components\src\Microsoft.AspNetCore.Components.csproj", "{8D49A92D-B4AA-4A5C-99C1-B4DCBD5491DD}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestServer", "test\testapps\TestServer\TestServer.csproj", "{29CD3FC6-49E3-4756-B5DF-E03B46E5CD45}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Components.Tests", "Components\test\Microsoft.AspNetCore.Components.Tests.csproj", "{C987E45D-53AE-49EB-BD22-A15789B12F7F}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Blazor.Cli", "blazor\src\Microsoft.AspNetCore.Blazor.Cli\Microsoft.AspNetCore.Blazor.Cli.csproj", "{AF79BB84-BAE6-4F9A-9AD5-B0E3D7455288}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Server", "Server", "{3A423375-4610-4366-B9D5-C2B29A53C50D}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Blazor.Templates", "blazor\src\Microsoft.AspNetCore.Blazor.Templates\Microsoft.AspNetCore.Blazor.Templates.csproj", "{8C160273-0A1D-4D79-9F7B-7687B2D2F7C4}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Components.Server", "Server\src\Microsoft.AspNetCore.Components.Server.csproj", "{8D09F716-F010-4332-AB98-22246C0FE8AA}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.VisualStudio.LanguageServices.Blazor", "blazor\tooling\Microsoft.VisualStudio.LanguageServices.Blazor\Microsoft.VisualStudio.LanguageServices.Blazor.csproj", "{43E39257-7DC1-46BD-9BD9-2319A1313D07}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Components.Server.Tests", "Server\test\Microsoft.AspNetCore.Components.Server.Tests.csproj", "{FE32E389-1868-4AA2-9E47-0FC823C25106}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.VisualStudio.BlazorExtension", "blazor\tooling\Microsoft.VisualStudio.BlazorExtension\Microsoft.VisualStudio.BlazorExtension.csproj", "{9088E4E4-B855-457F-AE9E-D86709A5E1F4}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{E9E9CF3C-CE9B-4282-B2BB-97EFC3872798}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestContentPackage", "test\testapps\TestContentPackage\TestContentPackage.csproj", "{C57382BC-EE93-49D5-BC40-5C98AF8AA048}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Components.E2ETests", "test\E2ETest\Microsoft.AspNetCore.Components.E2ETests.csproj", "{B998B96D-E3CD-440E-9BFD-8F4EDC9D6732}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Components.Performance", "benchmarks\Microsoft.AspNetCore.Components.Performance\Microsoft.AspNetCore.Components.Performance.csproj", "{50F6820F-D058-4E68-9E15-801F893F514E}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "testassets", "testassets", "{44E0D4F3-4430-4175-B482-0D1AEE4BB699}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Components.Analyzers", "src\Microsoft.AspNetCore.Components.Analyzers\Microsoft.AspNetCore.Components.Analyzers.csproj", "{6DDD6A29-0A3E-417F-976C-5FE3FDA74055}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BasicTestApp", "test\testassets\BasicTestApp\BasicTestApp.csproj", "{4C5AB32A-3C7E-4A55-96A7-1F5248CFE929}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Components.Analyzers.Test", "test\Microsoft.AspNetCore.Components.Analyzers.Test\Microsoft.AspNetCore.Components.Analyzers.Test.csproj", "{CF3B5990-7A05-4993-AACA-D2C8D7AFF6E6}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ComponentsApp.App", "test\testassets\ComponentsApp.App\ComponentsApp.App.csproj", "{AF2BADF8-DA1F-4D5E-ADC2-69C7F7E7C41C}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Components.Server.Test", "test\Microsoft.AspNetCore.Components.Server.Test\Microsoft.AspNetCore.Components.Server.Test.csproj", "{142AA6BC-5110-486B-A34D-6878E5E2CE95}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ComponentsApp.Server", "test\testassets\ComponentsApp.Server\ComponentsApp.Server.csproj", "{AD99C80B-CF2D-47D1-BBA0-BEF18BAEAD35}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ComponentsApp.Server", "samples\ComponentsApp.Server\ComponentsApp.Server.csproj", "{5655AFF9-612C-4947-8221-7DB6949A6CA4}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestContentPackage", "test\testassets\TestContentPackage\TestContentPackage.csproj", "{423CCF23-C0B4-4D21-896C-16DC98689DB5}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ComponentsApp.App", "samples\ComponentsApp.App\ComponentsApp.App.csproj", "{33C361D8-CAF1-47C0-A344-251AEF4FE1FE}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestServer", "test\testassets\TestServer\TestServer.csproj", "{D6AEB328-EBC0-40B1-8936-301597883DFA}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Blazor.E2EPerformance", "blazor\benchmarks\Microsoft.AspNetCore.Blazor.E2EPerformance\Microsoft.AspNetCore.Blazor.E2EPerformance.csproj", "{CCEC81C4-1A3C-40DC-952F-074712C46180}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Antiforgery", "..\Antiforgery\src\Microsoft.AspNetCore.Antiforgery.csproj", "{6BA2DCAA-CB68-4AE2-BBBE-746A728D30E0}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Blazor", "blazor\src\Microsoft.AspNetCore.Blazor\Microsoft.AspNetCore.Blazor.csproj", "{A42AC30B-45E3-4907-99A9-9ABDA45973D7}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.DataProtection.Abstractions", "..\DataProtection\Abstractions\src\Microsoft.AspNetCore.DataProtection.Abstractions.csproj", "{766CB6A1-0507-4367-A6CC-9C2EC6A39732}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Blazor.Test", "blazor\test\Microsoft.AspNetCore.Blazor.Test\Microsoft.AspNetCore.Blazor.Test.csproj", "{85813607-297F-4D39-92F7-89379FD80D70}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Cryptography.Internal", "..\DataProtection\Cryptography.Internal\src\Microsoft.AspNetCore.Cryptography.Internal.csproj", "{992288A5-6E70-4F2D-99A6-03439BF7A5E3}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Components.Browser", "src\Microsoft.AspNetCore.Components.Browser\Microsoft.AspNetCore.Components.Browser.csproj", "{E52F5005-26EA-4764-8ECF-41D324AAA6D9}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.DataProtection", "..\DataProtection\DataProtection\src\Microsoft.AspNetCore.DataProtection.csproj", "{27A226BA-C94A-4E99-897D-EDFB856CCCB5}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Components.Build", "src\Microsoft.AspNetCore.Components.Build\Microsoft.AspNetCore.Components.Build.csproj", "{ABDBB486-6F40-4EA0-8ED1-BF995F534F13}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore", "..\DefaultBuilder\src\Microsoft.AspNetCore.csproj", "{443DBEC1-9620-4287-A8E7-DFE46A227BE6}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.AspNetCore.Blazor.Server", "blazor\src\Microsoft.AspNetCore.Blazor.Server\Microsoft.AspNetCore.Blazor.Server.csproj", "{EA44F350-F410-41B4-BA21-00CD31D17384}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Hosting.Abstractions", "..\Hosting\Abstractions\src\Microsoft.AspNetCore.Hosting.Abstractions.csproj", "{C3A07F30-F2EA-4A9C-8A83-8C0BC8144863}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Hosting", "..\Hosting\Hosting\src\Microsoft.AspNetCore.Hosting.csproj", "{3A25A675-8867-420A-8921-4B6D617EBE2F}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Hosting.Server.Abstractions", "..\Hosting\Server.Abstractions\src\Microsoft.AspNetCore.Hosting.Server.Abstractions.csproj", "{B25439E1-C944-4FE1-8678-AC9E866AC4EA}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Html.Abstractions", "..\Html\Abstractions\src\Microsoft.AspNetCore.Html.Abstractions.csproj", "{214B9F12-BF3F-430F-85BC-98C6CFFFE5F8}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Authentication.Abstractions", "..\Http\Authentication.Abstractions\src\Microsoft.AspNetCore.Authentication.Abstractions.csproj", "{574F245D-ED2E-4B5F-9929-8E8377412E6D}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Authentication.Core", "..\Http\Authentication.Core\src\Microsoft.AspNetCore.Authentication.Core.csproj", "{7BE4D31D-D31F-422E-8C54-39B91A9A4DE4}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Net.Http.Headers", "..\Http\Headers\src\Microsoft.Net.Http.Headers.csproj", "{8EF63B6F-A1D9-469B-9A50-DE1613ED47A5}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Http.Abstractions", "..\Http\Http.Abstractions\src\Microsoft.AspNetCore.Http.Abstractions.csproj", "{A9291B4E-7049-4574-AC45-8D642AD3D9B0}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Http.Extensions", "..\Http\Http.Extensions\src\Microsoft.AspNetCore.Http.Extensions.csproj", "{6B847B89-DEFB-478C-B0D8-0F309602A0C5}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Http.Features", "..\Http\Http.Features\src\Microsoft.AspNetCore.Http.Features.csproj", "{3D316CA9-55C6-4D72-A408-382935555361}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Http", "..\Http\Http\src\Microsoft.AspNetCore.Http.csproj", "{E0EDCB3C-C93B-4368-9289-035D7D35382B}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Routing.Abstractions", "..\Http\Routing.Abstractions\src\Microsoft.AspNetCore.Routing.Abstractions.csproj", "{3C001B2F-2A04-478C-8A7A-1D121E8A4BB1}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Routing", "..\Http\Routing\src\Microsoft.AspNetCore.Routing.csproj", "{FF3A5823-43F0-4C98-87C4-3C5973F3C7D7}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.WebUtilities", "..\Http\WebUtilities\src\Microsoft.AspNetCore.WebUtilities.csproj", "{AB47EF50-D7F4-47AB-A49D-FFB8874EC9F7}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Cors", "..\Middleware\CORS\src\Microsoft.AspNetCore.Cors.csproj", "{8C18A50B-EAEE-4CE0-8FFC-0957FD6B5DFD}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Diagnostics.Abstractions", "..\Middleware\Diagnostics.Abstractions\src\Microsoft.AspNetCore.Diagnostics.Abstractions.csproj", "{6F46EE1F-5A3A-4D16-94C4-6CF7147BC75B}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Diagnostics", "..\Middleware\Diagnostics\src\Microsoft.AspNetCore.Diagnostics.csproj", "{EF6E0BF5-F018-4C76-A7E8-EF52D2C7D9C1}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.HostFiltering", "..\Middleware\HostFiltering\src\Microsoft.AspNetCore.HostFiltering.csproj", "{697B279A-8BC0-49C2-A57F-667E9AD81E9A}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.HttpOverrides", "..\Middleware\HttpOverrides\src\Microsoft.AspNetCore.HttpOverrides.csproj", "{F94690E9-258C-4C10-AC26-FA31F6EB9D35}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Localization", "..\Middleware\Localization\src\Microsoft.AspNetCore.Localization.csproj", "{A2AB7E2D-0FE2-4740-95E7-CE600CBD4F44}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.NodeServices", "..\Middleware\NodeServices\src\Microsoft.AspNetCore.NodeServices.csproj", "{71209D14-8469-40FB-B052-8308AF22A0EC}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.ResponseCaching.Abstractions", "..\Middleware\ResponseCaching.Abstractions\src\Microsoft.AspNetCore.ResponseCaching.Abstractions.csproj", "{86CBF0C9-76C8-4084-9758-E36731AEC1D7}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.ResponseCompression", "..\Middleware\ResponseCompression\src\Microsoft.AspNetCore.ResponseCompression.csproj", "{EA169B0E-3F8C-4436-82F4-56768263D256}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SpaServices.Extensions", "..\Middleware\SpaServices.Extensions\src\Microsoft.AspNetCore.SpaServices.Extensions.csproj", "{1CDF7EC6-A25A-44BC-8CD3-C9F6AD13CF0B}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SpaServices", "..\Middleware\SpaServices\src\Microsoft.AspNetCore.SpaServices.csproj", "{5AEEAA34-01A0-418D-A8D0-E89A5B9A0EF1}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.StaticFiles", "..\Middleware\StaticFiles\src\Microsoft.AspNetCore.StaticFiles.csproj", "{BBDB70EB-2C08-43E7-8D82-BEE18C8881C8}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.WebSockets", "..\Middleware\WebSockets\src\Microsoft.AspNetCore.WebSockets.csproj", "{AB827016-9D0A-4443-BFF0-80CB9E947D39}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc.Abstractions", "..\Mvc\src\Microsoft.AspNetCore.Mvc.Abstractions\Microsoft.AspNetCore.Mvc.Abstractions.csproj", "{707BB7F9-3E71-4364-8AD0-949735B5D33C}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc.Analyzers", "..\Mvc\src\Microsoft.AspNetCore.Mvc.Analyzers\Microsoft.AspNetCore.Mvc.Analyzers.csproj", "{E09006B7-2022-43CD-A0D9-127282F95A57}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc.ApiExplorer", "..\Mvc\src\Microsoft.AspNetCore.Mvc.ApiExplorer\Microsoft.AspNetCore.Mvc.ApiExplorer.csproj", "{61E8C8E2-1CF4-42DA-8822-AFEC7FA47F16}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc.Core", "..\Mvc\src\Microsoft.AspNetCore.Mvc.Core\Microsoft.AspNetCore.Mvc.Core.csproj", "{1F501D4D-CEA4-445B-86C9-7215A6811368}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc.Cors", "..\Mvc\src\Microsoft.AspNetCore.Mvc.Cors\Microsoft.AspNetCore.Mvc.Cors.csproj", "{B5037DC9-2690-42FA-8725-514E4A9EFEAD}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc.DataAnnotations", "..\Mvc\src\Microsoft.AspNetCore.Mvc.DataAnnotations\Microsoft.AspNetCore.Mvc.DataAnnotations.csproj", "{AC7782F2-1F03-4615-A600-A7FE0FDEC5E5}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc.Localization", "..\Mvc\src\Microsoft.AspNetCore.Mvc.Localization\Microsoft.AspNetCore.Mvc.Localization.csproj", "{D5C02B69-4E7B-4628-8BDA-B622A2FB2A97}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc.Razor", "..\Mvc\src\Microsoft.AspNetCore.Mvc.Razor\Microsoft.AspNetCore.Mvc.Razor.csproj", "{74F10D31-161F-49A4-ACD7-282211447CE4}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc.RazorPages", "..\Mvc\src\Microsoft.AspNetCore.Mvc.RazorPages\Microsoft.AspNetCore.Mvc.RazorPages.csproj", "{DBA8E5FE-DE74-4E24-A9A2-0FBBCC1C2792}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc.TagHelpers", "..\Mvc\src\Microsoft.AspNetCore.Mvc.TagHelpers\Microsoft.AspNetCore.Mvc.TagHelpers.csproj", "{2BBA2091-C991-4696-B70F-5C2D114D5674}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc.ViewFeatures", "..\Mvc\src\Microsoft.AspNetCore.Mvc.ViewFeatures\Microsoft.AspNetCore.Mvc.ViewFeatures.csproj", "{D9E125B3-8FFD-47CE-9C0E-FF5CEAF633AE}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc", "..\Mvc\src\Microsoft.AspNetCore.Mvc\Microsoft.AspNetCore.Mvc.csproj", "{DA1687B8-10E4-4F50-B074-60D20912A9BD}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Razor.Runtime", "..\Razor\Razor.Runtime\src\Microsoft.AspNetCore.Razor.Runtime.csproj", "{97CE175F-9290-479F-A6EB-EEF4C6816624}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Razor", "..\Razor\Razor\src\Microsoft.AspNetCore.Razor.csproj", "{492ADBEC-D788-4039-A544-E1510D9328C1}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Authorization", "..\Security\Authorization\Core\src\Microsoft.AspNetCore.Authorization.csproj", "{B0A51484-8A24-4B9C-996B-415EB7733D56}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Authorization.Policy", "..\Security\Authorization\Policy\src\Microsoft.AspNetCore.Authorization.Policy.csproj", "{D809A2F0-0B7B-4B5D-B70C-05EFD3203301}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Connections.Abstractions", "..\Servers\Connections.Abstractions\src\Microsoft.AspNetCore.Connections.Abstractions.csproj", "{365365A2-18A9-4EF8-A4CB-F096DAF078D9}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.IIS", "..\Servers\IIS\IIS\src\Microsoft.AspNetCore.Server.IIS.csproj", "{92D23FF6-3C79-46CD-98ED-24DA16F8FDC3}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.IISIntegration", "..\Servers\IIS\IISIntegration\src\Microsoft.AspNetCore.Server.IISIntegration.csproj", "{D8C72607-7E3E-4124-A065-A57F23E9F2BA}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.Kestrel.Core", "..\Servers\Kestrel\Core\src\Microsoft.AspNetCore.Server.Kestrel.Core.csproj", "{4272499A-C424-41DF-B6B8-DF3C19416BE2}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.Kestrel", "..\Servers\Kestrel\Kestrel\src\Microsoft.AspNetCore.Server.Kestrel.csproj", "{E01CD19E-B0BE-4480-8B8E-3701DE862E62}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions", "..\Servers\Kestrel\Transport.Abstractions\src\Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.csproj", "{06E9B7E9-3ABA-4766-BAF8-8904942470A9}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets", "..\Servers\Kestrel\Transport.Sockets\src\Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.csproj", "{AA87CAA1-2456-4108-A02F-E16B9B8A98EE}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Http.Connections.Common", "..\SignalR\common\Http.Connections.Common\src\Microsoft.AspNetCore.Http.Connections.Common.csproj", "{DC2F67CC-79DD-4F7C-AFD1-AC0D12B331C9}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Http.Connections", "..\SignalR\common\Http.Connections\src\Microsoft.AspNetCore.Http.Connections.csproj", "{56DA124E-A37A-44DE-9DED-2764DDF0816C}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.Protocols.MessagePack", "..\SignalR\common\Protocols.MessagePack\src\Microsoft.AspNetCore.SignalR.Protocols.MessagePack.csproj", "{527DB7FD-B118-4E49-B68A-55AAE9BFA109}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson", "..\SignalR\common\Protocols.NewtonsoftJson\src\Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson.csproj", "{BB6E57A6-5434-46D4-AA09-72DC29794506}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.Common", "..\SignalR\common\SignalR.Common\src\Microsoft.AspNetCore.SignalR.Common.csproj", "{557608E1-1DF3-4A24-80EB-C557C676A9CE}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.Core", "..\SignalR\server\Core\src\Microsoft.AspNetCore.SignalR.Core.csproj", "{9241EDB4-8FCE-4F8E-9727-C9557C59907C}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR", "..\SignalR\server\SignalR\src\Microsoft.AspNetCore.SignalR.csproj", "{3FAF725B-A628-4531-9F61-499660CD4347}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "dependencies", "dependencies", "{2FC10057-7A0A-4E34-8302-879925BC0102}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc.NewtonsoftJson", "..\Mvc\src\Microsoft.AspNetCore.Mvc.NewtonsoftJson\Microsoft.AspNetCore.Mvc.NewtonsoftJson.csproj", "{04262990-929C-42BF-85A9-21C25FA95617}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.JsonPatch", "..\Features\JsonPatch\src\Microsoft.AspNetCore.JsonPatch.csproj", "{DC47C40A-FC38-44E4-94A4-ADE794E76309}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
-		DebugNoVSIX|Any CPU = DebugNoVSIX|Any CPU
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
 		Release|Any CPU = Release|Any CPU
-		ReleaseNoVSIX|Any CPU = ReleaseNoVSIX|Any CPU
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{7C53BB6B-5906-4753-B507-C9FCC2F7E5B7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{7C53BB6B-5906-4753-B507-C9FCC2F7E5B7}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{7C53BB6B-5906-4753-B507-C9FCC2F7E5B7}.DebugNoVSIX|Any CPU.ActiveCfg = Debug|Any CPU
-		{7C53BB6B-5906-4753-B507-C9FCC2F7E5B7}.DebugNoVSIX|Any CPU.Build.0 = Debug|Any CPU
-		{7C53BB6B-5906-4753-B507-C9FCC2F7E5B7}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{7C53BB6B-5906-4753-B507-C9FCC2F7E5B7}.Release|Any CPU.Build.0 = Release|Any CPU
-		{7C53BB6B-5906-4753-B507-C9FCC2F7E5B7}.ReleaseNoVSIX|Any CPU.ActiveCfg = Release|Any CPU
-		{7C53BB6B-5906-4753-B507-C9FCC2F7E5B7}.ReleaseNoVSIX|Any CPU.Build.0 = Release|Any CPU
-		{5A694793-3257-4D37-BB74-4A41B3894685}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{5A694793-3257-4D37-BB74-4A41B3894685}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{5A694793-3257-4D37-BB74-4A41B3894685}.DebugNoVSIX|Any CPU.ActiveCfg = Debug|Any CPU
-		{5A694793-3257-4D37-BB74-4A41B3894685}.DebugNoVSIX|Any CPU.Build.0 = Debug|Any CPU
-		{5A694793-3257-4D37-BB74-4A41B3894685}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{5A694793-3257-4D37-BB74-4A41B3894685}.Release|Any CPU.Build.0 = Release|Any CPU
-		{5A694793-3257-4D37-BB74-4A41B3894685}.ReleaseNoVSIX|Any CPU.ActiveCfg = Release|Any CPU
-		{5A694793-3257-4D37-BB74-4A41B3894685}.ReleaseNoVSIX|Any CPU.Build.0 = Release|Any CPU
-		{5BC2A10D-B6CA-43AE-B73C-2A41AE1039F9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{5BC2A10D-B6CA-43AE-B73C-2A41AE1039F9}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{5BC2A10D-B6CA-43AE-B73C-2A41AE1039F9}.DebugNoVSIX|Any CPU.ActiveCfg = Debug|Any CPU
-		{5BC2A10D-B6CA-43AE-B73C-2A41AE1039F9}.DebugNoVSIX|Any CPU.Build.0 = Debug|Any CPU
-		{5BC2A10D-B6CA-43AE-B73C-2A41AE1039F9}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{5BC2A10D-B6CA-43AE-B73C-2A41AE1039F9}.Release|Any CPU.Build.0 = Release|Any CPU
-		{5BC2A10D-B6CA-43AE-B73C-2A41AE1039F9}.ReleaseNoVSIX|Any CPU.ActiveCfg = Release|Any CPU
-		{5BC2A10D-B6CA-43AE-B73C-2A41AE1039F9}.ReleaseNoVSIX|Any CPU.Build.0 = Release|Any CPU
-		{06AAAE9E-96DE-4574-97DA-9C4C7D9FE990}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{06AAAE9E-96DE-4574-97DA-9C4C7D9FE990}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{06AAAE9E-96DE-4574-97DA-9C4C7D9FE990}.DebugNoVSIX|Any CPU.ActiveCfg = Debug|Any CPU
-		{06AAAE9E-96DE-4574-97DA-9C4C7D9FE990}.DebugNoVSIX|Any CPU.Build.0 = Debug|Any CPU
-		{06AAAE9E-96DE-4574-97DA-9C4C7D9FE990}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{06AAAE9E-96DE-4574-97DA-9C4C7D9FE990}.Release|Any CPU.Build.0 = Release|Any CPU
-		{06AAAE9E-96DE-4574-97DA-9C4C7D9FE990}.ReleaseNoVSIX|Any CPU.ActiveCfg = Release|Any CPU
-		{06AAAE9E-96DE-4574-97DA-9C4C7D9FE990}.ReleaseNoVSIX|Any CPU.Build.0 = Release|Any CPU
-		{B4335F7C-4E86-4559-821F-F1B1C75F5FAE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{B4335F7C-4E86-4559-821F-F1B1C75F5FAE}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{B4335F7C-4E86-4559-821F-F1B1C75F5FAE}.DebugNoVSIX|Any CPU.ActiveCfg = Debug|Any CPU
-		{B4335F7C-4E86-4559-821F-F1B1C75F5FAE}.DebugNoVSIX|Any CPU.Build.0 = Debug|Any CPU
-		{B4335F7C-4E86-4559-821F-F1B1C75F5FAE}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{B4335F7C-4E86-4559-821F-F1B1C75F5FAE}.Release|Any CPU.Build.0 = Release|Any CPU
-		{B4335F7C-4E86-4559-821F-F1B1C75F5FAE}.ReleaseNoVSIX|Any CPU.ActiveCfg = Release|Any CPU
-		{B4335F7C-4E86-4559-821F-F1B1C75F5FAE}.ReleaseNoVSIX|Any CPU.Build.0 = Release|Any CPU
-		{F8996835-41F7-4663-91DF-3B5652ADC37D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{F8996835-41F7-4663-91DF-3B5652ADC37D}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{F8996835-41F7-4663-91DF-3B5652ADC37D}.DebugNoVSIX|Any CPU.ActiveCfg = Debug|Any CPU
-		{F8996835-41F7-4663-91DF-3B5652ADC37D}.DebugNoVSIX|Any CPU.Build.0 = Debug|Any CPU
-		{F8996835-41F7-4663-91DF-3B5652ADC37D}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{F8996835-41F7-4663-91DF-3B5652ADC37D}.Release|Any CPU.Build.0 = Release|Any CPU
-		{F8996835-41F7-4663-91DF-3B5652ADC37D}.ReleaseNoVSIX|Any CPU.ActiveCfg = Release|Any CPU
-		{F8996835-41F7-4663-91DF-3B5652ADC37D}.ReleaseNoVSIX|Any CPU.Build.0 = Release|Any CPU
-		{7FD8C650-74B3-4153-AEA1-00F4F6AF393D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{7FD8C650-74B3-4153-AEA1-00F4F6AF393D}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{7FD8C650-74B3-4153-AEA1-00F4F6AF393D}.DebugNoVSIX|Any CPU.ActiveCfg = Debug|Any CPU
-		{7FD8C650-74B3-4153-AEA1-00F4F6AF393D}.DebugNoVSIX|Any CPU.Build.0 = Debug|Any CPU
-		{7FD8C650-74B3-4153-AEA1-00F4F6AF393D}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{7FD8C650-74B3-4153-AEA1-00F4F6AF393D}.Release|Any CPU.Build.0 = Release|Any CPU
-		{7FD8C650-74B3-4153-AEA1-00F4F6AF393D}.ReleaseNoVSIX|Any CPU.ActiveCfg = Release|Any CPU
-		{7FD8C650-74B3-4153-AEA1-00F4F6AF393D}.ReleaseNoVSIX|Any CPU.Build.0 = Release|Any CPU
-		{B241434A-1642-44CC-AE9A-2012B5C5BD02}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{B241434A-1642-44CC-AE9A-2012B5C5BD02}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{B241434A-1642-44CC-AE9A-2012B5C5BD02}.DebugNoVSIX|Any CPU.ActiveCfg = Debug|Any CPU
-		{B241434A-1642-44CC-AE9A-2012B5C5BD02}.DebugNoVSIX|Any CPU.Build.0 = Debug|Any CPU
-		{B241434A-1642-44CC-AE9A-2012B5C5BD02}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{B241434A-1642-44CC-AE9A-2012B5C5BD02}.Release|Any CPU.Build.0 = Release|Any CPU
-		{B241434A-1642-44CC-AE9A-2012B5C5BD02}.ReleaseNoVSIX|Any CPU.ActiveCfg = Release|Any CPU
-		{B241434A-1642-44CC-AE9A-2012B5C5BD02}.ReleaseNoVSIX|Any CPU.Build.0 = Release|Any CPU
-		{709C7EBE-EB93-4F6D-9491-D714B0D2E898}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{709C7EBE-EB93-4F6D-9491-D714B0D2E898}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{709C7EBE-EB93-4F6D-9491-D714B0D2E898}.DebugNoVSIX|Any CPU.ActiveCfg = Debug|Any CPU
-		{709C7EBE-EB93-4F6D-9491-D714B0D2E898}.DebugNoVSIX|Any CPU.Build.0 = Debug|Any CPU
-		{709C7EBE-EB93-4F6D-9491-D714B0D2E898}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{709C7EBE-EB93-4F6D-9491-D714B0D2E898}.Release|Any CPU.Build.0 = Release|Any CPU
-		{709C7EBE-EB93-4F6D-9491-D714B0D2E898}.ReleaseNoVSIX|Any CPU.ActiveCfg = Release|Any CPU
-		{709C7EBE-EB93-4F6D-9491-D714B0D2E898}.ReleaseNoVSIX|Any CPU.Build.0 = Release|Any CPU
-		{8B3D0F1C-0E38-4E6D-BFF1-C4FDA0CD9815}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{8B3D0F1C-0E38-4E6D-BFF1-C4FDA0CD9815}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{8B3D0F1C-0E38-4E6D-BFF1-C4FDA0CD9815}.DebugNoVSIX|Any CPU.ActiveCfg = Debug|Any CPU
-		{8B3D0F1C-0E38-4E6D-BFF1-C4FDA0CD9815}.DebugNoVSIX|Any CPU.Build.0 = Debug|Any CPU
-		{8B3D0F1C-0E38-4E6D-BFF1-C4FDA0CD9815}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{8B3D0F1C-0E38-4E6D-BFF1-C4FDA0CD9815}.Release|Any CPU.Build.0 = Release|Any CPU
-		{8B3D0F1C-0E38-4E6D-BFF1-C4FDA0CD9815}.ReleaseNoVSIX|Any CPU.ActiveCfg = Release|Any CPU
-		{8B3D0F1C-0E38-4E6D-BFF1-C4FDA0CD9815}.ReleaseNoVSIX|Any CPU.Build.0 = Release|Any CPU
-		{8A19B1CE-9B62-4440-93B3-152DDBB39D0A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{8A19B1CE-9B62-4440-93B3-152DDBB39D0A}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{8A19B1CE-9B62-4440-93B3-152DDBB39D0A}.DebugNoVSIX|Any CPU.ActiveCfg = Debug|Any CPU
-		{8A19B1CE-9B62-4440-93B3-152DDBB39D0A}.DebugNoVSIX|Any CPU.Build.0 = Debug|Any CPU
-		{8A19B1CE-9B62-4440-93B3-152DDBB39D0A}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{8A19B1CE-9B62-4440-93B3-152DDBB39D0A}.Release|Any CPU.Build.0 = Release|Any CPU
-		{8A19B1CE-9B62-4440-93B3-152DDBB39D0A}.ReleaseNoVSIX|Any CPU.ActiveCfg = Release|Any CPU
-		{8A19B1CE-9B62-4440-93B3-152DDBB39D0A}.ReleaseNoVSIX|Any CPU.Build.0 = Release|Any CPU
-		{8FD8636E-AFA5-434D-8857-06D02686741A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{8FD8636E-AFA5-434D-8857-06D02686741A}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{8FD8636E-AFA5-434D-8857-06D02686741A}.DebugNoVSIX|Any CPU.ActiveCfg = Debug|Any CPU
-		{8FD8636E-AFA5-434D-8857-06D02686741A}.DebugNoVSIX|Any CPU.Build.0 = Debug|Any CPU
-		{8FD8636E-AFA5-434D-8857-06D02686741A}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{8FD8636E-AFA5-434D-8857-06D02686741A}.Release|Any CPU.Build.0 = Release|Any CPU
-		{8FD8636E-AFA5-434D-8857-06D02686741A}.ReleaseNoVSIX|Any CPU.ActiveCfg = Release|Any CPU
-		{8FD8636E-AFA5-434D-8857-06D02686741A}.ReleaseNoVSIX|Any CPU.Build.0 = Release|Any CPU
-		{2838CB6F-D2C7-4C0A-A994-C72E56F16984}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{2838CB6F-D2C7-4C0A-A994-C72E56F16984}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{2838CB6F-D2C7-4C0A-A994-C72E56F16984}.DebugNoVSIX|Any CPU.ActiveCfg = Debug|Any CPU
-		{2838CB6F-D2C7-4C0A-A994-C72E56F16984}.DebugNoVSIX|Any CPU.Build.0 = Debug|Any CPU
-		{2838CB6F-D2C7-4C0A-A994-C72E56F16984}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{2838CB6F-D2C7-4C0A-A994-C72E56F16984}.Release|Any CPU.Build.0 = Release|Any CPU
-		{2838CB6F-D2C7-4C0A-A994-C72E56F16984}.ReleaseNoVSIX|Any CPU.ActiveCfg = Release|Any CPU
-		{2838CB6F-D2C7-4C0A-A994-C72E56F16984}.ReleaseNoVSIX|Any CPU.Build.0 = Release|Any CPU
-		{29CD3FC6-49E3-4756-B5DF-E03B46E5CD45}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{29CD3FC6-49E3-4756-B5DF-E03B46E5CD45}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{29CD3FC6-49E3-4756-B5DF-E03B46E5CD45}.DebugNoVSIX|Any CPU.ActiveCfg = Debug|Any CPU
-		{29CD3FC6-49E3-4756-B5DF-E03B46E5CD45}.DebugNoVSIX|Any CPU.Build.0 = Debug|Any CPU
-		{29CD3FC6-49E3-4756-B5DF-E03B46E5CD45}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{29CD3FC6-49E3-4756-B5DF-E03B46E5CD45}.Release|Any CPU.Build.0 = Release|Any CPU
-		{29CD3FC6-49E3-4756-B5DF-E03B46E5CD45}.ReleaseNoVSIX|Any CPU.ActiveCfg = Release|Any CPU
-		{29CD3FC6-49E3-4756-B5DF-E03B46E5CD45}.ReleaseNoVSIX|Any CPU.Build.0 = Release|Any CPU
-		{AF79BB84-BAE6-4F9A-9AD5-B0E3D7455288}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{AF79BB84-BAE6-4F9A-9AD5-B0E3D7455288}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{AF79BB84-BAE6-4F9A-9AD5-B0E3D7455288}.DebugNoVSIX|Any CPU.ActiveCfg = Debug|Any CPU
-		{AF79BB84-BAE6-4F9A-9AD5-B0E3D7455288}.DebugNoVSIX|Any CPU.Build.0 = Debug|Any CPU
-		{AF79BB84-BAE6-4F9A-9AD5-B0E3D7455288}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{AF79BB84-BAE6-4F9A-9AD5-B0E3D7455288}.Release|Any CPU.Build.0 = Release|Any CPU
-		{AF79BB84-BAE6-4F9A-9AD5-B0E3D7455288}.ReleaseNoVSIX|Any CPU.ActiveCfg = Release|Any CPU
-		{AF79BB84-BAE6-4F9A-9AD5-B0E3D7455288}.ReleaseNoVSIX|Any CPU.Build.0 = Release|Any CPU
-		{8C160273-0A1D-4D79-9F7B-7687B2D2F7C4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{8C160273-0A1D-4D79-9F7B-7687B2D2F7C4}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{8C160273-0A1D-4D79-9F7B-7687B2D2F7C4}.DebugNoVSIX|Any CPU.ActiveCfg = Debug|Any CPU
-		{8C160273-0A1D-4D79-9F7B-7687B2D2F7C4}.DebugNoVSIX|Any CPU.Build.0 = Debug|Any CPU
-		{8C160273-0A1D-4D79-9F7B-7687B2D2F7C4}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{8C160273-0A1D-4D79-9F7B-7687B2D2F7C4}.Release|Any CPU.Build.0 = Release|Any CPU
-		{8C160273-0A1D-4D79-9F7B-7687B2D2F7C4}.ReleaseNoVSIX|Any CPU.ActiveCfg = Release|Any CPU
-		{8C160273-0A1D-4D79-9F7B-7687B2D2F7C4}.ReleaseNoVSIX|Any CPU.Build.0 = Release|Any CPU
-		{43E39257-7DC1-46BD-9BD9-2319A1313D07}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{43E39257-7DC1-46BD-9BD9-2319A1313D07}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{43E39257-7DC1-46BD-9BD9-2319A1313D07}.DebugNoVSIX|Any CPU.ActiveCfg = Debug|Any CPU
-		{43E39257-7DC1-46BD-9BD9-2319A1313D07}.DebugNoVSIX|Any CPU.Build.0 = Debug|Any CPU
-		{43E39257-7DC1-46BD-9BD9-2319A1313D07}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{43E39257-7DC1-46BD-9BD9-2319A1313D07}.Release|Any CPU.Build.0 = Release|Any CPU
-		{43E39257-7DC1-46BD-9BD9-2319A1313D07}.ReleaseNoVSIX|Any CPU.ActiveCfg = Release|Any CPU
-		{43E39257-7DC1-46BD-9BD9-2319A1313D07}.ReleaseNoVSIX|Any CPU.Build.0 = Release|Any CPU
-		{9088E4E4-B855-457F-AE9E-D86709A5E1F4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{9088E4E4-B855-457F-AE9E-D86709A5E1F4}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{9088E4E4-B855-457F-AE9E-D86709A5E1F4}.DebugNoVSIX|Any CPU.ActiveCfg = Debug|Any CPU
-		{9088E4E4-B855-457F-AE9E-D86709A5E1F4}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{9088E4E4-B855-457F-AE9E-D86709A5E1F4}.Release|Any CPU.Build.0 = Release|Any CPU
-		{9088E4E4-B855-457F-AE9E-D86709A5E1F4}.ReleaseNoVSIX|Any CPU.ActiveCfg = Release|Any CPU
-		{C57382BC-EE93-49D5-BC40-5C98AF8AA048}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{C57382BC-EE93-49D5-BC40-5C98AF8AA048}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{C57382BC-EE93-49D5-BC40-5C98AF8AA048}.DebugNoVSIX|Any CPU.ActiveCfg = Debug|Any CPU
-		{C57382BC-EE93-49D5-BC40-5C98AF8AA048}.DebugNoVSIX|Any CPU.Build.0 = Debug|Any CPU
-		{C57382BC-EE93-49D5-BC40-5C98AF8AA048}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{C57382BC-EE93-49D5-BC40-5C98AF8AA048}.Release|Any CPU.Build.0 = Release|Any CPU
-		{C57382BC-EE93-49D5-BC40-5C98AF8AA048}.ReleaseNoVSIX|Any CPU.ActiveCfg = Release|Any CPU
-		{C57382BC-EE93-49D5-BC40-5C98AF8AA048}.ReleaseNoVSIX|Any CPU.Build.0 = Release|Any CPU
-		{50F6820F-D058-4E68-9E15-801F893F514E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{50F6820F-D058-4E68-9E15-801F893F514E}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{50F6820F-D058-4E68-9E15-801F893F514E}.DebugNoVSIX|Any CPU.ActiveCfg = Debug|Any CPU
-		{50F6820F-D058-4E68-9E15-801F893F514E}.DebugNoVSIX|Any CPU.Build.0 = Debug|Any CPU
-		{50F6820F-D058-4E68-9E15-801F893F514E}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{50F6820F-D058-4E68-9E15-801F893F514E}.Release|Any CPU.Build.0 = Release|Any CPU
-		{50F6820F-D058-4E68-9E15-801F893F514E}.ReleaseNoVSIX|Any CPU.ActiveCfg = Release|Any CPU
-		{50F6820F-D058-4E68-9E15-801F893F514E}.ReleaseNoVSIX|Any CPU.Build.0 = Release|Any CPU
-		{6DDD6A29-0A3E-417F-976C-5FE3FDA74055}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{6DDD6A29-0A3E-417F-976C-5FE3FDA74055}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{6DDD6A29-0A3E-417F-976C-5FE3FDA74055}.DebugNoVSIX|Any CPU.ActiveCfg = Debug|Any CPU
-		{6DDD6A29-0A3E-417F-976C-5FE3FDA74055}.DebugNoVSIX|Any CPU.Build.0 = Debug|Any CPU
-		{6DDD6A29-0A3E-417F-976C-5FE3FDA74055}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{6DDD6A29-0A3E-417F-976C-5FE3FDA74055}.Release|Any CPU.Build.0 = Release|Any CPU
-		{6DDD6A29-0A3E-417F-976C-5FE3FDA74055}.ReleaseNoVSIX|Any CPU.ActiveCfg = Release|Any CPU
-		{6DDD6A29-0A3E-417F-976C-5FE3FDA74055}.ReleaseNoVSIX|Any CPU.Build.0 = Release|Any CPU
-		{CF3B5990-7A05-4993-AACA-D2C8D7AFF6E6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{CF3B5990-7A05-4993-AACA-D2C8D7AFF6E6}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{CF3B5990-7A05-4993-AACA-D2C8D7AFF6E6}.DebugNoVSIX|Any CPU.ActiveCfg = Debug|Any CPU
-		{CF3B5990-7A05-4993-AACA-D2C8D7AFF6E6}.DebugNoVSIX|Any CPU.Build.0 = Debug|Any CPU
-		{CF3B5990-7A05-4993-AACA-D2C8D7AFF6E6}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{CF3B5990-7A05-4993-AACA-D2C8D7AFF6E6}.Release|Any CPU.Build.0 = Release|Any CPU
-		{CF3B5990-7A05-4993-AACA-D2C8D7AFF6E6}.ReleaseNoVSIX|Any CPU.ActiveCfg = Release|Any CPU
-		{CF3B5990-7A05-4993-AACA-D2C8D7AFF6E6}.ReleaseNoVSIX|Any CPU.Build.0 = Release|Any CPU
-		{142AA6BC-5110-486B-A34D-6878E5E2CE95}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{142AA6BC-5110-486B-A34D-6878E5E2CE95}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{142AA6BC-5110-486B-A34D-6878E5E2CE95}.DebugNoVSIX|Any CPU.ActiveCfg = Debug|Any CPU
-		{142AA6BC-5110-486B-A34D-6878E5E2CE95}.DebugNoVSIX|Any CPU.Build.0 = Debug|Any CPU
-		{142AA6BC-5110-486B-A34D-6878E5E2CE95}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{142AA6BC-5110-486B-A34D-6878E5E2CE95}.Release|Any CPU.Build.0 = Release|Any CPU
-		{142AA6BC-5110-486B-A34D-6878E5E2CE95}.ReleaseNoVSIX|Any CPU.ActiveCfg = Release|Any CPU
-		{142AA6BC-5110-486B-A34D-6878E5E2CE95}.ReleaseNoVSIX|Any CPU.Build.0 = Release|Any CPU
-		{5655AFF9-612C-4947-8221-7DB6949A6CA4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{5655AFF9-612C-4947-8221-7DB6949A6CA4}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{5655AFF9-612C-4947-8221-7DB6949A6CA4}.DebugNoVSIX|Any CPU.ActiveCfg = Debug|Any CPU
-		{5655AFF9-612C-4947-8221-7DB6949A6CA4}.DebugNoVSIX|Any CPU.Build.0 = Debug|Any CPU
-		{5655AFF9-612C-4947-8221-7DB6949A6CA4}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{5655AFF9-612C-4947-8221-7DB6949A6CA4}.Release|Any CPU.Build.0 = Release|Any CPU
-		{5655AFF9-612C-4947-8221-7DB6949A6CA4}.ReleaseNoVSIX|Any CPU.ActiveCfg = Release|Any CPU
-		{5655AFF9-612C-4947-8221-7DB6949A6CA4}.ReleaseNoVSIX|Any CPU.Build.0 = Release|Any CPU
-		{33C361D8-CAF1-47C0-A344-251AEF4FE1FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{33C361D8-CAF1-47C0-A344-251AEF4FE1FE}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{33C361D8-CAF1-47C0-A344-251AEF4FE1FE}.DebugNoVSIX|Any CPU.ActiveCfg = Debug|Any CPU
-		{33C361D8-CAF1-47C0-A344-251AEF4FE1FE}.DebugNoVSIX|Any CPU.Build.0 = Debug|Any CPU
-		{33C361D8-CAF1-47C0-A344-251AEF4FE1FE}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{33C361D8-CAF1-47C0-A344-251AEF4FE1FE}.Release|Any CPU.Build.0 = Release|Any CPU
-		{33C361D8-CAF1-47C0-A344-251AEF4FE1FE}.ReleaseNoVSIX|Any CPU.ActiveCfg = Release|Any CPU
-		{33C361D8-CAF1-47C0-A344-251AEF4FE1FE}.ReleaseNoVSIX|Any CPU.Build.0 = Release|Any CPU
-		{CCEC81C4-1A3C-40DC-952F-074712C46180}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{CCEC81C4-1A3C-40DC-952F-074712C46180}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{CCEC81C4-1A3C-40DC-952F-074712C46180}.DebugNoVSIX|Any CPU.ActiveCfg = Debug|Any CPU
-		{CCEC81C4-1A3C-40DC-952F-074712C46180}.DebugNoVSIX|Any CPU.Build.0 = Debug|Any CPU
-		{CCEC81C4-1A3C-40DC-952F-074712C46180}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{CCEC81C4-1A3C-40DC-952F-074712C46180}.Release|Any CPU.Build.0 = Release|Any CPU
-		{CCEC81C4-1A3C-40DC-952F-074712C46180}.ReleaseNoVSIX|Any CPU.ActiveCfg = Release|Any CPU
-		{CCEC81C4-1A3C-40DC-952F-074712C46180}.ReleaseNoVSIX|Any CPU.Build.0 = Release|Any CPU
-		{A42AC30B-45E3-4907-99A9-9ABDA45973D7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{A42AC30B-45E3-4907-99A9-9ABDA45973D7}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{A42AC30B-45E3-4907-99A9-9ABDA45973D7}.DebugNoVSIX|Any CPU.ActiveCfg = Debug|Any CPU
-		{A42AC30B-45E3-4907-99A9-9ABDA45973D7}.DebugNoVSIX|Any CPU.Build.0 = Debug|Any CPU
-		{A42AC30B-45E3-4907-99A9-9ABDA45973D7}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{A42AC30B-45E3-4907-99A9-9ABDA45973D7}.Release|Any CPU.Build.0 = Release|Any CPU
-		{A42AC30B-45E3-4907-99A9-9ABDA45973D7}.ReleaseNoVSIX|Any CPU.ActiveCfg = Release|Any CPU
-		{A42AC30B-45E3-4907-99A9-9ABDA45973D7}.ReleaseNoVSIX|Any CPU.Build.0 = Release|Any CPU
-		{85813607-297F-4D39-92F7-89379FD80D70}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{85813607-297F-4D39-92F7-89379FD80D70}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{85813607-297F-4D39-92F7-89379FD80D70}.DebugNoVSIX|Any CPU.ActiveCfg = Debug|Any CPU
-		{85813607-297F-4D39-92F7-89379FD80D70}.DebugNoVSIX|Any CPU.Build.0 = Debug|Any CPU
-		{85813607-297F-4D39-92F7-89379FD80D70}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{85813607-297F-4D39-92F7-89379FD80D70}.Release|Any CPU.Build.0 = Release|Any CPU
-		{85813607-297F-4D39-92F7-89379FD80D70}.ReleaseNoVSIX|Any CPU.ActiveCfg = Release|Any CPU
-		{85813607-297F-4D39-92F7-89379FD80D70}.ReleaseNoVSIX|Any CPU.Build.0 = Release|Any CPU
-		{E52F5005-26EA-4764-8ECF-41D324AAA6D9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{E52F5005-26EA-4764-8ECF-41D324AAA6D9}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{E52F5005-26EA-4764-8ECF-41D324AAA6D9}.DebugNoVSIX|Any CPU.ActiveCfg = Debug|Any CPU
-		{E52F5005-26EA-4764-8ECF-41D324AAA6D9}.DebugNoVSIX|Any CPU.Build.0 = Debug|Any CPU
-		{E52F5005-26EA-4764-8ECF-41D324AAA6D9}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{E52F5005-26EA-4764-8ECF-41D324AAA6D9}.Release|Any CPU.Build.0 = Release|Any CPU
-		{E52F5005-26EA-4764-8ECF-41D324AAA6D9}.ReleaseNoVSIX|Any CPU.ActiveCfg = Release|Any CPU
-		{E52F5005-26EA-4764-8ECF-41D324AAA6D9}.ReleaseNoVSIX|Any CPU.Build.0 = Release|Any CPU
-		{ABDBB486-6F40-4EA0-8ED1-BF995F534F13}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{ABDBB486-6F40-4EA0-8ED1-BF995F534F13}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{ABDBB486-6F40-4EA0-8ED1-BF995F534F13}.DebugNoVSIX|Any CPU.ActiveCfg = Debug|Any CPU
-		{ABDBB486-6F40-4EA0-8ED1-BF995F534F13}.DebugNoVSIX|Any CPU.Build.0 = Debug|Any CPU
-		{ABDBB486-6F40-4EA0-8ED1-BF995F534F13}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{ABDBB486-6F40-4EA0-8ED1-BF995F534F13}.Release|Any CPU.Build.0 = Release|Any CPU
-		{ABDBB486-6F40-4EA0-8ED1-BF995F534F13}.ReleaseNoVSIX|Any CPU.ActiveCfg = Release|Any CPU
-		{ABDBB486-6F40-4EA0-8ED1-BF995F534F13}.ReleaseNoVSIX|Any CPU.Build.0 = Release|Any CPU
-		{EA44F350-F410-41B4-BA21-00CD31D17384}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{EA44F350-F410-41B4-BA21-00CD31D17384}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{EA44F350-F410-41B4-BA21-00CD31D17384}.DebugNoVSIX|Any CPU.ActiveCfg = Debug|Any CPU
-		{EA44F350-F410-41B4-BA21-00CD31D17384}.DebugNoVSIX|Any CPU.Build.0 = Debug|Any CPU
-		{EA44F350-F410-41B4-BA21-00CD31D17384}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{EA44F350-F410-41B4-BA21-00CD31D17384}.Release|Any CPU.Build.0 = Release|Any CPU
-		{EA44F350-F410-41B4-BA21-00CD31D17384}.ReleaseNoVSIX|Any CPU.ActiveCfg = Release|Any CPU
-		{EA44F350-F410-41B4-BA21-00CD31D17384}.ReleaseNoVSIX|Any CPU.Build.0 = Release|Any CPU
+		{ECE91401-329E-4615-8684-8E910D2741C4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{ECE91401-329E-4615-8684-8E910D2741C4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{ECE91401-329E-4615-8684-8E910D2741C4}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{ECE91401-329E-4615-8684-8E910D2741C4}.Debug|x64.Build.0 = Debug|Any CPU
+		{ECE91401-329E-4615-8684-8E910D2741C4}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{ECE91401-329E-4615-8684-8E910D2741C4}.Debug|x86.Build.0 = Debug|Any CPU
+		{ECE91401-329E-4615-8684-8E910D2741C4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{ECE91401-329E-4615-8684-8E910D2741C4}.Release|Any CPU.Build.0 = Release|Any CPU
+		{ECE91401-329E-4615-8684-8E910D2741C4}.Release|x64.ActiveCfg = Release|Any CPU
+		{ECE91401-329E-4615-8684-8E910D2741C4}.Release|x64.Build.0 = Release|Any CPU
+		{ECE91401-329E-4615-8684-8E910D2741C4}.Release|x86.ActiveCfg = Release|Any CPU
+		{ECE91401-329E-4615-8684-8E910D2741C4}.Release|x86.Build.0 = Release|Any CPU
+		{F000C49D-3857-42A4-918D-DA4C08691FE2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{F000C49D-3857-42A4-918D-DA4C08691FE2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{F000C49D-3857-42A4-918D-DA4C08691FE2}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{F000C49D-3857-42A4-918D-DA4C08691FE2}.Debug|x64.Build.0 = Debug|Any CPU
+		{F000C49D-3857-42A4-918D-DA4C08691FE2}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{F000C49D-3857-42A4-918D-DA4C08691FE2}.Debug|x86.Build.0 = Debug|Any CPU
+		{F000C49D-3857-42A4-918D-DA4C08691FE2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{F000C49D-3857-42A4-918D-DA4C08691FE2}.Release|Any CPU.Build.0 = Release|Any CPU
+		{F000C49D-3857-42A4-918D-DA4C08691FE2}.Release|x64.ActiveCfg = Release|Any CPU
+		{F000C49D-3857-42A4-918D-DA4C08691FE2}.Release|x64.Build.0 = Release|Any CPU
+		{F000C49D-3857-42A4-918D-DA4C08691FE2}.Release|x86.ActiveCfg = Release|Any CPU
+		{F000C49D-3857-42A4-918D-DA4C08691FE2}.Release|x86.Build.0 = Release|Any CPU
+		{641922CD-E6F5-41E7-A085-EE07C2A7328D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{641922CD-E6F5-41E7-A085-EE07C2A7328D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{641922CD-E6F5-41E7-A085-EE07C2A7328D}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{641922CD-E6F5-41E7-A085-EE07C2A7328D}.Debug|x64.Build.0 = Debug|Any CPU
+		{641922CD-E6F5-41E7-A085-EE07C2A7328D}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{641922CD-E6F5-41E7-A085-EE07C2A7328D}.Debug|x86.Build.0 = Debug|Any CPU
+		{641922CD-E6F5-41E7-A085-EE07C2A7328D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{641922CD-E6F5-41E7-A085-EE07C2A7328D}.Release|Any CPU.Build.0 = Release|Any CPU
+		{641922CD-E6F5-41E7-A085-EE07C2A7328D}.Release|x64.ActiveCfg = Release|Any CPU
+		{641922CD-E6F5-41E7-A085-EE07C2A7328D}.Release|x64.Build.0 = Release|Any CPU
+		{641922CD-E6F5-41E7-A085-EE07C2A7328D}.Release|x86.ActiveCfg = Release|Any CPU
+		{641922CD-E6F5-41E7-A085-EE07C2A7328D}.Release|x86.Build.0 = Release|Any CPU
+		{958AD6D2-174B-4B5B-BEFC-FA64B5159334}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{958AD6D2-174B-4B5B-BEFC-FA64B5159334}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{958AD6D2-174B-4B5B-BEFC-FA64B5159334}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{958AD6D2-174B-4B5B-BEFC-FA64B5159334}.Debug|x64.Build.0 = Debug|Any CPU
+		{958AD6D2-174B-4B5B-BEFC-FA64B5159334}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{958AD6D2-174B-4B5B-BEFC-FA64B5159334}.Debug|x86.Build.0 = Debug|Any CPU
+		{958AD6D2-174B-4B5B-BEFC-FA64B5159334}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{958AD6D2-174B-4B5B-BEFC-FA64B5159334}.Release|Any CPU.Build.0 = Release|Any CPU
+		{958AD6D2-174B-4B5B-BEFC-FA64B5159334}.Release|x64.ActiveCfg = Release|Any CPU
+		{958AD6D2-174B-4B5B-BEFC-FA64B5159334}.Release|x64.Build.0 = Release|Any CPU
+		{958AD6D2-174B-4B5B-BEFC-FA64B5159334}.Release|x86.ActiveCfg = Release|Any CPU
+		{958AD6D2-174B-4B5B-BEFC-FA64B5159334}.Release|x86.Build.0 = Release|Any CPU
+		{27CF854D-E98B-4853-946B-2D4EA28B8FC5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{27CF854D-E98B-4853-946B-2D4EA28B8FC5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{27CF854D-E98B-4853-946B-2D4EA28B8FC5}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{27CF854D-E98B-4853-946B-2D4EA28B8FC5}.Debug|x64.Build.0 = Debug|Any CPU
+		{27CF854D-E98B-4853-946B-2D4EA28B8FC5}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{27CF854D-E98B-4853-946B-2D4EA28B8FC5}.Debug|x86.Build.0 = Debug|Any CPU
+		{27CF854D-E98B-4853-946B-2D4EA28B8FC5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{27CF854D-E98B-4853-946B-2D4EA28B8FC5}.Release|Any CPU.Build.0 = Release|Any CPU
+		{27CF854D-E98B-4853-946B-2D4EA28B8FC5}.Release|x64.ActiveCfg = Release|Any CPU
+		{27CF854D-E98B-4853-946B-2D4EA28B8FC5}.Release|x64.Build.0 = Release|Any CPU
+		{27CF854D-E98B-4853-946B-2D4EA28B8FC5}.Release|x86.ActiveCfg = Release|Any CPU
+		{27CF854D-E98B-4853-946B-2D4EA28B8FC5}.Release|x86.Build.0 = Release|Any CPU
+		{E8AD67A4-77D3-4B85-AE19-4711388B62B1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{E8AD67A4-77D3-4B85-AE19-4711388B62B1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{E8AD67A4-77D3-4B85-AE19-4711388B62B1}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{E8AD67A4-77D3-4B85-AE19-4711388B62B1}.Debug|x64.Build.0 = Debug|Any CPU
+		{E8AD67A4-77D3-4B85-AE19-4711388B62B1}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{E8AD67A4-77D3-4B85-AE19-4711388B62B1}.Debug|x86.Build.0 = Debug|Any CPU
+		{E8AD67A4-77D3-4B85-AE19-4711388B62B1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{E8AD67A4-77D3-4B85-AE19-4711388B62B1}.Release|Any CPU.Build.0 = Release|Any CPU
+		{E8AD67A4-77D3-4B85-AE19-4711388B62B1}.Release|x64.ActiveCfg = Release|Any CPU
+		{E8AD67A4-77D3-4B85-AE19-4711388B62B1}.Release|x64.Build.0 = Release|Any CPU
+		{E8AD67A4-77D3-4B85-AE19-4711388B62B1}.Release|x86.ActiveCfg = Release|Any CPU
+		{E8AD67A4-77D3-4B85-AE19-4711388B62B1}.Release|x86.Build.0 = Release|Any CPU
+		{E38FDBB0-08C1-444E-A449-69C8A59D721B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{E38FDBB0-08C1-444E-A449-69C8A59D721B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{E38FDBB0-08C1-444E-A449-69C8A59D721B}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{E38FDBB0-08C1-444E-A449-69C8A59D721B}.Debug|x64.Build.0 = Debug|Any CPU
+		{E38FDBB0-08C1-444E-A449-69C8A59D721B}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{E38FDBB0-08C1-444E-A449-69C8A59D721B}.Debug|x86.Build.0 = Debug|Any CPU
+		{E38FDBB0-08C1-444E-A449-69C8A59D721B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{E38FDBB0-08C1-444E-A449-69C8A59D721B}.Release|Any CPU.Build.0 = Release|Any CPU
+		{E38FDBB0-08C1-444E-A449-69C8A59D721B}.Release|x64.ActiveCfg = Release|Any CPU
+		{E38FDBB0-08C1-444E-A449-69C8A59D721B}.Release|x64.Build.0 = Release|Any CPU
+		{E38FDBB0-08C1-444E-A449-69C8A59D721B}.Release|x86.ActiveCfg = Release|Any CPU
+		{E38FDBB0-08C1-444E-A449-69C8A59D721B}.Release|x86.Build.0 = Release|Any CPU
+		{A6C8050D-7C18-4585-ADCF-833AC1765847}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{A6C8050D-7C18-4585-ADCF-833AC1765847}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{A6C8050D-7C18-4585-ADCF-833AC1765847}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{A6C8050D-7C18-4585-ADCF-833AC1765847}.Debug|x64.Build.0 = Debug|Any CPU
+		{A6C8050D-7C18-4585-ADCF-833AC1765847}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{A6C8050D-7C18-4585-ADCF-833AC1765847}.Debug|x86.Build.0 = Debug|Any CPU
+		{A6C8050D-7C18-4585-ADCF-833AC1765847}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{A6C8050D-7C18-4585-ADCF-833AC1765847}.Release|Any CPU.Build.0 = Release|Any CPU
+		{A6C8050D-7C18-4585-ADCF-833AC1765847}.Release|x64.ActiveCfg = Release|Any CPU
+		{A6C8050D-7C18-4585-ADCF-833AC1765847}.Release|x64.Build.0 = Release|Any CPU
+		{A6C8050D-7C18-4585-ADCF-833AC1765847}.Release|x86.ActiveCfg = Release|Any CPU
+		{A6C8050D-7C18-4585-ADCF-833AC1765847}.Release|x86.Build.0 = Release|Any CPU
+		{08773DD6-6FED-4BF2-BD9F-C19D2CF919BB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{08773DD6-6FED-4BF2-BD9F-C19D2CF919BB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{08773DD6-6FED-4BF2-BD9F-C19D2CF919BB}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{08773DD6-6FED-4BF2-BD9F-C19D2CF919BB}.Debug|x64.Build.0 = Debug|Any CPU
+		{08773DD6-6FED-4BF2-BD9F-C19D2CF919BB}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{08773DD6-6FED-4BF2-BD9F-C19D2CF919BB}.Debug|x86.Build.0 = Debug|Any CPU
+		{08773DD6-6FED-4BF2-BD9F-C19D2CF919BB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{08773DD6-6FED-4BF2-BD9F-C19D2CF919BB}.Release|Any CPU.Build.0 = Release|Any CPU
+		{08773DD6-6FED-4BF2-BD9F-C19D2CF919BB}.Release|x64.ActiveCfg = Release|Any CPU
+		{08773DD6-6FED-4BF2-BD9F-C19D2CF919BB}.Release|x64.Build.0 = Release|Any CPU
+		{08773DD6-6FED-4BF2-BD9F-C19D2CF919BB}.Release|x86.ActiveCfg = Release|Any CPU
+		{08773DD6-6FED-4BF2-BD9F-C19D2CF919BB}.Release|x86.Build.0 = Release|Any CPU
+		{A4859630-F9F7-4F5C-9FF3-6C013D7C58FA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{A4859630-F9F7-4F5C-9FF3-6C013D7C58FA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{A4859630-F9F7-4F5C-9FF3-6C013D7C58FA}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{A4859630-F9F7-4F5C-9FF3-6C013D7C58FA}.Debug|x64.Build.0 = Debug|Any CPU
+		{A4859630-F9F7-4F5C-9FF3-6C013D7C58FA}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{A4859630-F9F7-4F5C-9FF3-6C013D7C58FA}.Debug|x86.Build.0 = Debug|Any CPU
+		{A4859630-F9F7-4F5C-9FF3-6C013D7C58FA}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{A4859630-F9F7-4F5C-9FF3-6C013D7C58FA}.Release|Any CPU.Build.0 = Release|Any CPU
+		{A4859630-F9F7-4F5C-9FF3-6C013D7C58FA}.Release|x64.ActiveCfg = Release|Any CPU
+		{A4859630-F9F7-4F5C-9FF3-6C013D7C58FA}.Release|x64.Build.0 = Release|Any CPU
+		{A4859630-F9F7-4F5C-9FF3-6C013D7C58FA}.Release|x86.ActiveCfg = Release|Any CPU
+		{A4859630-F9F7-4F5C-9FF3-6C013D7C58FA}.Release|x86.Build.0 = Release|Any CPU
+		{66036B70-6C93-4E45-A1A1-819F15CA757A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{66036B70-6C93-4E45-A1A1-819F15CA757A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{66036B70-6C93-4E45-A1A1-819F15CA757A}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{66036B70-6C93-4E45-A1A1-819F15CA757A}.Debug|x64.Build.0 = Debug|Any CPU
+		{66036B70-6C93-4E45-A1A1-819F15CA757A}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{66036B70-6C93-4E45-A1A1-819F15CA757A}.Debug|x86.Build.0 = Debug|Any CPU
+		{66036B70-6C93-4E45-A1A1-819F15CA757A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{66036B70-6C93-4E45-A1A1-819F15CA757A}.Release|Any CPU.Build.0 = Release|Any CPU
+		{66036B70-6C93-4E45-A1A1-819F15CA757A}.Release|x64.ActiveCfg = Release|Any CPU
+		{66036B70-6C93-4E45-A1A1-819F15CA757A}.Release|x64.Build.0 = Release|Any CPU
+		{66036B70-6C93-4E45-A1A1-819F15CA757A}.Release|x86.ActiveCfg = Release|Any CPU
+		{66036B70-6C93-4E45-A1A1-819F15CA757A}.Release|x86.Build.0 = Release|Any CPU
+		{FD37F740-A654-4117-BFB6-9112CE4C1D3B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{FD37F740-A654-4117-BFB6-9112CE4C1D3B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{FD37F740-A654-4117-BFB6-9112CE4C1D3B}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{FD37F740-A654-4117-BFB6-9112CE4C1D3B}.Debug|x64.Build.0 = Debug|Any CPU
+		{FD37F740-A654-4117-BFB6-9112CE4C1D3B}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{FD37F740-A654-4117-BFB6-9112CE4C1D3B}.Debug|x86.Build.0 = Debug|Any CPU
+		{FD37F740-A654-4117-BFB6-9112CE4C1D3B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{FD37F740-A654-4117-BFB6-9112CE4C1D3B}.Release|Any CPU.Build.0 = Release|Any CPU
+		{FD37F740-A654-4117-BFB6-9112CE4C1D3B}.Release|x64.ActiveCfg = Release|Any CPU
+		{FD37F740-A654-4117-BFB6-9112CE4C1D3B}.Release|x64.Build.0 = Release|Any CPU
+		{FD37F740-A654-4117-BFB6-9112CE4C1D3B}.Release|x86.ActiveCfg = Release|Any CPU
+		{FD37F740-A654-4117-BFB6-9112CE4C1D3B}.Release|x86.Build.0 = Release|Any CPU
+		{C1E2C117-BE47-4E29-94B3-753262D97A5C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{C1E2C117-BE47-4E29-94B3-753262D97A5C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{C1E2C117-BE47-4E29-94B3-753262D97A5C}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{C1E2C117-BE47-4E29-94B3-753262D97A5C}.Debug|x64.Build.0 = Debug|Any CPU
+		{C1E2C117-BE47-4E29-94B3-753262D97A5C}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{C1E2C117-BE47-4E29-94B3-753262D97A5C}.Debug|x86.Build.0 = Debug|Any CPU
+		{C1E2C117-BE47-4E29-94B3-753262D97A5C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{C1E2C117-BE47-4E29-94B3-753262D97A5C}.Release|Any CPU.Build.0 = Release|Any CPU
+		{C1E2C117-BE47-4E29-94B3-753262D97A5C}.Release|x64.ActiveCfg = Release|Any CPU
+		{C1E2C117-BE47-4E29-94B3-753262D97A5C}.Release|x64.Build.0 = Release|Any CPU
+		{C1E2C117-BE47-4E29-94B3-753262D97A5C}.Release|x86.ActiveCfg = Release|Any CPU
+		{C1E2C117-BE47-4E29-94B3-753262D97A5C}.Release|x86.Build.0 = Release|Any CPU
+		{F16C1A7C-A2BD-4EB1-8BC8-23B1375F3B9E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{F16C1A7C-A2BD-4EB1-8BC8-23B1375F3B9E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{F16C1A7C-A2BD-4EB1-8BC8-23B1375F3B9E}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{F16C1A7C-A2BD-4EB1-8BC8-23B1375F3B9E}.Debug|x64.Build.0 = Debug|Any CPU
+		{F16C1A7C-A2BD-4EB1-8BC8-23B1375F3B9E}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{F16C1A7C-A2BD-4EB1-8BC8-23B1375F3B9E}.Debug|x86.Build.0 = Debug|Any CPU
+		{F16C1A7C-A2BD-4EB1-8BC8-23B1375F3B9E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{F16C1A7C-A2BD-4EB1-8BC8-23B1375F3B9E}.Release|Any CPU.Build.0 = Release|Any CPU
+		{F16C1A7C-A2BD-4EB1-8BC8-23B1375F3B9E}.Release|x64.ActiveCfg = Release|Any CPU
+		{F16C1A7C-A2BD-4EB1-8BC8-23B1375F3B9E}.Release|x64.Build.0 = Release|Any CPU
+		{F16C1A7C-A2BD-4EB1-8BC8-23B1375F3B9E}.Release|x86.ActiveCfg = Release|Any CPU
+		{F16C1A7C-A2BD-4EB1-8BC8-23B1375F3B9E}.Release|x86.Build.0 = Release|Any CPU
+		{1C4BF2D3-44A8-4A71-B031-15B983663CB0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{1C4BF2D3-44A8-4A71-B031-15B983663CB0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{1C4BF2D3-44A8-4A71-B031-15B983663CB0}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{1C4BF2D3-44A8-4A71-B031-15B983663CB0}.Debug|x64.Build.0 = Debug|Any CPU
+		{1C4BF2D3-44A8-4A71-B031-15B983663CB0}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{1C4BF2D3-44A8-4A71-B031-15B983663CB0}.Debug|x86.Build.0 = Debug|Any CPU
+		{1C4BF2D3-44A8-4A71-B031-15B983663CB0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{1C4BF2D3-44A8-4A71-B031-15B983663CB0}.Release|Any CPU.Build.0 = Release|Any CPU
+		{1C4BF2D3-44A8-4A71-B031-15B983663CB0}.Release|x64.ActiveCfg = Release|Any CPU
+		{1C4BF2D3-44A8-4A71-B031-15B983663CB0}.Release|x64.Build.0 = Release|Any CPU
+		{1C4BF2D3-44A8-4A71-B031-15B983663CB0}.Release|x86.ActiveCfg = Release|Any CPU
+		{1C4BF2D3-44A8-4A71-B031-15B983663CB0}.Release|x86.Build.0 = Release|Any CPU
+		{C0FFB29E-4696-4875-9039-E5FA1AC5A42A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{C0FFB29E-4696-4875-9039-E5FA1AC5A42A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{C0FFB29E-4696-4875-9039-E5FA1AC5A42A}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{C0FFB29E-4696-4875-9039-E5FA1AC5A42A}.Debug|x64.Build.0 = Debug|Any CPU
+		{C0FFB29E-4696-4875-9039-E5FA1AC5A42A}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{C0FFB29E-4696-4875-9039-E5FA1AC5A42A}.Debug|x86.Build.0 = Debug|Any CPU
+		{C0FFB29E-4696-4875-9039-E5FA1AC5A42A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{C0FFB29E-4696-4875-9039-E5FA1AC5A42A}.Release|Any CPU.Build.0 = Release|Any CPU
+		{C0FFB29E-4696-4875-9039-E5FA1AC5A42A}.Release|x64.ActiveCfg = Release|Any CPU
+		{C0FFB29E-4696-4875-9039-E5FA1AC5A42A}.Release|x64.Build.0 = Release|Any CPU
+		{C0FFB29E-4696-4875-9039-E5FA1AC5A42A}.Release|x86.ActiveCfg = Release|Any CPU
+		{C0FFB29E-4696-4875-9039-E5FA1AC5A42A}.Release|x86.Build.0 = Release|Any CPU
+		{3B1A56F8-B3E0-4F33-A717-50BDD4FBE12E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{3B1A56F8-B3E0-4F33-A717-50BDD4FBE12E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{3B1A56F8-B3E0-4F33-A717-50BDD4FBE12E}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{3B1A56F8-B3E0-4F33-A717-50BDD4FBE12E}.Debug|x64.Build.0 = Debug|Any CPU
+		{3B1A56F8-B3E0-4F33-A717-50BDD4FBE12E}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{3B1A56F8-B3E0-4F33-A717-50BDD4FBE12E}.Debug|x86.Build.0 = Debug|Any CPU
+		{3B1A56F8-B3E0-4F33-A717-50BDD4FBE12E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{3B1A56F8-B3E0-4F33-A717-50BDD4FBE12E}.Release|Any CPU.Build.0 = Release|Any CPU
+		{3B1A56F8-B3E0-4F33-A717-50BDD4FBE12E}.Release|x64.ActiveCfg = Release|Any CPU
+		{3B1A56F8-B3E0-4F33-A717-50BDD4FBE12E}.Release|x64.Build.0 = Release|Any CPU
+		{3B1A56F8-B3E0-4F33-A717-50BDD4FBE12E}.Release|x86.ActiveCfg = Release|Any CPU
+		{3B1A56F8-B3E0-4F33-A717-50BDD4FBE12E}.Release|x86.Build.0 = Release|Any CPU
+		{E52044BD-17D3-483D-8F1D-BE9C9F091CCD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{E52044BD-17D3-483D-8F1D-BE9C9F091CCD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{E52044BD-17D3-483D-8F1D-BE9C9F091CCD}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{E52044BD-17D3-483D-8F1D-BE9C9F091CCD}.Debug|x64.Build.0 = Debug|Any CPU
+		{E52044BD-17D3-483D-8F1D-BE9C9F091CCD}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{E52044BD-17D3-483D-8F1D-BE9C9F091CCD}.Debug|x86.Build.0 = Debug|Any CPU
+		{E52044BD-17D3-483D-8F1D-BE9C9F091CCD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{E52044BD-17D3-483D-8F1D-BE9C9F091CCD}.Release|Any CPU.Build.0 = Release|Any CPU
+		{E52044BD-17D3-483D-8F1D-BE9C9F091CCD}.Release|x64.ActiveCfg = Release|Any CPU
+		{E52044BD-17D3-483D-8F1D-BE9C9F091CCD}.Release|x64.Build.0 = Release|Any CPU
+		{E52044BD-17D3-483D-8F1D-BE9C9F091CCD}.Release|x86.ActiveCfg = Release|Any CPU
+		{E52044BD-17D3-483D-8F1D-BE9C9F091CCD}.Release|x86.Build.0 = Release|Any CPU
+		{74759A1D-159F-4B66-9FC1-7BE3F0DF2B2B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{74759A1D-159F-4B66-9FC1-7BE3F0DF2B2B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{74759A1D-159F-4B66-9FC1-7BE3F0DF2B2B}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{74759A1D-159F-4B66-9FC1-7BE3F0DF2B2B}.Debug|x64.Build.0 = Debug|Any CPU
+		{74759A1D-159F-4B66-9FC1-7BE3F0DF2B2B}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{74759A1D-159F-4B66-9FC1-7BE3F0DF2B2B}.Debug|x86.Build.0 = Debug|Any CPU
+		{74759A1D-159F-4B66-9FC1-7BE3F0DF2B2B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{74759A1D-159F-4B66-9FC1-7BE3F0DF2B2B}.Release|Any CPU.Build.0 = Release|Any CPU
+		{74759A1D-159F-4B66-9FC1-7BE3F0DF2B2B}.Release|x64.ActiveCfg = Release|Any CPU
+		{74759A1D-159F-4B66-9FC1-7BE3F0DF2B2B}.Release|x64.Build.0 = Release|Any CPU
+		{74759A1D-159F-4B66-9FC1-7BE3F0DF2B2B}.Release|x86.ActiveCfg = Release|Any CPU
+		{74759A1D-159F-4B66-9FC1-7BE3F0DF2B2B}.Release|x86.Build.0 = Release|Any CPU
+		{35A8AE1D-ED82-485E-A8E6-A357B3CB31B3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{35A8AE1D-ED82-485E-A8E6-A357B3CB31B3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{35A8AE1D-ED82-485E-A8E6-A357B3CB31B3}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{35A8AE1D-ED82-485E-A8E6-A357B3CB31B3}.Debug|x64.Build.0 = Debug|Any CPU
+		{35A8AE1D-ED82-485E-A8E6-A357B3CB31B3}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{35A8AE1D-ED82-485E-A8E6-A357B3CB31B3}.Debug|x86.Build.0 = Debug|Any CPU
+		{35A8AE1D-ED82-485E-A8E6-A357B3CB31B3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{35A8AE1D-ED82-485E-A8E6-A357B3CB31B3}.Release|Any CPU.Build.0 = Release|Any CPU
+		{35A8AE1D-ED82-485E-A8E6-A357B3CB31B3}.Release|x64.ActiveCfg = Release|Any CPU
+		{35A8AE1D-ED82-485E-A8E6-A357B3CB31B3}.Release|x64.Build.0 = Release|Any CPU
+		{35A8AE1D-ED82-485E-A8E6-A357B3CB31B3}.Release|x86.ActiveCfg = Release|Any CPU
+		{35A8AE1D-ED82-485E-A8E6-A357B3CB31B3}.Release|x86.Build.0 = Release|Any CPU
+		{8D49A92D-B4AA-4A5C-99C1-B4DCBD5491DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{8D49A92D-B4AA-4A5C-99C1-B4DCBD5491DD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{8D49A92D-B4AA-4A5C-99C1-B4DCBD5491DD}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{8D49A92D-B4AA-4A5C-99C1-B4DCBD5491DD}.Debug|x64.Build.0 = Debug|Any CPU
+		{8D49A92D-B4AA-4A5C-99C1-B4DCBD5491DD}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{8D49A92D-B4AA-4A5C-99C1-B4DCBD5491DD}.Debug|x86.Build.0 = Debug|Any CPU
+		{8D49A92D-B4AA-4A5C-99C1-B4DCBD5491DD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{8D49A92D-B4AA-4A5C-99C1-B4DCBD5491DD}.Release|Any CPU.Build.0 = Release|Any CPU
+		{8D49A92D-B4AA-4A5C-99C1-B4DCBD5491DD}.Release|x64.ActiveCfg = Release|Any CPU
+		{8D49A92D-B4AA-4A5C-99C1-B4DCBD5491DD}.Release|x64.Build.0 = Release|Any CPU
+		{8D49A92D-B4AA-4A5C-99C1-B4DCBD5491DD}.Release|x86.ActiveCfg = Release|Any CPU
+		{8D49A92D-B4AA-4A5C-99C1-B4DCBD5491DD}.Release|x86.Build.0 = Release|Any CPU
+		{C987E45D-53AE-49EB-BD22-A15789B12F7F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{C987E45D-53AE-49EB-BD22-A15789B12F7F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{C987E45D-53AE-49EB-BD22-A15789B12F7F}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{C987E45D-53AE-49EB-BD22-A15789B12F7F}.Debug|x64.Build.0 = Debug|Any CPU
+		{C987E45D-53AE-49EB-BD22-A15789B12F7F}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{C987E45D-53AE-49EB-BD22-A15789B12F7F}.Debug|x86.Build.0 = Debug|Any CPU
+		{C987E45D-53AE-49EB-BD22-A15789B12F7F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{C987E45D-53AE-49EB-BD22-A15789B12F7F}.Release|Any CPU.Build.0 = Release|Any CPU
+		{C987E45D-53AE-49EB-BD22-A15789B12F7F}.Release|x64.ActiveCfg = Release|Any CPU
+		{C987E45D-53AE-49EB-BD22-A15789B12F7F}.Release|x64.Build.0 = Release|Any CPU
+		{C987E45D-53AE-49EB-BD22-A15789B12F7F}.Release|x86.ActiveCfg = Release|Any CPU
+		{C987E45D-53AE-49EB-BD22-A15789B12F7F}.Release|x86.Build.0 = Release|Any CPU
+		{8D09F716-F010-4332-AB98-22246C0FE8AA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{8D09F716-F010-4332-AB98-22246C0FE8AA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{8D09F716-F010-4332-AB98-22246C0FE8AA}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{8D09F716-F010-4332-AB98-22246C0FE8AA}.Debug|x64.Build.0 = Debug|Any CPU
+		{8D09F716-F010-4332-AB98-22246C0FE8AA}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{8D09F716-F010-4332-AB98-22246C0FE8AA}.Debug|x86.Build.0 = Debug|Any CPU
+		{8D09F716-F010-4332-AB98-22246C0FE8AA}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{8D09F716-F010-4332-AB98-22246C0FE8AA}.Release|Any CPU.Build.0 = Release|Any CPU
+		{8D09F716-F010-4332-AB98-22246C0FE8AA}.Release|x64.ActiveCfg = Release|Any CPU
+		{8D09F716-F010-4332-AB98-22246C0FE8AA}.Release|x64.Build.0 = Release|Any CPU
+		{8D09F716-F010-4332-AB98-22246C0FE8AA}.Release|x86.ActiveCfg = Release|Any CPU
+		{8D09F716-F010-4332-AB98-22246C0FE8AA}.Release|x86.Build.0 = Release|Any CPU
+		{FE32E389-1868-4AA2-9E47-0FC823C25106}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{FE32E389-1868-4AA2-9E47-0FC823C25106}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{FE32E389-1868-4AA2-9E47-0FC823C25106}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{FE32E389-1868-4AA2-9E47-0FC823C25106}.Debug|x64.Build.0 = Debug|Any CPU
+		{FE32E389-1868-4AA2-9E47-0FC823C25106}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{FE32E389-1868-4AA2-9E47-0FC823C25106}.Debug|x86.Build.0 = Debug|Any CPU
+		{FE32E389-1868-4AA2-9E47-0FC823C25106}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{FE32E389-1868-4AA2-9E47-0FC823C25106}.Release|Any CPU.Build.0 = Release|Any CPU
+		{FE32E389-1868-4AA2-9E47-0FC823C25106}.Release|x64.ActiveCfg = Release|Any CPU
+		{FE32E389-1868-4AA2-9E47-0FC823C25106}.Release|x64.Build.0 = Release|Any CPU
+		{FE32E389-1868-4AA2-9E47-0FC823C25106}.Release|x86.ActiveCfg = Release|Any CPU
+		{FE32E389-1868-4AA2-9E47-0FC823C25106}.Release|x86.Build.0 = Release|Any CPU
+		{B998B96D-E3CD-440E-9BFD-8F4EDC9D6732}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{B998B96D-E3CD-440E-9BFD-8F4EDC9D6732}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{B998B96D-E3CD-440E-9BFD-8F4EDC9D6732}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{B998B96D-E3CD-440E-9BFD-8F4EDC9D6732}.Debug|x64.Build.0 = Debug|Any CPU
+		{B998B96D-E3CD-440E-9BFD-8F4EDC9D6732}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{B998B96D-E3CD-440E-9BFD-8F4EDC9D6732}.Debug|x86.Build.0 = Debug|Any CPU
+		{B998B96D-E3CD-440E-9BFD-8F4EDC9D6732}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{B998B96D-E3CD-440E-9BFD-8F4EDC9D6732}.Release|Any CPU.Build.0 = Release|Any CPU
+		{B998B96D-E3CD-440E-9BFD-8F4EDC9D6732}.Release|x64.ActiveCfg = Release|Any CPU
+		{B998B96D-E3CD-440E-9BFD-8F4EDC9D6732}.Release|x64.Build.0 = Release|Any CPU
+		{B998B96D-E3CD-440E-9BFD-8F4EDC9D6732}.Release|x86.ActiveCfg = Release|Any CPU
+		{B998B96D-E3CD-440E-9BFD-8F4EDC9D6732}.Release|x86.Build.0 = Release|Any CPU
+		{4C5AB32A-3C7E-4A55-96A7-1F5248CFE929}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{4C5AB32A-3C7E-4A55-96A7-1F5248CFE929}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{4C5AB32A-3C7E-4A55-96A7-1F5248CFE929}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{4C5AB32A-3C7E-4A55-96A7-1F5248CFE929}.Debug|x64.Build.0 = Debug|Any CPU
+		{4C5AB32A-3C7E-4A55-96A7-1F5248CFE929}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{4C5AB32A-3C7E-4A55-96A7-1F5248CFE929}.Debug|x86.Build.0 = Debug|Any CPU
+		{4C5AB32A-3C7E-4A55-96A7-1F5248CFE929}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{4C5AB32A-3C7E-4A55-96A7-1F5248CFE929}.Release|Any CPU.Build.0 = Release|Any CPU
+		{4C5AB32A-3C7E-4A55-96A7-1F5248CFE929}.Release|x64.ActiveCfg = Release|Any CPU
+		{4C5AB32A-3C7E-4A55-96A7-1F5248CFE929}.Release|x64.Build.0 = Release|Any CPU
+		{4C5AB32A-3C7E-4A55-96A7-1F5248CFE929}.Release|x86.ActiveCfg = Release|Any CPU
+		{4C5AB32A-3C7E-4A55-96A7-1F5248CFE929}.Release|x86.Build.0 = Release|Any CPU
+		{AF2BADF8-DA1F-4D5E-ADC2-69C7F7E7C41C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{AF2BADF8-DA1F-4D5E-ADC2-69C7F7E7C41C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{AF2BADF8-DA1F-4D5E-ADC2-69C7F7E7C41C}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{AF2BADF8-DA1F-4D5E-ADC2-69C7F7E7C41C}.Debug|x64.Build.0 = Debug|Any CPU
+		{AF2BADF8-DA1F-4D5E-ADC2-69C7F7E7C41C}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{AF2BADF8-DA1F-4D5E-ADC2-69C7F7E7C41C}.Debug|x86.Build.0 = Debug|Any CPU
+		{AF2BADF8-DA1F-4D5E-ADC2-69C7F7E7C41C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{AF2BADF8-DA1F-4D5E-ADC2-69C7F7E7C41C}.Release|Any CPU.Build.0 = Release|Any CPU
+		{AF2BADF8-DA1F-4D5E-ADC2-69C7F7E7C41C}.Release|x64.ActiveCfg = Release|Any CPU
+		{AF2BADF8-DA1F-4D5E-ADC2-69C7F7E7C41C}.Release|x64.Build.0 = Release|Any CPU
+		{AF2BADF8-DA1F-4D5E-ADC2-69C7F7E7C41C}.Release|x86.ActiveCfg = Release|Any CPU
+		{AF2BADF8-DA1F-4D5E-ADC2-69C7F7E7C41C}.Release|x86.Build.0 = Release|Any CPU
+		{AD99C80B-CF2D-47D1-BBA0-BEF18BAEAD35}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{AD99C80B-CF2D-47D1-BBA0-BEF18BAEAD35}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{AD99C80B-CF2D-47D1-BBA0-BEF18BAEAD35}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{AD99C80B-CF2D-47D1-BBA0-BEF18BAEAD35}.Debug|x64.Build.0 = Debug|Any CPU
+		{AD99C80B-CF2D-47D1-BBA0-BEF18BAEAD35}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{AD99C80B-CF2D-47D1-BBA0-BEF18BAEAD35}.Debug|x86.Build.0 = Debug|Any CPU
+		{AD99C80B-CF2D-47D1-BBA0-BEF18BAEAD35}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{AD99C80B-CF2D-47D1-BBA0-BEF18BAEAD35}.Release|Any CPU.Build.0 = Release|Any CPU
+		{AD99C80B-CF2D-47D1-BBA0-BEF18BAEAD35}.Release|x64.ActiveCfg = Release|Any CPU
+		{AD99C80B-CF2D-47D1-BBA0-BEF18BAEAD35}.Release|x64.Build.0 = Release|Any CPU
+		{AD99C80B-CF2D-47D1-BBA0-BEF18BAEAD35}.Release|x86.ActiveCfg = Release|Any CPU
+		{AD99C80B-CF2D-47D1-BBA0-BEF18BAEAD35}.Release|x86.Build.0 = Release|Any CPU
+		{423CCF23-C0B4-4D21-896C-16DC98689DB5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{423CCF23-C0B4-4D21-896C-16DC98689DB5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{423CCF23-C0B4-4D21-896C-16DC98689DB5}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{423CCF23-C0B4-4D21-896C-16DC98689DB5}.Debug|x64.Build.0 = Debug|Any CPU
+		{423CCF23-C0B4-4D21-896C-16DC98689DB5}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{423CCF23-C0B4-4D21-896C-16DC98689DB5}.Debug|x86.Build.0 = Debug|Any CPU
+		{423CCF23-C0B4-4D21-896C-16DC98689DB5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{423CCF23-C0B4-4D21-896C-16DC98689DB5}.Release|Any CPU.Build.0 = Release|Any CPU
+		{423CCF23-C0B4-4D21-896C-16DC98689DB5}.Release|x64.ActiveCfg = Release|Any CPU
+		{423CCF23-C0B4-4D21-896C-16DC98689DB5}.Release|x64.Build.0 = Release|Any CPU
+		{423CCF23-C0B4-4D21-896C-16DC98689DB5}.Release|x86.ActiveCfg = Release|Any CPU
+		{423CCF23-C0B4-4D21-896C-16DC98689DB5}.Release|x86.Build.0 = Release|Any CPU
+		{D6AEB328-EBC0-40B1-8936-301597883DFA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{D6AEB328-EBC0-40B1-8936-301597883DFA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{D6AEB328-EBC0-40B1-8936-301597883DFA}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{D6AEB328-EBC0-40B1-8936-301597883DFA}.Debug|x64.Build.0 = Debug|Any CPU
+		{D6AEB328-EBC0-40B1-8936-301597883DFA}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{D6AEB328-EBC0-40B1-8936-301597883DFA}.Debug|x86.Build.0 = Debug|Any CPU
+		{D6AEB328-EBC0-40B1-8936-301597883DFA}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{D6AEB328-EBC0-40B1-8936-301597883DFA}.Release|Any CPU.Build.0 = Release|Any CPU
+		{D6AEB328-EBC0-40B1-8936-301597883DFA}.Release|x64.ActiveCfg = Release|Any CPU
+		{D6AEB328-EBC0-40B1-8936-301597883DFA}.Release|x64.Build.0 = Release|Any CPU
+		{D6AEB328-EBC0-40B1-8936-301597883DFA}.Release|x86.ActiveCfg = Release|Any CPU
+		{D6AEB328-EBC0-40B1-8936-301597883DFA}.Release|x86.Build.0 = Release|Any CPU
+		{6BA2DCAA-CB68-4AE2-BBBE-746A728D30E0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{6BA2DCAA-CB68-4AE2-BBBE-746A728D30E0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{6BA2DCAA-CB68-4AE2-BBBE-746A728D30E0}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{6BA2DCAA-CB68-4AE2-BBBE-746A728D30E0}.Debug|x64.Build.0 = Debug|Any CPU
+		{6BA2DCAA-CB68-4AE2-BBBE-746A728D30E0}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{6BA2DCAA-CB68-4AE2-BBBE-746A728D30E0}.Debug|x86.Build.0 = Debug|Any CPU
+		{6BA2DCAA-CB68-4AE2-BBBE-746A728D30E0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{6BA2DCAA-CB68-4AE2-BBBE-746A728D30E0}.Release|Any CPU.Build.0 = Release|Any CPU
+		{6BA2DCAA-CB68-4AE2-BBBE-746A728D30E0}.Release|x64.ActiveCfg = Release|Any CPU
+		{6BA2DCAA-CB68-4AE2-BBBE-746A728D30E0}.Release|x64.Build.0 = Release|Any CPU
+		{6BA2DCAA-CB68-4AE2-BBBE-746A728D30E0}.Release|x86.ActiveCfg = Release|Any CPU
+		{6BA2DCAA-CB68-4AE2-BBBE-746A728D30E0}.Release|x86.Build.0 = Release|Any CPU
+		{766CB6A1-0507-4367-A6CC-9C2EC6A39732}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{766CB6A1-0507-4367-A6CC-9C2EC6A39732}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{766CB6A1-0507-4367-A6CC-9C2EC6A39732}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{766CB6A1-0507-4367-A6CC-9C2EC6A39732}.Debug|x64.Build.0 = Debug|Any CPU
+		{766CB6A1-0507-4367-A6CC-9C2EC6A39732}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{766CB6A1-0507-4367-A6CC-9C2EC6A39732}.Debug|x86.Build.0 = Debug|Any CPU
+		{766CB6A1-0507-4367-A6CC-9C2EC6A39732}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{766CB6A1-0507-4367-A6CC-9C2EC6A39732}.Release|Any CPU.Build.0 = Release|Any CPU
+		{766CB6A1-0507-4367-A6CC-9C2EC6A39732}.Release|x64.ActiveCfg = Release|Any CPU
+		{766CB6A1-0507-4367-A6CC-9C2EC6A39732}.Release|x64.Build.0 = Release|Any CPU
+		{766CB6A1-0507-4367-A6CC-9C2EC6A39732}.Release|x86.ActiveCfg = Release|Any CPU
+		{766CB6A1-0507-4367-A6CC-9C2EC6A39732}.Release|x86.Build.0 = Release|Any CPU
+		{992288A5-6E70-4F2D-99A6-03439BF7A5E3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{992288A5-6E70-4F2D-99A6-03439BF7A5E3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{992288A5-6E70-4F2D-99A6-03439BF7A5E3}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{992288A5-6E70-4F2D-99A6-03439BF7A5E3}.Debug|x64.Build.0 = Debug|Any CPU
+		{992288A5-6E70-4F2D-99A6-03439BF7A5E3}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{992288A5-6E70-4F2D-99A6-03439BF7A5E3}.Debug|x86.Build.0 = Debug|Any CPU
+		{992288A5-6E70-4F2D-99A6-03439BF7A5E3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{992288A5-6E70-4F2D-99A6-03439BF7A5E3}.Release|Any CPU.Build.0 = Release|Any CPU
+		{992288A5-6E70-4F2D-99A6-03439BF7A5E3}.Release|x64.ActiveCfg = Release|Any CPU
+		{992288A5-6E70-4F2D-99A6-03439BF7A5E3}.Release|x64.Build.0 = Release|Any CPU
+		{992288A5-6E70-4F2D-99A6-03439BF7A5E3}.Release|x86.ActiveCfg = Release|Any CPU
+		{992288A5-6E70-4F2D-99A6-03439BF7A5E3}.Release|x86.Build.0 = Release|Any CPU
+		{27A226BA-C94A-4E99-897D-EDFB856CCCB5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{27A226BA-C94A-4E99-897D-EDFB856CCCB5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{27A226BA-C94A-4E99-897D-EDFB856CCCB5}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{27A226BA-C94A-4E99-897D-EDFB856CCCB5}.Debug|x64.Build.0 = Debug|Any CPU
+		{27A226BA-C94A-4E99-897D-EDFB856CCCB5}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{27A226BA-C94A-4E99-897D-EDFB856CCCB5}.Debug|x86.Build.0 = Debug|Any CPU
+		{27A226BA-C94A-4E99-897D-EDFB856CCCB5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{27A226BA-C94A-4E99-897D-EDFB856CCCB5}.Release|Any CPU.Build.0 = Release|Any CPU
+		{27A226BA-C94A-4E99-897D-EDFB856CCCB5}.Release|x64.ActiveCfg = Release|Any CPU
+		{27A226BA-C94A-4E99-897D-EDFB856CCCB5}.Release|x64.Build.0 = Release|Any CPU
+		{27A226BA-C94A-4E99-897D-EDFB856CCCB5}.Release|x86.ActiveCfg = Release|Any CPU
+		{27A226BA-C94A-4E99-897D-EDFB856CCCB5}.Release|x86.Build.0 = Release|Any CPU
+		{443DBEC1-9620-4287-A8E7-DFE46A227BE6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{443DBEC1-9620-4287-A8E7-DFE46A227BE6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{443DBEC1-9620-4287-A8E7-DFE46A227BE6}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{443DBEC1-9620-4287-A8E7-DFE46A227BE6}.Debug|x64.Build.0 = Debug|Any CPU
+		{443DBEC1-9620-4287-A8E7-DFE46A227BE6}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{443DBEC1-9620-4287-A8E7-DFE46A227BE6}.Debug|x86.Build.0 = Debug|Any CPU
+		{443DBEC1-9620-4287-A8E7-DFE46A227BE6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{443DBEC1-9620-4287-A8E7-DFE46A227BE6}.Release|Any CPU.Build.0 = Release|Any CPU
+		{443DBEC1-9620-4287-A8E7-DFE46A227BE6}.Release|x64.ActiveCfg = Release|Any CPU
+		{443DBEC1-9620-4287-A8E7-DFE46A227BE6}.Release|x64.Build.0 = Release|Any CPU
+		{443DBEC1-9620-4287-A8E7-DFE46A227BE6}.Release|x86.ActiveCfg = Release|Any CPU
+		{443DBEC1-9620-4287-A8E7-DFE46A227BE6}.Release|x86.Build.0 = Release|Any CPU
+		{C3A07F30-F2EA-4A9C-8A83-8C0BC8144863}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{C3A07F30-F2EA-4A9C-8A83-8C0BC8144863}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{C3A07F30-F2EA-4A9C-8A83-8C0BC8144863}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{C3A07F30-F2EA-4A9C-8A83-8C0BC8144863}.Debug|x64.Build.0 = Debug|Any CPU
+		{C3A07F30-F2EA-4A9C-8A83-8C0BC8144863}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{C3A07F30-F2EA-4A9C-8A83-8C0BC8144863}.Debug|x86.Build.0 = Debug|Any CPU
+		{C3A07F30-F2EA-4A9C-8A83-8C0BC8144863}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{C3A07F30-F2EA-4A9C-8A83-8C0BC8144863}.Release|Any CPU.Build.0 = Release|Any CPU
+		{C3A07F30-F2EA-4A9C-8A83-8C0BC8144863}.Release|x64.ActiveCfg = Release|Any CPU
+		{C3A07F30-F2EA-4A9C-8A83-8C0BC8144863}.Release|x64.Build.0 = Release|Any CPU
+		{C3A07F30-F2EA-4A9C-8A83-8C0BC8144863}.Release|x86.ActiveCfg = Release|Any CPU
+		{C3A07F30-F2EA-4A9C-8A83-8C0BC8144863}.Release|x86.Build.0 = Release|Any CPU
+		{3A25A675-8867-420A-8921-4B6D617EBE2F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{3A25A675-8867-420A-8921-4B6D617EBE2F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{3A25A675-8867-420A-8921-4B6D617EBE2F}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{3A25A675-8867-420A-8921-4B6D617EBE2F}.Debug|x64.Build.0 = Debug|Any CPU
+		{3A25A675-8867-420A-8921-4B6D617EBE2F}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{3A25A675-8867-420A-8921-4B6D617EBE2F}.Debug|x86.Build.0 = Debug|Any CPU
+		{3A25A675-8867-420A-8921-4B6D617EBE2F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{3A25A675-8867-420A-8921-4B6D617EBE2F}.Release|Any CPU.Build.0 = Release|Any CPU
+		{3A25A675-8867-420A-8921-4B6D617EBE2F}.Release|x64.ActiveCfg = Release|Any CPU
+		{3A25A675-8867-420A-8921-4B6D617EBE2F}.Release|x64.Build.0 = Release|Any CPU
+		{3A25A675-8867-420A-8921-4B6D617EBE2F}.Release|x86.ActiveCfg = Release|Any CPU
+		{3A25A675-8867-420A-8921-4B6D617EBE2F}.Release|x86.Build.0 = Release|Any CPU
+		{B25439E1-C944-4FE1-8678-AC9E866AC4EA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{B25439E1-C944-4FE1-8678-AC9E866AC4EA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{B25439E1-C944-4FE1-8678-AC9E866AC4EA}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{B25439E1-C944-4FE1-8678-AC9E866AC4EA}.Debug|x64.Build.0 = Debug|Any CPU
+		{B25439E1-C944-4FE1-8678-AC9E866AC4EA}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{B25439E1-C944-4FE1-8678-AC9E866AC4EA}.Debug|x86.Build.0 = Debug|Any CPU
+		{B25439E1-C944-4FE1-8678-AC9E866AC4EA}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{B25439E1-C944-4FE1-8678-AC9E866AC4EA}.Release|Any CPU.Build.0 = Release|Any CPU
+		{B25439E1-C944-4FE1-8678-AC9E866AC4EA}.Release|x64.ActiveCfg = Release|Any CPU
+		{B25439E1-C944-4FE1-8678-AC9E866AC4EA}.Release|x64.Build.0 = Release|Any CPU
+		{B25439E1-C944-4FE1-8678-AC9E866AC4EA}.Release|x86.ActiveCfg = Release|Any CPU
+		{B25439E1-C944-4FE1-8678-AC9E866AC4EA}.Release|x86.Build.0 = Release|Any CPU
+		{214B9F12-BF3F-430F-85BC-98C6CFFFE5F8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{214B9F12-BF3F-430F-85BC-98C6CFFFE5F8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{214B9F12-BF3F-430F-85BC-98C6CFFFE5F8}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{214B9F12-BF3F-430F-85BC-98C6CFFFE5F8}.Debug|x64.Build.0 = Debug|Any CPU
+		{214B9F12-BF3F-430F-85BC-98C6CFFFE5F8}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{214B9F12-BF3F-430F-85BC-98C6CFFFE5F8}.Debug|x86.Build.0 = Debug|Any CPU
+		{214B9F12-BF3F-430F-85BC-98C6CFFFE5F8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{214B9F12-BF3F-430F-85BC-98C6CFFFE5F8}.Release|Any CPU.Build.0 = Release|Any CPU
+		{214B9F12-BF3F-430F-85BC-98C6CFFFE5F8}.Release|x64.ActiveCfg = Release|Any CPU
+		{214B9F12-BF3F-430F-85BC-98C6CFFFE5F8}.Release|x64.Build.0 = Release|Any CPU
+		{214B9F12-BF3F-430F-85BC-98C6CFFFE5F8}.Release|x86.ActiveCfg = Release|Any CPU
+		{214B9F12-BF3F-430F-85BC-98C6CFFFE5F8}.Release|x86.Build.0 = Release|Any CPU
+		{574F245D-ED2E-4B5F-9929-8E8377412E6D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{574F245D-ED2E-4B5F-9929-8E8377412E6D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{574F245D-ED2E-4B5F-9929-8E8377412E6D}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{574F245D-ED2E-4B5F-9929-8E8377412E6D}.Debug|x64.Build.0 = Debug|Any CPU
+		{574F245D-ED2E-4B5F-9929-8E8377412E6D}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{574F245D-ED2E-4B5F-9929-8E8377412E6D}.Debug|x86.Build.0 = Debug|Any CPU
+		{574F245D-ED2E-4B5F-9929-8E8377412E6D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{574F245D-ED2E-4B5F-9929-8E8377412E6D}.Release|Any CPU.Build.0 = Release|Any CPU
+		{574F245D-ED2E-4B5F-9929-8E8377412E6D}.Release|x64.ActiveCfg = Release|Any CPU
+		{574F245D-ED2E-4B5F-9929-8E8377412E6D}.Release|x64.Build.0 = Release|Any CPU
+		{574F245D-ED2E-4B5F-9929-8E8377412E6D}.Release|x86.ActiveCfg = Release|Any CPU
+		{574F245D-ED2E-4B5F-9929-8E8377412E6D}.Release|x86.Build.0 = Release|Any CPU
+		{7BE4D31D-D31F-422E-8C54-39B91A9A4DE4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{7BE4D31D-D31F-422E-8C54-39B91A9A4DE4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{7BE4D31D-D31F-422E-8C54-39B91A9A4DE4}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{7BE4D31D-D31F-422E-8C54-39B91A9A4DE4}.Debug|x64.Build.0 = Debug|Any CPU
+		{7BE4D31D-D31F-422E-8C54-39B91A9A4DE4}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{7BE4D31D-D31F-422E-8C54-39B91A9A4DE4}.Debug|x86.Build.0 = Debug|Any CPU
+		{7BE4D31D-D31F-422E-8C54-39B91A9A4DE4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{7BE4D31D-D31F-422E-8C54-39B91A9A4DE4}.Release|Any CPU.Build.0 = Release|Any CPU
+		{7BE4D31D-D31F-422E-8C54-39B91A9A4DE4}.Release|x64.ActiveCfg = Release|Any CPU
+		{7BE4D31D-D31F-422E-8C54-39B91A9A4DE4}.Release|x64.Build.0 = Release|Any CPU
+		{7BE4D31D-D31F-422E-8C54-39B91A9A4DE4}.Release|x86.ActiveCfg = Release|Any CPU
+		{7BE4D31D-D31F-422E-8C54-39B91A9A4DE4}.Release|x86.Build.0 = Release|Any CPU
+		{8EF63B6F-A1D9-469B-9A50-DE1613ED47A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{8EF63B6F-A1D9-469B-9A50-DE1613ED47A5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{8EF63B6F-A1D9-469B-9A50-DE1613ED47A5}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{8EF63B6F-A1D9-469B-9A50-DE1613ED47A5}.Debug|x64.Build.0 = Debug|Any CPU
+		{8EF63B6F-A1D9-469B-9A50-DE1613ED47A5}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{8EF63B6F-A1D9-469B-9A50-DE1613ED47A5}.Debug|x86.Build.0 = Debug|Any CPU
+		{8EF63B6F-A1D9-469B-9A50-DE1613ED47A5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{8EF63B6F-A1D9-469B-9A50-DE1613ED47A5}.Release|Any CPU.Build.0 = Release|Any CPU
+		{8EF63B6F-A1D9-469B-9A50-DE1613ED47A5}.Release|x64.ActiveCfg = Release|Any CPU
+		{8EF63B6F-A1D9-469B-9A50-DE1613ED47A5}.Release|x64.Build.0 = Release|Any CPU
+		{8EF63B6F-A1D9-469B-9A50-DE1613ED47A5}.Release|x86.ActiveCfg = Release|Any CPU
+		{8EF63B6F-A1D9-469B-9A50-DE1613ED47A5}.Release|x86.Build.0 = Release|Any CPU
+		{A9291B4E-7049-4574-AC45-8D642AD3D9B0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{A9291B4E-7049-4574-AC45-8D642AD3D9B0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{A9291B4E-7049-4574-AC45-8D642AD3D9B0}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{A9291B4E-7049-4574-AC45-8D642AD3D9B0}.Debug|x64.Build.0 = Debug|Any CPU
+		{A9291B4E-7049-4574-AC45-8D642AD3D9B0}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{A9291B4E-7049-4574-AC45-8D642AD3D9B0}.Debug|x86.Build.0 = Debug|Any CPU
+		{A9291B4E-7049-4574-AC45-8D642AD3D9B0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{A9291B4E-7049-4574-AC45-8D642AD3D9B0}.Release|Any CPU.Build.0 = Release|Any CPU
+		{A9291B4E-7049-4574-AC45-8D642AD3D9B0}.Release|x64.ActiveCfg = Release|Any CPU
+		{A9291B4E-7049-4574-AC45-8D642AD3D9B0}.Release|x64.Build.0 = Release|Any CPU
+		{A9291B4E-7049-4574-AC45-8D642AD3D9B0}.Release|x86.ActiveCfg = Release|Any CPU
+		{A9291B4E-7049-4574-AC45-8D642AD3D9B0}.Release|x86.Build.0 = Release|Any CPU
+		{6B847B89-DEFB-478C-B0D8-0F309602A0C5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{6B847B89-DEFB-478C-B0D8-0F309602A0C5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{6B847B89-DEFB-478C-B0D8-0F309602A0C5}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{6B847B89-DEFB-478C-B0D8-0F309602A0C5}.Debug|x64.Build.0 = Debug|Any CPU
+		{6B847B89-DEFB-478C-B0D8-0F309602A0C5}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{6B847B89-DEFB-478C-B0D8-0F309602A0C5}.Debug|x86.Build.0 = Debug|Any CPU
+		{6B847B89-DEFB-478C-B0D8-0F309602A0C5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{6B847B89-DEFB-478C-B0D8-0F309602A0C5}.Release|Any CPU.Build.0 = Release|Any CPU
+		{6B847B89-DEFB-478C-B0D8-0F309602A0C5}.Release|x64.ActiveCfg = Release|Any CPU
+		{6B847B89-DEFB-478C-B0D8-0F309602A0C5}.Release|x64.Build.0 = Release|Any CPU
+		{6B847B89-DEFB-478C-B0D8-0F309602A0C5}.Release|x86.ActiveCfg = Release|Any CPU
+		{6B847B89-DEFB-478C-B0D8-0F309602A0C5}.Release|x86.Build.0 = Release|Any CPU
+		{3D316CA9-55C6-4D72-A408-382935555361}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{3D316CA9-55C6-4D72-A408-382935555361}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{3D316CA9-55C6-4D72-A408-382935555361}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{3D316CA9-55C6-4D72-A408-382935555361}.Debug|x64.Build.0 = Debug|Any CPU
+		{3D316CA9-55C6-4D72-A408-382935555361}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{3D316CA9-55C6-4D72-A408-382935555361}.Debug|x86.Build.0 = Debug|Any CPU
+		{3D316CA9-55C6-4D72-A408-382935555361}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{3D316CA9-55C6-4D72-A408-382935555361}.Release|Any CPU.Build.0 = Release|Any CPU
+		{3D316CA9-55C6-4D72-A408-382935555361}.Release|x64.ActiveCfg = Release|Any CPU
+		{3D316CA9-55C6-4D72-A408-382935555361}.Release|x64.Build.0 = Release|Any CPU
+		{3D316CA9-55C6-4D72-A408-382935555361}.Release|x86.ActiveCfg = Release|Any CPU
+		{3D316CA9-55C6-4D72-A408-382935555361}.Release|x86.Build.0 = Release|Any CPU
+		{E0EDCB3C-C93B-4368-9289-035D7D35382B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{E0EDCB3C-C93B-4368-9289-035D7D35382B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{E0EDCB3C-C93B-4368-9289-035D7D35382B}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{E0EDCB3C-C93B-4368-9289-035D7D35382B}.Debug|x64.Build.0 = Debug|Any CPU
+		{E0EDCB3C-C93B-4368-9289-035D7D35382B}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{E0EDCB3C-C93B-4368-9289-035D7D35382B}.Debug|x86.Build.0 = Debug|Any CPU
+		{E0EDCB3C-C93B-4368-9289-035D7D35382B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{E0EDCB3C-C93B-4368-9289-035D7D35382B}.Release|Any CPU.Build.0 = Release|Any CPU
+		{E0EDCB3C-C93B-4368-9289-035D7D35382B}.Release|x64.ActiveCfg = Release|Any CPU
+		{E0EDCB3C-C93B-4368-9289-035D7D35382B}.Release|x64.Build.0 = Release|Any CPU
+		{E0EDCB3C-C93B-4368-9289-035D7D35382B}.Release|x86.ActiveCfg = Release|Any CPU
+		{E0EDCB3C-C93B-4368-9289-035D7D35382B}.Release|x86.Build.0 = Release|Any CPU
+		{3C001B2F-2A04-478C-8A7A-1D121E8A4BB1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{3C001B2F-2A04-478C-8A7A-1D121E8A4BB1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{3C001B2F-2A04-478C-8A7A-1D121E8A4BB1}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{3C001B2F-2A04-478C-8A7A-1D121E8A4BB1}.Debug|x64.Build.0 = Debug|Any CPU
+		{3C001B2F-2A04-478C-8A7A-1D121E8A4BB1}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{3C001B2F-2A04-478C-8A7A-1D121E8A4BB1}.Debug|x86.Build.0 = Debug|Any CPU
+		{3C001B2F-2A04-478C-8A7A-1D121E8A4BB1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{3C001B2F-2A04-478C-8A7A-1D121E8A4BB1}.Release|Any CPU.Build.0 = Release|Any CPU
+		{3C001B2F-2A04-478C-8A7A-1D121E8A4BB1}.Release|x64.ActiveCfg = Release|Any CPU
+		{3C001B2F-2A04-478C-8A7A-1D121E8A4BB1}.Release|x64.Build.0 = Release|Any CPU
+		{3C001B2F-2A04-478C-8A7A-1D121E8A4BB1}.Release|x86.ActiveCfg = Release|Any CPU
+		{3C001B2F-2A04-478C-8A7A-1D121E8A4BB1}.Release|x86.Build.0 = Release|Any CPU
+		{FF3A5823-43F0-4C98-87C4-3C5973F3C7D7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{FF3A5823-43F0-4C98-87C4-3C5973F3C7D7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{FF3A5823-43F0-4C98-87C4-3C5973F3C7D7}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{FF3A5823-43F0-4C98-87C4-3C5973F3C7D7}.Debug|x64.Build.0 = Debug|Any CPU
+		{FF3A5823-43F0-4C98-87C4-3C5973F3C7D7}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{FF3A5823-43F0-4C98-87C4-3C5973F3C7D7}.Debug|x86.Build.0 = Debug|Any CPU
+		{FF3A5823-43F0-4C98-87C4-3C5973F3C7D7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{FF3A5823-43F0-4C98-87C4-3C5973F3C7D7}.Release|Any CPU.Build.0 = Release|Any CPU
+		{FF3A5823-43F0-4C98-87C4-3C5973F3C7D7}.Release|x64.ActiveCfg = Release|Any CPU
+		{FF3A5823-43F0-4C98-87C4-3C5973F3C7D7}.Release|x64.Build.0 = Release|Any CPU
+		{FF3A5823-43F0-4C98-87C4-3C5973F3C7D7}.Release|x86.ActiveCfg = Release|Any CPU
+		{FF3A5823-43F0-4C98-87C4-3C5973F3C7D7}.Release|x86.Build.0 = Release|Any CPU
+		{AB47EF50-D7F4-47AB-A49D-FFB8874EC9F7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{AB47EF50-D7F4-47AB-A49D-FFB8874EC9F7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{AB47EF50-D7F4-47AB-A49D-FFB8874EC9F7}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{AB47EF50-D7F4-47AB-A49D-FFB8874EC9F7}.Debug|x64.Build.0 = Debug|Any CPU
+		{AB47EF50-D7F4-47AB-A49D-FFB8874EC9F7}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{AB47EF50-D7F4-47AB-A49D-FFB8874EC9F7}.Debug|x86.Build.0 = Debug|Any CPU
+		{AB47EF50-D7F4-47AB-A49D-FFB8874EC9F7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{AB47EF50-D7F4-47AB-A49D-FFB8874EC9F7}.Release|Any CPU.Build.0 = Release|Any CPU
+		{AB47EF50-D7F4-47AB-A49D-FFB8874EC9F7}.Release|x64.ActiveCfg = Release|Any CPU
+		{AB47EF50-D7F4-47AB-A49D-FFB8874EC9F7}.Release|x64.Build.0 = Release|Any CPU
+		{AB47EF50-D7F4-47AB-A49D-FFB8874EC9F7}.Release|x86.ActiveCfg = Release|Any CPU
+		{AB47EF50-D7F4-47AB-A49D-FFB8874EC9F7}.Release|x86.Build.0 = Release|Any CPU
+		{8C18A50B-EAEE-4CE0-8FFC-0957FD6B5DFD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{8C18A50B-EAEE-4CE0-8FFC-0957FD6B5DFD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{8C18A50B-EAEE-4CE0-8FFC-0957FD6B5DFD}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{8C18A50B-EAEE-4CE0-8FFC-0957FD6B5DFD}.Debug|x64.Build.0 = Debug|Any CPU
+		{8C18A50B-EAEE-4CE0-8FFC-0957FD6B5DFD}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{8C18A50B-EAEE-4CE0-8FFC-0957FD6B5DFD}.Debug|x86.Build.0 = Debug|Any CPU
+		{8C18A50B-EAEE-4CE0-8FFC-0957FD6B5DFD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{8C18A50B-EAEE-4CE0-8FFC-0957FD6B5DFD}.Release|Any CPU.Build.0 = Release|Any CPU
+		{8C18A50B-EAEE-4CE0-8FFC-0957FD6B5DFD}.Release|x64.ActiveCfg = Release|Any CPU
+		{8C18A50B-EAEE-4CE0-8FFC-0957FD6B5DFD}.Release|x64.Build.0 = Release|Any CPU
+		{8C18A50B-EAEE-4CE0-8FFC-0957FD6B5DFD}.Release|x86.ActiveCfg = Release|Any CPU
+		{8C18A50B-EAEE-4CE0-8FFC-0957FD6B5DFD}.Release|x86.Build.0 = Release|Any CPU
+		{6F46EE1F-5A3A-4D16-94C4-6CF7147BC75B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{6F46EE1F-5A3A-4D16-94C4-6CF7147BC75B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{6F46EE1F-5A3A-4D16-94C4-6CF7147BC75B}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{6F46EE1F-5A3A-4D16-94C4-6CF7147BC75B}.Debug|x64.Build.0 = Debug|Any CPU
+		{6F46EE1F-5A3A-4D16-94C4-6CF7147BC75B}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{6F46EE1F-5A3A-4D16-94C4-6CF7147BC75B}.Debug|x86.Build.0 = Debug|Any CPU
+		{6F46EE1F-5A3A-4D16-94C4-6CF7147BC75B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{6F46EE1F-5A3A-4D16-94C4-6CF7147BC75B}.Release|Any CPU.Build.0 = Release|Any CPU
+		{6F46EE1F-5A3A-4D16-94C4-6CF7147BC75B}.Release|x64.ActiveCfg = Release|Any CPU
+		{6F46EE1F-5A3A-4D16-94C4-6CF7147BC75B}.Release|x64.Build.0 = Release|Any CPU
+		{6F46EE1F-5A3A-4D16-94C4-6CF7147BC75B}.Release|x86.ActiveCfg = Release|Any CPU
+		{6F46EE1F-5A3A-4D16-94C4-6CF7147BC75B}.Release|x86.Build.0 = Release|Any CPU
+		{EF6E0BF5-F018-4C76-A7E8-EF52D2C7D9C1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{EF6E0BF5-F018-4C76-A7E8-EF52D2C7D9C1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{EF6E0BF5-F018-4C76-A7E8-EF52D2C7D9C1}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{EF6E0BF5-F018-4C76-A7E8-EF52D2C7D9C1}.Debug|x64.Build.0 = Debug|Any CPU
+		{EF6E0BF5-F018-4C76-A7E8-EF52D2C7D9C1}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{EF6E0BF5-F018-4C76-A7E8-EF52D2C7D9C1}.Debug|x86.Build.0 = Debug|Any CPU
+		{EF6E0BF5-F018-4C76-A7E8-EF52D2C7D9C1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{EF6E0BF5-F018-4C76-A7E8-EF52D2C7D9C1}.Release|Any CPU.Build.0 = Release|Any CPU
+		{EF6E0BF5-F018-4C76-A7E8-EF52D2C7D9C1}.Release|x64.ActiveCfg = Release|Any CPU
+		{EF6E0BF5-F018-4C76-A7E8-EF52D2C7D9C1}.Release|x64.Build.0 = Release|Any CPU
+		{EF6E0BF5-F018-4C76-A7E8-EF52D2C7D9C1}.Release|x86.ActiveCfg = Release|Any CPU
+		{EF6E0BF5-F018-4C76-A7E8-EF52D2C7D9C1}.Release|x86.Build.0 = Release|Any CPU
+		{697B279A-8BC0-49C2-A57F-667E9AD81E9A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{697B279A-8BC0-49C2-A57F-667E9AD81E9A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{697B279A-8BC0-49C2-A57F-667E9AD81E9A}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{697B279A-8BC0-49C2-A57F-667E9AD81E9A}.Debug|x64.Build.0 = Debug|Any CPU
+		{697B279A-8BC0-49C2-A57F-667E9AD81E9A}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{697B279A-8BC0-49C2-A57F-667E9AD81E9A}.Debug|x86.Build.0 = Debug|Any CPU
+		{697B279A-8BC0-49C2-A57F-667E9AD81E9A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{697B279A-8BC0-49C2-A57F-667E9AD81E9A}.Release|Any CPU.Build.0 = Release|Any CPU
+		{697B279A-8BC0-49C2-A57F-667E9AD81E9A}.Release|x64.ActiveCfg = Release|Any CPU
+		{697B279A-8BC0-49C2-A57F-667E9AD81E9A}.Release|x64.Build.0 = Release|Any CPU
+		{697B279A-8BC0-49C2-A57F-667E9AD81E9A}.Release|x86.ActiveCfg = Release|Any CPU
+		{697B279A-8BC0-49C2-A57F-667E9AD81E9A}.Release|x86.Build.0 = Release|Any CPU
+		{F94690E9-258C-4C10-AC26-FA31F6EB9D35}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{F94690E9-258C-4C10-AC26-FA31F6EB9D35}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{F94690E9-258C-4C10-AC26-FA31F6EB9D35}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{F94690E9-258C-4C10-AC26-FA31F6EB9D35}.Debug|x64.Build.0 = Debug|Any CPU
+		{F94690E9-258C-4C10-AC26-FA31F6EB9D35}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{F94690E9-258C-4C10-AC26-FA31F6EB9D35}.Debug|x86.Build.0 = Debug|Any CPU
+		{F94690E9-258C-4C10-AC26-FA31F6EB9D35}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{F94690E9-258C-4C10-AC26-FA31F6EB9D35}.Release|Any CPU.Build.0 = Release|Any CPU
+		{F94690E9-258C-4C10-AC26-FA31F6EB9D35}.Release|x64.ActiveCfg = Release|Any CPU
+		{F94690E9-258C-4C10-AC26-FA31F6EB9D35}.Release|x64.Build.0 = Release|Any CPU
+		{F94690E9-258C-4C10-AC26-FA31F6EB9D35}.Release|x86.ActiveCfg = Release|Any CPU
+		{F94690E9-258C-4C10-AC26-FA31F6EB9D35}.Release|x86.Build.0 = Release|Any CPU
+		{A2AB7E2D-0FE2-4740-95E7-CE600CBD4F44}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{A2AB7E2D-0FE2-4740-95E7-CE600CBD4F44}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{A2AB7E2D-0FE2-4740-95E7-CE600CBD4F44}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{A2AB7E2D-0FE2-4740-95E7-CE600CBD4F44}.Debug|x64.Build.0 = Debug|Any CPU
+		{A2AB7E2D-0FE2-4740-95E7-CE600CBD4F44}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{A2AB7E2D-0FE2-4740-95E7-CE600CBD4F44}.Debug|x86.Build.0 = Debug|Any CPU
+		{A2AB7E2D-0FE2-4740-95E7-CE600CBD4F44}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{A2AB7E2D-0FE2-4740-95E7-CE600CBD4F44}.Release|Any CPU.Build.0 = Release|Any CPU
+		{A2AB7E2D-0FE2-4740-95E7-CE600CBD4F44}.Release|x64.ActiveCfg = Release|Any CPU
+		{A2AB7E2D-0FE2-4740-95E7-CE600CBD4F44}.Release|x64.Build.0 = Release|Any CPU
+		{A2AB7E2D-0FE2-4740-95E7-CE600CBD4F44}.Release|x86.ActiveCfg = Release|Any CPU
+		{A2AB7E2D-0FE2-4740-95E7-CE600CBD4F44}.Release|x86.Build.0 = Release|Any CPU
+		{71209D14-8469-40FB-B052-8308AF22A0EC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{71209D14-8469-40FB-B052-8308AF22A0EC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{71209D14-8469-40FB-B052-8308AF22A0EC}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{71209D14-8469-40FB-B052-8308AF22A0EC}.Debug|x64.Build.0 = Debug|Any CPU
+		{71209D14-8469-40FB-B052-8308AF22A0EC}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{71209D14-8469-40FB-B052-8308AF22A0EC}.Debug|x86.Build.0 = Debug|Any CPU
+		{71209D14-8469-40FB-B052-8308AF22A0EC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{71209D14-8469-40FB-B052-8308AF22A0EC}.Release|Any CPU.Build.0 = Release|Any CPU
+		{71209D14-8469-40FB-B052-8308AF22A0EC}.Release|x64.ActiveCfg = Release|Any CPU
+		{71209D14-8469-40FB-B052-8308AF22A0EC}.Release|x64.Build.0 = Release|Any CPU
+		{71209D14-8469-40FB-B052-8308AF22A0EC}.Release|x86.ActiveCfg = Release|Any CPU
+		{71209D14-8469-40FB-B052-8308AF22A0EC}.Release|x86.Build.0 = Release|Any CPU
+		{86CBF0C9-76C8-4084-9758-E36731AEC1D7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{86CBF0C9-76C8-4084-9758-E36731AEC1D7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{86CBF0C9-76C8-4084-9758-E36731AEC1D7}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{86CBF0C9-76C8-4084-9758-E36731AEC1D7}.Debug|x64.Build.0 = Debug|Any CPU
+		{86CBF0C9-76C8-4084-9758-E36731AEC1D7}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{86CBF0C9-76C8-4084-9758-E36731AEC1D7}.Debug|x86.Build.0 = Debug|Any CPU
+		{86CBF0C9-76C8-4084-9758-E36731AEC1D7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{86CBF0C9-76C8-4084-9758-E36731AEC1D7}.Release|Any CPU.Build.0 = Release|Any CPU
+		{86CBF0C9-76C8-4084-9758-E36731AEC1D7}.Release|x64.ActiveCfg = Release|Any CPU
+		{86CBF0C9-76C8-4084-9758-E36731AEC1D7}.Release|x64.Build.0 = Release|Any CPU
+		{86CBF0C9-76C8-4084-9758-E36731AEC1D7}.Release|x86.ActiveCfg = Release|Any CPU
+		{86CBF0C9-76C8-4084-9758-E36731AEC1D7}.Release|x86.Build.0 = Release|Any CPU
+		{EA169B0E-3F8C-4436-82F4-56768263D256}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{EA169B0E-3F8C-4436-82F4-56768263D256}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{EA169B0E-3F8C-4436-82F4-56768263D256}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{EA169B0E-3F8C-4436-82F4-56768263D256}.Debug|x64.Build.0 = Debug|Any CPU
+		{EA169B0E-3F8C-4436-82F4-56768263D256}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{EA169B0E-3F8C-4436-82F4-56768263D256}.Debug|x86.Build.0 = Debug|Any CPU
+		{EA169B0E-3F8C-4436-82F4-56768263D256}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{EA169B0E-3F8C-4436-82F4-56768263D256}.Release|Any CPU.Build.0 = Release|Any CPU
+		{EA169B0E-3F8C-4436-82F4-56768263D256}.Release|x64.ActiveCfg = Release|Any CPU
+		{EA169B0E-3F8C-4436-82F4-56768263D256}.Release|x64.Build.0 = Release|Any CPU
+		{EA169B0E-3F8C-4436-82F4-56768263D256}.Release|x86.ActiveCfg = Release|Any CPU
+		{EA169B0E-3F8C-4436-82F4-56768263D256}.Release|x86.Build.0 = Release|Any CPU
+		{1CDF7EC6-A25A-44BC-8CD3-C9F6AD13CF0B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{1CDF7EC6-A25A-44BC-8CD3-C9F6AD13CF0B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{1CDF7EC6-A25A-44BC-8CD3-C9F6AD13CF0B}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{1CDF7EC6-A25A-44BC-8CD3-C9F6AD13CF0B}.Debug|x64.Build.0 = Debug|Any CPU
+		{1CDF7EC6-A25A-44BC-8CD3-C9F6AD13CF0B}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{1CDF7EC6-A25A-44BC-8CD3-C9F6AD13CF0B}.Debug|x86.Build.0 = Debug|Any CPU
+		{1CDF7EC6-A25A-44BC-8CD3-C9F6AD13CF0B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{1CDF7EC6-A25A-44BC-8CD3-C9F6AD13CF0B}.Release|Any CPU.Build.0 = Release|Any CPU
+		{1CDF7EC6-A25A-44BC-8CD3-C9F6AD13CF0B}.Release|x64.ActiveCfg = Release|Any CPU
+		{1CDF7EC6-A25A-44BC-8CD3-C9F6AD13CF0B}.Release|x64.Build.0 = Release|Any CPU
+		{1CDF7EC6-A25A-44BC-8CD3-C9F6AD13CF0B}.Release|x86.ActiveCfg = Release|Any CPU
+		{1CDF7EC6-A25A-44BC-8CD3-C9F6AD13CF0B}.Release|x86.Build.0 = Release|Any CPU
+		{5AEEAA34-01A0-418D-A8D0-E89A5B9A0EF1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{5AEEAA34-01A0-418D-A8D0-E89A5B9A0EF1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{5AEEAA34-01A0-418D-A8D0-E89A5B9A0EF1}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{5AEEAA34-01A0-418D-A8D0-E89A5B9A0EF1}.Debug|x64.Build.0 = Debug|Any CPU
+		{5AEEAA34-01A0-418D-A8D0-E89A5B9A0EF1}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{5AEEAA34-01A0-418D-A8D0-E89A5B9A0EF1}.Debug|x86.Build.0 = Debug|Any CPU
+		{5AEEAA34-01A0-418D-A8D0-E89A5B9A0EF1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{5AEEAA34-01A0-418D-A8D0-E89A5B9A0EF1}.Release|Any CPU.Build.0 = Release|Any CPU
+		{5AEEAA34-01A0-418D-A8D0-E89A5B9A0EF1}.Release|x64.ActiveCfg = Release|Any CPU
+		{5AEEAA34-01A0-418D-A8D0-E89A5B9A0EF1}.Release|x64.Build.0 = Release|Any CPU
+		{5AEEAA34-01A0-418D-A8D0-E89A5B9A0EF1}.Release|x86.ActiveCfg = Release|Any CPU
+		{5AEEAA34-01A0-418D-A8D0-E89A5B9A0EF1}.Release|x86.Build.0 = Release|Any CPU
+		{BBDB70EB-2C08-43E7-8D82-BEE18C8881C8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{BBDB70EB-2C08-43E7-8D82-BEE18C8881C8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{BBDB70EB-2C08-43E7-8D82-BEE18C8881C8}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{BBDB70EB-2C08-43E7-8D82-BEE18C8881C8}.Debug|x64.Build.0 = Debug|Any CPU
+		{BBDB70EB-2C08-43E7-8D82-BEE18C8881C8}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{BBDB70EB-2C08-43E7-8D82-BEE18C8881C8}.Debug|x86.Build.0 = Debug|Any CPU
+		{BBDB70EB-2C08-43E7-8D82-BEE18C8881C8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{BBDB70EB-2C08-43E7-8D82-BEE18C8881C8}.Release|Any CPU.Build.0 = Release|Any CPU
+		{BBDB70EB-2C08-43E7-8D82-BEE18C8881C8}.Release|x64.ActiveCfg = Release|Any CPU
+		{BBDB70EB-2C08-43E7-8D82-BEE18C8881C8}.Release|x64.Build.0 = Release|Any CPU
+		{BBDB70EB-2C08-43E7-8D82-BEE18C8881C8}.Release|x86.ActiveCfg = Release|Any CPU
+		{BBDB70EB-2C08-43E7-8D82-BEE18C8881C8}.Release|x86.Build.0 = Release|Any CPU
+		{AB827016-9D0A-4443-BFF0-80CB9E947D39}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{AB827016-9D0A-4443-BFF0-80CB9E947D39}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{AB827016-9D0A-4443-BFF0-80CB9E947D39}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{AB827016-9D0A-4443-BFF0-80CB9E947D39}.Debug|x64.Build.0 = Debug|Any CPU
+		{AB827016-9D0A-4443-BFF0-80CB9E947D39}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{AB827016-9D0A-4443-BFF0-80CB9E947D39}.Debug|x86.Build.0 = Debug|Any CPU
+		{AB827016-9D0A-4443-BFF0-80CB9E947D39}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{AB827016-9D0A-4443-BFF0-80CB9E947D39}.Release|Any CPU.Build.0 = Release|Any CPU
+		{AB827016-9D0A-4443-BFF0-80CB9E947D39}.Release|x64.ActiveCfg = Release|Any CPU
+		{AB827016-9D0A-4443-BFF0-80CB9E947D39}.Release|x64.Build.0 = Release|Any CPU
+		{AB827016-9D0A-4443-BFF0-80CB9E947D39}.Release|x86.ActiveCfg = Release|Any CPU
+		{AB827016-9D0A-4443-BFF0-80CB9E947D39}.Release|x86.Build.0 = Release|Any CPU
+		{707BB7F9-3E71-4364-8AD0-949735B5D33C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{707BB7F9-3E71-4364-8AD0-949735B5D33C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{707BB7F9-3E71-4364-8AD0-949735B5D33C}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{707BB7F9-3E71-4364-8AD0-949735B5D33C}.Debug|x64.Build.0 = Debug|Any CPU
+		{707BB7F9-3E71-4364-8AD0-949735B5D33C}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{707BB7F9-3E71-4364-8AD0-949735B5D33C}.Debug|x86.Build.0 = Debug|Any CPU
+		{707BB7F9-3E71-4364-8AD0-949735B5D33C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{707BB7F9-3E71-4364-8AD0-949735B5D33C}.Release|Any CPU.Build.0 = Release|Any CPU
+		{707BB7F9-3E71-4364-8AD0-949735B5D33C}.Release|x64.ActiveCfg = Release|Any CPU
+		{707BB7F9-3E71-4364-8AD0-949735B5D33C}.Release|x64.Build.0 = Release|Any CPU
+		{707BB7F9-3E71-4364-8AD0-949735B5D33C}.Release|x86.ActiveCfg = Release|Any CPU
+		{707BB7F9-3E71-4364-8AD0-949735B5D33C}.Release|x86.Build.0 = Release|Any CPU
+		{E09006B7-2022-43CD-A0D9-127282F95A57}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{E09006B7-2022-43CD-A0D9-127282F95A57}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{E09006B7-2022-43CD-A0D9-127282F95A57}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{E09006B7-2022-43CD-A0D9-127282F95A57}.Debug|x64.Build.0 = Debug|Any CPU
+		{E09006B7-2022-43CD-A0D9-127282F95A57}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{E09006B7-2022-43CD-A0D9-127282F95A57}.Debug|x86.Build.0 = Debug|Any CPU
+		{E09006B7-2022-43CD-A0D9-127282F95A57}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{E09006B7-2022-43CD-A0D9-127282F95A57}.Release|Any CPU.Build.0 = Release|Any CPU
+		{E09006B7-2022-43CD-A0D9-127282F95A57}.Release|x64.ActiveCfg = Release|Any CPU
+		{E09006B7-2022-43CD-A0D9-127282F95A57}.Release|x64.Build.0 = Release|Any CPU
+		{E09006B7-2022-43CD-A0D9-127282F95A57}.Release|x86.ActiveCfg = Release|Any CPU
+		{E09006B7-2022-43CD-A0D9-127282F95A57}.Release|x86.Build.0 = Release|Any CPU
+		{61E8C8E2-1CF4-42DA-8822-AFEC7FA47F16}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{61E8C8E2-1CF4-42DA-8822-AFEC7FA47F16}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{61E8C8E2-1CF4-42DA-8822-AFEC7FA47F16}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{61E8C8E2-1CF4-42DA-8822-AFEC7FA47F16}.Debug|x64.Build.0 = Debug|Any CPU
+		{61E8C8E2-1CF4-42DA-8822-AFEC7FA47F16}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{61E8C8E2-1CF4-42DA-8822-AFEC7FA47F16}.Debug|x86.Build.0 = Debug|Any CPU
+		{61E8C8E2-1CF4-42DA-8822-AFEC7FA47F16}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{61E8C8E2-1CF4-42DA-8822-AFEC7FA47F16}.Release|Any CPU.Build.0 = Release|Any CPU
+		{61E8C8E2-1CF4-42DA-8822-AFEC7FA47F16}.Release|x64.ActiveCfg = Release|Any CPU
+		{61E8C8E2-1CF4-42DA-8822-AFEC7FA47F16}.Release|x64.Build.0 = Release|Any CPU
+		{61E8C8E2-1CF4-42DA-8822-AFEC7FA47F16}.Release|x86.ActiveCfg = Release|Any CPU
+		{61E8C8E2-1CF4-42DA-8822-AFEC7FA47F16}.Release|x86.Build.0 = Release|Any CPU
+		{1F501D4D-CEA4-445B-86C9-7215A6811368}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{1F501D4D-CEA4-445B-86C9-7215A6811368}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{1F501D4D-CEA4-445B-86C9-7215A6811368}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{1F501D4D-CEA4-445B-86C9-7215A6811368}.Debug|x64.Build.0 = Debug|Any CPU
+		{1F501D4D-CEA4-445B-86C9-7215A6811368}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{1F501D4D-CEA4-445B-86C9-7215A6811368}.Debug|x86.Build.0 = Debug|Any CPU
+		{1F501D4D-CEA4-445B-86C9-7215A6811368}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{1F501D4D-CEA4-445B-86C9-7215A6811368}.Release|Any CPU.Build.0 = Release|Any CPU
+		{1F501D4D-CEA4-445B-86C9-7215A6811368}.Release|x64.ActiveCfg = Release|Any CPU
+		{1F501D4D-CEA4-445B-86C9-7215A6811368}.Release|x64.Build.0 = Release|Any CPU
+		{1F501D4D-CEA4-445B-86C9-7215A6811368}.Release|x86.ActiveCfg = Release|Any CPU
+		{1F501D4D-CEA4-445B-86C9-7215A6811368}.Release|x86.Build.0 = Release|Any CPU
+		{B5037DC9-2690-42FA-8725-514E4A9EFEAD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{B5037DC9-2690-42FA-8725-514E4A9EFEAD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{B5037DC9-2690-42FA-8725-514E4A9EFEAD}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{B5037DC9-2690-42FA-8725-514E4A9EFEAD}.Debug|x64.Build.0 = Debug|Any CPU
+		{B5037DC9-2690-42FA-8725-514E4A9EFEAD}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{B5037DC9-2690-42FA-8725-514E4A9EFEAD}.Debug|x86.Build.0 = Debug|Any CPU
+		{B5037DC9-2690-42FA-8725-514E4A9EFEAD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{B5037DC9-2690-42FA-8725-514E4A9EFEAD}.Release|Any CPU.Build.0 = Release|Any CPU
+		{B5037DC9-2690-42FA-8725-514E4A9EFEAD}.Release|x64.ActiveCfg = Release|Any CPU
+		{B5037DC9-2690-42FA-8725-514E4A9EFEAD}.Release|x64.Build.0 = Release|Any CPU
+		{B5037DC9-2690-42FA-8725-514E4A9EFEAD}.Release|x86.ActiveCfg = Release|Any CPU
+		{B5037DC9-2690-42FA-8725-514E4A9EFEAD}.Release|x86.Build.0 = Release|Any CPU
+		{AC7782F2-1F03-4615-A600-A7FE0FDEC5E5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{AC7782F2-1F03-4615-A600-A7FE0FDEC5E5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{AC7782F2-1F03-4615-A600-A7FE0FDEC5E5}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{AC7782F2-1F03-4615-A600-A7FE0FDEC5E5}.Debug|x64.Build.0 = Debug|Any CPU
+		{AC7782F2-1F03-4615-A600-A7FE0FDEC5E5}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{AC7782F2-1F03-4615-A600-A7FE0FDEC5E5}.Debug|x86.Build.0 = Debug|Any CPU
+		{AC7782F2-1F03-4615-A600-A7FE0FDEC5E5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{AC7782F2-1F03-4615-A600-A7FE0FDEC5E5}.Release|Any CPU.Build.0 = Release|Any CPU
+		{AC7782F2-1F03-4615-A600-A7FE0FDEC5E5}.Release|x64.ActiveCfg = Release|Any CPU
+		{AC7782F2-1F03-4615-A600-A7FE0FDEC5E5}.Release|x64.Build.0 = Release|Any CPU
+		{AC7782F2-1F03-4615-A600-A7FE0FDEC5E5}.Release|x86.ActiveCfg = Release|Any CPU
+		{AC7782F2-1F03-4615-A600-A7FE0FDEC5E5}.Release|x86.Build.0 = Release|Any CPU
+		{D5C02B69-4E7B-4628-8BDA-B622A2FB2A97}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{D5C02B69-4E7B-4628-8BDA-B622A2FB2A97}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{D5C02B69-4E7B-4628-8BDA-B622A2FB2A97}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{D5C02B69-4E7B-4628-8BDA-B622A2FB2A97}.Debug|x64.Build.0 = Debug|Any CPU
+		{D5C02B69-4E7B-4628-8BDA-B622A2FB2A97}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{D5C02B69-4E7B-4628-8BDA-B622A2FB2A97}.Debug|x86.Build.0 = Debug|Any CPU
+		{D5C02B69-4E7B-4628-8BDA-B622A2FB2A97}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{D5C02B69-4E7B-4628-8BDA-B622A2FB2A97}.Release|Any CPU.Build.0 = Release|Any CPU
+		{D5C02B69-4E7B-4628-8BDA-B622A2FB2A97}.Release|x64.ActiveCfg = Release|Any CPU
+		{D5C02B69-4E7B-4628-8BDA-B622A2FB2A97}.Release|x64.Build.0 = Release|Any CPU
+		{D5C02B69-4E7B-4628-8BDA-B622A2FB2A97}.Release|x86.ActiveCfg = Release|Any CPU
+		{D5C02B69-4E7B-4628-8BDA-B622A2FB2A97}.Release|x86.Build.0 = Release|Any CPU
+		{74F10D31-161F-49A4-ACD7-282211447CE4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{74F10D31-161F-49A4-ACD7-282211447CE4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{74F10D31-161F-49A4-ACD7-282211447CE4}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{74F10D31-161F-49A4-ACD7-282211447CE4}.Debug|x64.Build.0 = Debug|Any CPU
+		{74F10D31-161F-49A4-ACD7-282211447CE4}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{74F10D31-161F-49A4-ACD7-282211447CE4}.Debug|x86.Build.0 = Debug|Any CPU
+		{74F10D31-161F-49A4-ACD7-282211447CE4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{74F10D31-161F-49A4-ACD7-282211447CE4}.Release|Any CPU.Build.0 = Release|Any CPU
+		{74F10D31-161F-49A4-ACD7-282211447CE4}.Release|x64.ActiveCfg = Release|Any CPU
+		{74F10D31-161F-49A4-ACD7-282211447CE4}.Release|x64.Build.0 = Release|Any CPU
+		{74F10D31-161F-49A4-ACD7-282211447CE4}.Release|x86.ActiveCfg = Release|Any CPU
+		{74F10D31-161F-49A4-ACD7-282211447CE4}.Release|x86.Build.0 = Release|Any CPU
+		{DBA8E5FE-DE74-4E24-A9A2-0FBBCC1C2792}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{DBA8E5FE-DE74-4E24-A9A2-0FBBCC1C2792}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{DBA8E5FE-DE74-4E24-A9A2-0FBBCC1C2792}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{DBA8E5FE-DE74-4E24-A9A2-0FBBCC1C2792}.Debug|x64.Build.0 = Debug|Any CPU
+		{DBA8E5FE-DE74-4E24-A9A2-0FBBCC1C2792}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{DBA8E5FE-DE74-4E24-A9A2-0FBBCC1C2792}.Debug|x86.Build.0 = Debug|Any CPU
+		{DBA8E5FE-DE74-4E24-A9A2-0FBBCC1C2792}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{DBA8E5FE-DE74-4E24-A9A2-0FBBCC1C2792}.Release|Any CPU.Build.0 = Release|Any CPU
+		{DBA8E5FE-DE74-4E24-A9A2-0FBBCC1C2792}.Release|x64.ActiveCfg = Release|Any CPU
+		{DBA8E5FE-DE74-4E24-A9A2-0FBBCC1C2792}.Release|x64.Build.0 = Release|Any CPU
+		{DBA8E5FE-DE74-4E24-A9A2-0FBBCC1C2792}.Release|x86.ActiveCfg = Release|Any CPU
+		{DBA8E5FE-DE74-4E24-A9A2-0FBBCC1C2792}.Release|x86.Build.0 = Release|Any CPU
+		{2BBA2091-C991-4696-B70F-5C2D114D5674}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{2BBA2091-C991-4696-B70F-5C2D114D5674}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{2BBA2091-C991-4696-B70F-5C2D114D5674}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{2BBA2091-C991-4696-B70F-5C2D114D5674}.Debug|x64.Build.0 = Debug|Any CPU
+		{2BBA2091-C991-4696-B70F-5C2D114D5674}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{2BBA2091-C991-4696-B70F-5C2D114D5674}.Debug|x86.Build.0 = Debug|Any CPU
+		{2BBA2091-C991-4696-B70F-5C2D114D5674}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{2BBA2091-C991-4696-B70F-5C2D114D5674}.Release|Any CPU.Build.0 = Release|Any CPU
+		{2BBA2091-C991-4696-B70F-5C2D114D5674}.Release|x64.ActiveCfg = Release|Any CPU
+		{2BBA2091-C991-4696-B70F-5C2D114D5674}.Release|x64.Build.0 = Release|Any CPU
+		{2BBA2091-C991-4696-B70F-5C2D114D5674}.Release|x86.ActiveCfg = Release|Any CPU
+		{2BBA2091-C991-4696-B70F-5C2D114D5674}.Release|x86.Build.0 = Release|Any CPU
+		{D9E125B3-8FFD-47CE-9C0E-FF5CEAF633AE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{D9E125B3-8FFD-47CE-9C0E-FF5CEAF633AE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{D9E125B3-8FFD-47CE-9C0E-FF5CEAF633AE}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{D9E125B3-8FFD-47CE-9C0E-FF5CEAF633AE}.Debug|x64.Build.0 = Debug|Any CPU
+		{D9E125B3-8FFD-47CE-9C0E-FF5CEAF633AE}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{D9E125B3-8FFD-47CE-9C0E-FF5CEAF633AE}.Debug|x86.Build.0 = Debug|Any CPU
+		{D9E125B3-8FFD-47CE-9C0E-FF5CEAF633AE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{D9E125B3-8FFD-47CE-9C0E-FF5CEAF633AE}.Release|Any CPU.Build.0 = Release|Any CPU
+		{D9E125B3-8FFD-47CE-9C0E-FF5CEAF633AE}.Release|x64.ActiveCfg = Release|Any CPU
+		{D9E125B3-8FFD-47CE-9C0E-FF5CEAF633AE}.Release|x64.Build.0 = Release|Any CPU
+		{D9E125B3-8FFD-47CE-9C0E-FF5CEAF633AE}.Release|x86.ActiveCfg = Release|Any CPU
+		{D9E125B3-8FFD-47CE-9C0E-FF5CEAF633AE}.Release|x86.Build.0 = Release|Any CPU
+		{DA1687B8-10E4-4F50-B074-60D20912A9BD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{DA1687B8-10E4-4F50-B074-60D20912A9BD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{DA1687B8-10E4-4F50-B074-60D20912A9BD}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{DA1687B8-10E4-4F50-B074-60D20912A9BD}.Debug|x64.Build.0 = Debug|Any CPU
+		{DA1687B8-10E4-4F50-B074-60D20912A9BD}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{DA1687B8-10E4-4F50-B074-60D20912A9BD}.Debug|x86.Build.0 = Debug|Any CPU
+		{DA1687B8-10E4-4F50-B074-60D20912A9BD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{DA1687B8-10E4-4F50-B074-60D20912A9BD}.Release|Any CPU.Build.0 = Release|Any CPU
+		{DA1687B8-10E4-4F50-B074-60D20912A9BD}.Release|x64.ActiveCfg = Release|Any CPU
+		{DA1687B8-10E4-4F50-B074-60D20912A9BD}.Release|x64.Build.0 = Release|Any CPU
+		{DA1687B8-10E4-4F50-B074-60D20912A9BD}.Release|x86.ActiveCfg = Release|Any CPU
+		{DA1687B8-10E4-4F50-B074-60D20912A9BD}.Release|x86.Build.0 = Release|Any CPU
+		{97CE175F-9290-479F-A6EB-EEF4C6816624}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{97CE175F-9290-479F-A6EB-EEF4C6816624}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{97CE175F-9290-479F-A6EB-EEF4C6816624}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{97CE175F-9290-479F-A6EB-EEF4C6816624}.Debug|x64.Build.0 = Debug|Any CPU
+		{97CE175F-9290-479F-A6EB-EEF4C6816624}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{97CE175F-9290-479F-A6EB-EEF4C6816624}.Debug|x86.Build.0 = Debug|Any CPU
+		{97CE175F-9290-479F-A6EB-EEF4C6816624}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{97CE175F-9290-479F-A6EB-EEF4C6816624}.Release|Any CPU.Build.0 = Release|Any CPU
+		{97CE175F-9290-479F-A6EB-EEF4C6816624}.Release|x64.ActiveCfg = Release|Any CPU
+		{97CE175F-9290-479F-A6EB-EEF4C6816624}.Release|x64.Build.0 = Release|Any CPU
+		{97CE175F-9290-479F-A6EB-EEF4C6816624}.Release|x86.ActiveCfg = Release|Any CPU
+		{97CE175F-9290-479F-A6EB-EEF4C6816624}.Release|x86.Build.0 = Release|Any CPU
+		{492ADBEC-D788-4039-A544-E1510D9328C1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{492ADBEC-D788-4039-A544-E1510D9328C1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{492ADBEC-D788-4039-A544-E1510D9328C1}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{492ADBEC-D788-4039-A544-E1510D9328C1}.Debug|x64.Build.0 = Debug|Any CPU
+		{492ADBEC-D788-4039-A544-E1510D9328C1}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{492ADBEC-D788-4039-A544-E1510D9328C1}.Debug|x86.Build.0 = Debug|Any CPU
+		{492ADBEC-D788-4039-A544-E1510D9328C1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{492ADBEC-D788-4039-A544-E1510D9328C1}.Release|Any CPU.Build.0 = Release|Any CPU
+		{492ADBEC-D788-4039-A544-E1510D9328C1}.Release|x64.ActiveCfg = Release|Any CPU
+		{492ADBEC-D788-4039-A544-E1510D9328C1}.Release|x64.Build.0 = Release|Any CPU
+		{492ADBEC-D788-4039-A544-E1510D9328C1}.Release|x86.ActiveCfg = Release|Any CPU
+		{492ADBEC-D788-4039-A544-E1510D9328C1}.Release|x86.Build.0 = Release|Any CPU
+		{B0A51484-8A24-4B9C-996B-415EB7733D56}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{B0A51484-8A24-4B9C-996B-415EB7733D56}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{B0A51484-8A24-4B9C-996B-415EB7733D56}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{B0A51484-8A24-4B9C-996B-415EB7733D56}.Debug|x64.Build.0 = Debug|Any CPU
+		{B0A51484-8A24-4B9C-996B-415EB7733D56}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{B0A51484-8A24-4B9C-996B-415EB7733D56}.Debug|x86.Build.0 = Debug|Any CPU
+		{B0A51484-8A24-4B9C-996B-415EB7733D56}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{B0A51484-8A24-4B9C-996B-415EB7733D56}.Release|Any CPU.Build.0 = Release|Any CPU
+		{B0A51484-8A24-4B9C-996B-415EB7733D56}.Release|x64.ActiveCfg = Release|Any CPU
+		{B0A51484-8A24-4B9C-996B-415EB7733D56}.Release|x64.Build.0 = Release|Any CPU
+		{B0A51484-8A24-4B9C-996B-415EB7733D56}.Release|x86.ActiveCfg = Release|Any CPU
+		{B0A51484-8A24-4B9C-996B-415EB7733D56}.Release|x86.Build.0 = Release|Any CPU
+		{D809A2F0-0B7B-4B5D-B70C-05EFD3203301}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{D809A2F0-0B7B-4B5D-B70C-05EFD3203301}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{D809A2F0-0B7B-4B5D-B70C-05EFD3203301}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{D809A2F0-0B7B-4B5D-B70C-05EFD3203301}.Debug|x64.Build.0 = Debug|Any CPU
+		{D809A2F0-0B7B-4B5D-B70C-05EFD3203301}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{D809A2F0-0B7B-4B5D-B70C-05EFD3203301}.Debug|x86.Build.0 = Debug|Any CPU
+		{D809A2F0-0B7B-4B5D-B70C-05EFD3203301}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{D809A2F0-0B7B-4B5D-B70C-05EFD3203301}.Release|Any CPU.Build.0 = Release|Any CPU
+		{D809A2F0-0B7B-4B5D-B70C-05EFD3203301}.Release|x64.ActiveCfg = Release|Any CPU
+		{D809A2F0-0B7B-4B5D-B70C-05EFD3203301}.Release|x64.Build.0 = Release|Any CPU
+		{D809A2F0-0B7B-4B5D-B70C-05EFD3203301}.Release|x86.ActiveCfg = Release|Any CPU
+		{D809A2F0-0B7B-4B5D-B70C-05EFD3203301}.Release|x86.Build.0 = Release|Any CPU
+		{365365A2-18A9-4EF8-A4CB-F096DAF078D9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{365365A2-18A9-4EF8-A4CB-F096DAF078D9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{365365A2-18A9-4EF8-A4CB-F096DAF078D9}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{365365A2-18A9-4EF8-A4CB-F096DAF078D9}.Debug|x64.Build.0 = Debug|Any CPU
+		{365365A2-18A9-4EF8-A4CB-F096DAF078D9}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{365365A2-18A9-4EF8-A4CB-F096DAF078D9}.Debug|x86.Build.0 = Debug|Any CPU
+		{365365A2-18A9-4EF8-A4CB-F096DAF078D9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{365365A2-18A9-4EF8-A4CB-F096DAF078D9}.Release|Any CPU.Build.0 = Release|Any CPU
+		{365365A2-18A9-4EF8-A4CB-F096DAF078D9}.Release|x64.ActiveCfg = Release|Any CPU
+		{365365A2-18A9-4EF8-A4CB-F096DAF078D9}.Release|x64.Build.0 = Release|Any CPU
+		{365365A2-18A9-4EF8-A4CB-F096DAF078D9}.Release|x86.ActiveCfg = Release|Any CPU
+		{365365A2-18A9-4EF8-A4CB-F096DAF078D9}.Release|x86.Build.0 = Release|Any CPU
+		{92D23FF6-3C79-46CD-98ED-24DA16F8FDC3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{92D23FF6-3C79-46CD-98ED-24DA16F8FDC3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{92D23FF6-3C79-46CD-98ED-24DA16F8FDC3}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{92D23FF6-3C79-46CD-98ED-24DA16F8FDC3}.Debug|x64.Build.0 = Debug|Any CPU
+		{92D23FF6-3C79-46CD-98ED-24DA16F8FDC3}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{92D23FF6-3C79-46CD-98ED-24DA16F8FDC3}.Debug|x86.Build.0 = Debug|Any CPU
+		{92D23FF6-3C79-46CD-98ED-24DA16F8FDC3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{92D23FF6-3C79-46CD-98ED-24DA16F8FDC3}.Release|Any CPU.Build.0 = Release|Any CPU
+		{92D23FF6-3C79-46CD-98ED-24DA16F8FDC3}.Release|x64.ActiveCfg = Release|Any CPU
+		{92D23FF6-3C79-46CD-98ED-24DA16F8FDC3}.Release|x64.Build.0 = Release|Any CPU
+		{92D23FF6-3C79-46CD-98ED-24DA16F8FDC3}.Release|x86.ActiveCfg = Release|Any CPU
+		{92D23FF6-3C79-46CD-98ED-24DA16F8FDC3}.Release|x86.Build.0 = Release|Any CPU
+		{D8C72607-7E3E-4124-A065-A57F23E9F2BA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{D8C72607-7E3E-4124-A065-A57F23E9F2BA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{D8C72607-7E3E-4124-A065-A57F23E9F2BA}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{D8C72607-7E3E-4124-A065-A57F23E9F2BA}.Debug|x64.Build.0 = Debug|Any CPU
+		{D8C72607-7E3E-4124-A065-A57F23E9F2BA}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{D8C72607-7E3E-4124-A065-A57F23E9F2BA}.Debug|x86.Build.0 = Debug|Any CPU
+		{D8C72607-7E3E-4124-A065-A57F23E9F2BA}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{D8C72607-7E3E-4124-A065-A57F23E9F2BA}.Release|Any CPU.Build.0 = Release|Any CPU
+		{D8C72607-7E3E-4124-A065-A57F23E9F2BA}.Release|x64.ActiveCfg = Release|Any CPU
+		{D8C72607-7E3E-4124-A065-A57F23E9F2BA}.Release|x64.Build.0 = Release|Any CPU
+		{D8C72607-7E3E-4124-A065-A57F23E9F2BA}.Release|x86.ActiveCfg = Release|Any CPU
+		{D8C72607-7E3E-4124-A065-A57F23E9F2BA}.Release|x86.Build.0 = Release|Any CPU
+		{4272499A-C424-41DF-B6B8-DF3C19416BE2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{4272499A-C424-41DF-B6B8-DF3C19416BE2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{4272499A-C424-41DF-B6B8-DF3C19416BE2}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{4272499A-C424-41DF-B6B8-DF3C19416BE2}.Debug|x64.Build.0 = Debug|Any CPU
+		{4272499A-C424-41DF-B6B8-DF3C19416BE2}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{4272499A-C424-41DF-B6B8-DF3C19416BE2}.Debug|x86.Build.0 = Debug|Any CPU
+		{4272499A-C424-41DF-B6B8-DF3C19416BE2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{4272499A-C424-41DF-B6B8-DF3C19416BE2}.Release|Any CPU.Build.0 = Release|Any CPU
+		{4272499A-C424-41DF-B6B8-DF3C19416BE2}.Release|x64.ActiveCfg = Release|Any CPU
+		{4272499A-C424-41DF-B6B8-DF3C19416BE2}.Release|x64.Build.0 = Release|Any CPU
+		{4272499A-C424-41DF-B6B8-DF3C19416BE2}.Release|x86.ActiveCfg = Release|Any CPU
+		{4272499A-C424-41DF-B6B8-DF3C19416BE2}.Release|x86.Build.0 = Release|Any CPU
+		{E01CD19E-B0BE-4480-8B8E-3701DE862E62}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{E01CD19E-B0BE-4480-8B8E-3701DE862E62}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{E01CD19E-B0BE-4480-8B8E-3701DE862E62}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{E01CD19E-B0BE-4480-8B8E-3701DE862E62}.Debug|x64.Build.0 = Debug|Any CPU
+		{E01CD19E-B0BE-4480-8B8E-3701DE862E62}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{E01CD19E-B0BE-4480-8B8E-3701DE862E62}.Debug|x86.Build.0 = Debug|Any CPU
+		{E01CD19E-B0BE-4480-8B8E-3701DE862E62}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{E01CD19E-B0BE-4480-8B8E-3701DE862E62}.Release|Any CPU.Build.0 = Release|Any CPU
+		{E01CD19E-B0BE-4480-8B8E-3701DE862E62}.Release|x64.ActiveCfg = Release|Any CPU
+		{E01CD19E-B0BE-4480-8B8E-3701DE862E62}.Release|x64.Build.0 = Release|Any CPU
+		{E01CD19E-B0BE-4480-8B8E-3701DE862E62}.Release|x86.ActiveCfg = Release|Any CPU
+		{E01CD19E-B0BE-4480-8B8E-3701DE862E62}.Release|x86.Build.0 = Release|Any CPU
+		{06E9B7E9-3ABA-4766-BAF8-8904942470A9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{06E9B7E9-3ABA-4766-BAF8-8904942470A9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{06E9B7E9-3ABA-4766-BAF8-8904942470A9}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{06E9B7E9-3ABA-4766-BAF8-8904942470A9}.Debug|x64.Build.0 = Debug|Any CPU
+		{06E9B7E9-3ABA-4766-BAF8-8904942470A9}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{06E9B7E9-3ABA-4766-BAF8-8904942470A9}.Debug|x86.Build.0 = Debug|Any CPU
+		{06E9B7E9-3ABA-4766-BAF8-8904942470A9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{06E9B7E9-3ABA-4766-BAF8-8904942470A9}.Release|Any CPU.Build.0 = Release|Any CPU
+		{06E9B7E9-3ABA-4766-BAF8-8904942470A9}.Release|x64.ActiveCfg = Release|Any CPU
+		{06E9B7E9-3ABA-4766-BAF8-8904942470A9}.Release|x64.Build.0 = Release|Any CPU
+		{06E9B7E9-3ABA-4766-BAF8-8904942470A9}.Release|x86.ActiveCfg = Release|Any CPU
+		{06E9B7E9-3ABA-4766-BAF8-8904942470A9}.Release|x86.Build.0 = Release|Any CPU
+		{AA87CAA1-2456-4108-A02F-E16B9B8A98EE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{AA87CAA1-2456-4108-A02F-E16B9B8A98EE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{AA87CAA1-2456-4108-A02F-E16B9B8A98EE}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{AA87CAA1-2456-4108-A02F-E16B9B8A98EE}.Debug|x64.Build.0 = Debug|Any CPU
+		{AA87CAA1-2456-4108-A02F-E16B9B8A98EE}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{AA87CAA1-2456-4108-A02F-E16B9B8A98EE}.Debug|x86.Build.0 = Debug|Any CPU
+		{AA87CAA1-2456-4108-A02F-E16B9B8A98EE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{AA87CAA1-2456-4108-A02F-E16B9B8A98EE}.Release|Any CPU.Build.0 = Release|Any CPU
+		{AA87CAA1-2456-4108-A02F-E16B9B8A98EE}.Release|x64.ActiveCfg = Release|Any CPU
+		{AA87CAA1-2456-4108-A02F-E16B9B8A98EE}.Release|x64.Build.0 = Release|Any CPU
+		{AA87CAA1-2456-4108-A02F-E16B9B8A98EE}.Release|x86.ActiveCfg = Release|Any CPU
+		{AA87CAA1-2456-4108-A02F-E16B9B8A98EE}.Release|x86.Build.0 = Release|Any CPU
+		{DC2F67CC-79DD-4F7C-AFD1-AC0D12B331C9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{DC2F67CC-79DD-4F7C-AFD1-AC0D12B331C9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{DC2F67CC-79DD-4F7C-AFD1-AC0D12B331C9}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{DC2F67CC-79DD-4F7C-AFD1-AC0D12B331C9}.Debug|x64.Build.0 = Debug|Any CPU
+		{DC2F67CC-79DD-4F7C-AFD1-AC0D12B331C9}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{DC2F67CC-79DD-4F7C-AFD1-AC0D12B331C9}.Debug|x86.Build.0 = Debug|Any CPU
+		{DC2F67CC-79DD-4F7C-AFD1-AC0D12B331C9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{DC2F67CC-79DD-4F7C-AFD1-AC0D12B331C9}.Release|Any CPU.Build.0 = Release|Any CPU
+		{DC2F67CC-79DD-4F7C-AFD1-AC0D12B331C9}.Release|x64.ActiveCfg = Release|Any CPU
+		{DC2F67CC-79DD-4F7C-AFD1-AC0D12B331C9}.Release|x64.Build.0 = Release|Any CPU
+		{DC2F67CC-79DD-4F7C-AFD1-AC0D12B331C9}.Release|x86.ActiveCfg = Release|Any CPU
+		{DC2F67CC-79DD-4F7C-AFD1-AC0D12B331C9}.Release|x86.Build.0 = Release|Any CPU
+		{56DA124E-A37A-44DE-9DED-2764DDF0816C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{56DA124E-A37A-44DE-9DED-2764DDF0816C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{56DA124E-A37A-44DE-9DED-2764DDF0816C}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{56DA124E-A37A-44DE-9DED-2764DDF0816C}.Debug|x64.Build.0 = Debug|Any CPU
+		{56DA124E-A37A-44DE-9DED-2764DDF0816C}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{56DA124E-A37A-44DE-9DED-2764DDF0816C}.Debug|x86.Build.0 = Debug|Any CPU
+		{56DA124E-A37A-44DE-9DED-2764DDF0816C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{56DA124E-A37A-44DE-9DED-2764DDF0816C}.Release|Any CPU.Build.0 = Release|Any CPU
+		{56DA124E-A37A-44DE-9DED-2764DDF0816C}.Release|x64.ActiveCfg = Release|Any CPU
+		{56DA124E-A37A-44DE-9DED-2764DDF0816C}.Release|x64.Build.0 = Release|Any CPU
+		{56DA124E-A37A-44DE-9DED-2764DDF0816C}.Release|x86.ActiveCfg = Release|Any CPU
+		{56DA124E-A37A-44DE-9DED-2764DDF0816C}.Release|x86.Build.0 = Release|Any CPU
+		{527DB7FD-B118-4E49-B68A-55AAE9BFA109}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{527DB7FD-B118-4E49-B68A-55AAE9BFA109}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{527DB7FD-B118-4E49-B68A-55AAE9BFA109}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{527DB7FD-B118-4E49-B68A-55AAE9BFA109}.Debug|x64.Build.0 = Debug|Any CPU
+		{527DB7FD-B118-4E49-B68A-55AAE9BFA109}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{527DB7FD-B118-4E49-B68A-55AAE9BFA109}.Debug|x86.Build.0 = Debug|Any CPU
+		{527DB7FD-B118-4E49-B68A-55AAE9BFA109}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{527DB7FD-B118-4E49-B68A-55AAE9BFA109}.Release|Any CPU.Build.0 = Release|Any CPU
+		{527DB7FD-B118-4E49-B68A-55AAE9BFA109}.Release|x64.ActiveCfg = Release|Any CPU
+		{527DB7FD-B118-4E49-B68A-55AAE9BFA109}.Release|x64.Build.0 = Release|Any CPU
+		{527DB7FD-B118-4E49-B68A-55AAE9BFA109}.Release|x86.ActiveCfg = Release|Any CPU
+		{527DB7FD-B118-4E49-B68A-55AAE9BFA109}.Release|x86.Build.0 = Release|Any CPU
+		{BB6E57A6-5434-46D4-AA09-72DC29794506}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{BB6E57A6-5434-46D4-AA09-72DC29794506}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{BB6E57A6-5434-46D4-AA09-72DC29794506}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{BB6E57A6-5434-46D4-AA09-72DC29794506}.Debug|x64.Build.0 = Debug|Any CPU
+		{BB6E57A6-5434-46D4-AA09-72DC29794506}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{BB6E57A6-5434-46D4-AA09-72DC29794506}.Debug|x86.Build.0 = Debug|Any CPU
+		{BB6E57A6-5434-46D4-AA09-72DC29794506}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{BB6E57A6-5434-46D4-AA09-72DC29794506}.Release|Any CPU.Build.0 = Release|Any CPU
+		{BB6E57A6-5434-46D4-AA09-72DC29794506}.Release|x64.ActiveCfg = Release|Any CPU
+		{BB6E57A6-5434-46D4-AA09-72DC29794506}.Release|x64.Build.0 = Release|Any CPU
+		{BB6E57A6-5434-46D4-AA09-72DC29794506}.Release|x86.ActiveCfg = Release|Any CPU
+		{BB6E57A6-5434-46D4-AA09-72DC29794506}.Release|x86.Build.0 = Release|Any CPU
+		{557608E1-1DF3-4A24-80EB-C557C676A9CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{557608E1-1DF3-4A24-80EB-C557C676A9CE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{557608E1-1DF3-4A24-80EB-C557C676A9CE}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{557608E1-1DF3-4A24-80EB-C557C676A9CE}.Debug|x64.Build.0 = Debug|Any CPU
+		{557608E1-1DF3-4A24-80EB-C557C676A9CE}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{557608E1-1DF3-4A24-80EB-C557C676A9CE}.Debug|x86.Build.0 = Debug|Any CPU
+		{557608E1-1DF3-4A24-80EB-C557C676A9CE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{557608E1-1DF3-4A24-80EB-C557C676A9CE}.Release|Any CPU.Build.0 = Release|Any CPU
+		{557608E1-1DF3-4A24-80EB-C557C676A9CE}.Release|x64.ActiveCfg = Release|Any CPU
+		{557608E1-1DF3-4A24-80EB-C557C676A9CE}.Release|x64.Build.0 = Release|Any CPU
+		{557608E1-1DF3-4A24-80EB-C557C676A9CE}.Release|x86.ActiveCfg = Release|Any CPU
+		{557608E1-1DF3-4A24-80EB-C557C676A9CE}.Release|x86.Build.0 = Release|Any CPU
+		{9241EDB4-8FCE-4F8E-9727-C9557C59907C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{9241EDB4-8FCE-4F8E-9727-C9557C59907C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{9241EDB4-8FCE-4F8E-9727-C9557C59907C}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{9241EDB4-8FCE-4F8E-9727-C9557C59907C}.Debug|x64.Build.0 = Debug|Any CPU
+		{9241EDB4-8FCE-4F8E-9727-C9557C59907C}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{9241EDB4-8FCE-4F8E-9727-C9557C59907C}.Debug|x86.Build.0 = Debug|Any CPU
+		{9241EDB4-8FCE-4F8E-9727-C9557C59907C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{9241EDB4-8FCE-4F8E-9727-C9557C59907C}.Release|Any CPU.Build.0 = Release|Any CPU
+		{9241EDB4-8FCE-4F8E-9727-C9557C59907C}.Release|x64.ActiveCfg = Release|Any CPU
+		{9241EDB4-8FCE-4F8E-9727-C9557C59907C}.Release|x64.Build.0 = Release|Any CPU
+		{9241EDB4-8FCE-4F8E-9727-C9557C59907C}.Release|x86.ActiveCfg = Release|Any CPU
+		{9241EDB4-8FCE-4F8E-9727-C9557C59907C}.Release|x86.Build.0 = Release|Any CPU
+		{3FAF725B-A628-4531-9F61-499660CD4347}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{3FAF725B-A628-4531-9F61-499660CD4347}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{3FAF725B-A628-4531-9F61-499660CD4347}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{3FAF725B-A628-4531-9F61-499660CD4347}.Debug|x64.Build.0 = Debug|Any CPU
+		{3FAF725B-A628-4531-9F61-499660CD4347}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{3FAF725B-A628-4531-9F61-499660CD4347}.Debug|x86.Build.0 = Debug|Any CPU
+		{3FAF725B-A628-4531-9F61-499660CD4347}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{3FAF725B-A628-4531-9F61-499660CD4347}.Release|Any CPU.Build.0 = Release|Any CPU
+		{3FAF725B-A628-4531-9F61-499660CD4347}.Release|x64.ActiveCfg = Release|Any CPU
+		{3FAF725B-A628-4531-9F61-499660CD4347}.Release|x64.Build.0 = Release|Any CPU
+		{3FAF725B-A628-4531-9F61-499660CD4347}.Release|x86.ActiveCfg = Release|Any CPU
+		{3FAF725B-A628-4531-9F61-499660CD4347}.Release|x86.Build.0 = Release|Any CPU
+		{04262990-929C-42BF-85A9-21C25FA95617}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{04262990-929C-42BF-85A9-21C25FA95617}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{04262990-929C-42BF-85A9-21C25FA95617}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{04262990-929C-42BF-85A9-21C25FA95617}.Debug|x64.Build.0 = Debug|Any CPU
+		{04262990-929C-42BF-85A9-21C25FA95617}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{04262990-929C-42BF-85A9-21C25FA95617}.Debug|x86.Build.0 = Debug|Any CPU
+		{04262990-929C-42BF-85A9-21C25FA95617}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{04262990-929C-42BF-85A9-21C25FA95617}.Release|Any CPU.Build.0 = Release|Any CPU
+		{04262990-929C-42BF-85A9-21C25FA95617}.Release|x64.ActiveCfg = Release|Any CPU
+		{04262990-929C-42BF-85A9-21C25FA95617}.Release|x64.Build.0 = Release|Any CPU
+		{04262990-929C-42BF-85A9-21C25FA95617}.Release|x86.ActiveCfg = Release|Any CPU
+		{04262990-929C-42BF-85A9-21C25FA95617}.Release|x86.Build.0 = Release|Any CPU
+		{DC47C40A-FC38-44E4-94A4-ADE794E76309}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{DC47C40A-FC38-44E4-94A4-ADE794E76309}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{DC47C40A-FC38-44E4-94A4-ADE794E76309}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{DC47C40A-FC38-44E4-94A4-ADE794E76309}.Debug|x64.Build.0 = Debug|Any CPU
+		{DC47C40A-FC38-44E4-94A4-ADE794E76309}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{DC47C40A-FC38-44E4-94A4-ADE794E76309}.Debug|x86.Build.0 = Debug|Any CPU
+		{DC47C40A-FC38-44E4-94A4-ADE794E76309}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{DC47C40A-FC38-44E4-94A4-ADE794E76309}.Release|Any CPU.Build.0 = Release|Any CPU
+		{DC47C40A-FC38-44E4-94A4-ADE794E76309}.Release|x64.ActiveCfg = Release|Any CPU
+		{DC47C40A-FC38-44E4-94A4-ADE794E76309}.Release|x64.Build.0 = Release|Any CPU
+		{DC47C40A-FC38-44E4-94A4-ADE794E76309}.Release|x86.ActiveCfg = Release|Any CPU
+		{DC47C40A-FC38-44E4-94A4-ADE794E76309}.Release|x86.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
 	EndGlobalSection
 	GlobalSection(NestedProjects) = preSolution
-		{4D367450-96E9-4C8C-8B56-EED8ADE3A20D} = {C7B9207E-BF85-422D-9EBC-E243C399F619}
-		{2A076721-6081-4517-8329-B9E5110D6DAC} = {C7B9207E-BF85-422D-9EBC-E243C399F619}
-		{4AE0D35B-D97A-44D0-8392-C9240377DCCE} = {ADA3AE29-F6DE-49F6-8C7C-B321508CAE8E}
-		{F563ABB6-85FB-4CFC-B0D2-1D5130E8246D} = {E5DDF29D-DFC9-43E3-AC3A-5B6D54B786D5}
-		{3173A9C0-4F66-4064-83EC-3C206F1430FB} = {F5FDD4E5-6A52-4A86-BE5E-5E42CB1DC8DA}
-		{DDE4B710-6936-4E17-9CA0-54C45333ED15} = {E5DDF29D-DFC9-43E3-AC3A-5B6D54B786D5}
-		{C7B9207E-BF85-422D-9EBC-E243C399F619} = {E5DDF29D-DFC9-43E3-AC3A-5B6D54B786D5}
-		{AD41FFD8-2C0C-4F0C-9537-25C2A3A7A1F4} = {E5DDF29D-DFC9-43E3-AC3A-5B6D54B786D5}
-		{A63F9FCD-29D7-4D49-BC70-7E0F57D0BA60} = {B867E038-B3CE-43E3-9292-61568C46CDEB}
-		{32B33872-B599-4913-9F90-EDB5F9E24B18} = {E5DDF29D-DFC9-43E3-AC3A-5B6D54B786D5}
-		{7C53BB6B-5906-4753-B507-C9FCC2F7E5B7} = {2A076721-6081-4517-8329-B9E5110D6DAC}
-		{5A694793-3257-4D37-BB74-4A41B3894685} = {B867E038-B3CE-43E3-9292-61568C46CDEB}
-		{5BC2A10D-B6CA-43AE-B73C-2A41AE1039F9} = {ADA3AE29-F6DE-49F6-8C7C-B321508CAE8E}
-		{06AAAE9E-96DE-4574-97DA-9C4C7D9FE990} = {2A076721-6081-4517-8329-B9E5110D6DAC}
-		{B4335F7C-4E86-4559-821F-F1B1C75F5FAE} = {4D367450-96E9-4C8C-8B56-EED8ADE3A20D}
-		{F8996835-41F7-4663-91DF-3B5652ADC37D} = {4D367450-96E9-4C8C-8B56-EED8ADE3A20D}
-		{7FD8C650-74B3-4153-AEA1-00F4F6AF393D} = {B867E038-B3CE-43E3-9292-61568C46CDEB}
-		{B241434A-1642-44CC-AE9A-2012B5C5BD02} = {C7B9207E-BF85-422D-9EBC-E243C399F619}
-		{709C7EBE-EB93-4F6D-9491-D714B0D2E898} = {32B33872-B599-4913-9F90-EDB5F9E24B18}
-		{8B3D0F1C-0E38-4E6D-BFF1-C4FDA0CD9815} = {AD41FFD8-2C0C-4F0C-9537-25C2A3A7A1F4}
-		{8A19B1CE-9B62-4440-93B3-152DDBB39D0A} = {B867E038-B3CE-43E3-9292-61568C46CDEB}
-		{8FD8636E-AFA5-434D-8857-06D02686741A} = {ADA3AE29-F6DE-49F6-8C7C-B321508CAE8E}
-		{2838CB6F-D2C7-4C0A-A994-C72E56F16984} = {4AE0D35B-D97A-44D0-8392-C9240377DCCE}
-		{29CD3FC6-49E3-4756-B5DF-E03B46E5CD45} = {4AE0D35B-D97A-44D0-8392-C9240377DCCE}
-		{AF79BB84-BAE6-4F9A-9AD5-B0E3D7455288} = {AD41FFD8-2C0C-4F0C-9537-25C2A3A7A1F4}
-		{8C160273-0A1D-4D79-9F7B-7687B2D2F7C4} = {AD41FFD8-2C0C-4F0C-9537-25C2A3A7A1F4}
-		{43E39257-7DC1-46BD-9BD9-2319A1313D07} = {F563ABB6-85FB-4CFC-B0D2-1D5130E8246D}
-		{9088E4E4-B855-457F-AE9E-D86709A5E1F4} = {F563ABB6-85FB-4CFC-B0D2-1D5130E8246D}
-		{C57382BC-EE93-49D5-BC40-5C98AF8AA048} = {4AE0D35B-D97A-44D0-8392-C9240377DCCE}
-		{50F6820F-D058-4E68-9E15-801F893F514E} = {36A7DEB7-5F88-4BFB-B57E-79EEC9950E25}
-		{6DDD6A29-0A3E-417F-976C-5FE3FDA74055} = {B867E038-B3CE-43E3-9292-61568C46CDEB}
-		{CF3B5990-7A05-4993-AACA-D2C8D7AFF6E6} = {ADA3AE29-F6DE-49F6-8C7C-B321508CAE8E}
-		{142AA6BC-5110-486B-A34D-6878E5E2CE95} = {ADA3AE29-F6DE-49F6-8C7C-B321508CAE8E}
-		{5655AFF9-612C-4947-8221-7DB6949A6CA4} = {3173A9C0-4F66-4064-83EC-3C206F1430FB}
-		{33C361D8-CAF1-47C0-A344-251AEF4FE1FE} = {3173A9C0-4F66-4064-83EC-3C206F1430FB}
-		{CCEC81C4-1A3C-40DC-952F-074712C46180} = {DDE4B710-6936-4E17-9CA0-54C45333ED15}
-		{A42AC30B-45E3-4907-99A9-9ABDA45973D7} = {AD41FFD8-2C0C-4F0C-9537-25C2A3A7A1F4}
-		{85813607-297F-4D39-92F7-89379FD80D70} = {32B33872-B599-4913-9F90-EDB5F9E24B18}
-		{E52F5005-26EA-4764-8ECF-41D324AAA6D9} = {B867E038-B3CE-43E3-9292-61568C46CDEB}
-		{ABDBB486-6F40-4EA0-8ED1-BF995F534F13} = {B867E038-B3CE-43E3-9292-61568C46CDEB}
-		{EA44F350-F410-41B4-BA21-00CD31D17384} = {AD41FFD8-2C0C-4F0C-9537-25C2A3A7A1F4}
+		{ECE91401-329E-4615-8684-8E910D2741C4} = {E059A46B-56E3-41E2-83F4-B5D180056F3B}
+		{F000C49D-3857-42A4-918D-DA4C08691FE2} = {E059A46B-56E3-41E2-83F4-B5D180056F3B}
+		{641922CD-E6F5-41E7-A085-EE07C2A7328D} = {7260DED9-22A9-4E9D-92F4-5E8A4404DEAF}
+		{958AD6D2-174B-4B5B-BEFC-FA64B5159334} = {7260DED9-22A9-4E9D-92F4-5E8A4404DEAF}
+		{27CF854D-E98B-4853-946B-2D4EA28B8FC5} = {7260DED9-22A9-4E9D-92F4-5E8A4404DEAF}
+		{E8AD67A4-77D3-4B85-AE19-4711388B62B1} = {7260DED9-22A9-4E9D-92F4-5E8A4404DEAF}
+		{E38FDBB0-08C1-444E-A449-69C8A59D721B} = {7260DED9-22A9-4E9D-92F4-5E8A4404DEAF}
+		{A6C8050D-7C18-4585-ADCF-833AC1765847} = {7260DED9-22A9-4E9D-92F4-5E8A4404DEAF}
+		{08773DD6-6FED-4BF2-BD9F-C19D2CF919BB} = {7260DED9-22A9-4E9D-92F4-5E8A4404DEAF}
+		{A4859630-F9F7-4F5C-9FF3-6C013D7C58FA} = {7260DED9-22A9-4E9D-92F4-5E8A4404DEAF}
+		{66036B70-6C93-4E45-A1A1-819F15CA757A} = {7260DED9-22A9-4E9D-92F4-5E8A4404DEAF}
+		{A7ABAC29-F73F-456D-AE54-46842CFC2E10} = {7260DED9-22A9-4E9D-92F4-5E8A4404DEAF}
+		{FD37F740-A654-4117-BFB6-9112CE4C1D3B} = {A7ABAC29-F73F-456D-AE54-46842CFC2E10}
+		{C1E2C117-BE47-4E29-94B3-753262D97A5C} = {A7ABAC29-F73F-456D-AE54-46842CFC2E10}
+		{F16C1A7C-A2BD-4EB1-8BC8-23B1375F3B9E} = {A7ABAC29-F73F-456D-AE54-46842CFC2E10}
+		{1C4BF2D3-44A8-4A71-B031-15B983663CB0} = {A7ABAC29-F73F-456D-AE54-46842CFC2E10}
+		{C0FFB29E-4696-4875-9039-E5FA1AC5A42A} = {A7ABAC29-F73F-456D-AE54-46842CFC2E10}
+		{3B1A56F8-B3E0-4F33-A717-50BDD4FBE12E} = {A27FF193-195B-4474-8E6C-840B2E339373}
+		{E52044BD-17D3-483D-8F1D-BE9C9F091CCD} = {11F9B329-F22E-4AD3-AB38-98C55C2DC54C}
+		{74759A1D-159F-4B66-9FC1-7BE3F0DF2B2B} = {2639736B-94BF-4A6C-AFAE-E9A44FF04CD0}
+		{35A8AE1D-ED82-485E-A8E6-A357B3CB31B3} = {3D9B9B2C-E379-41BD-83D4-2E099FBDA107}
+		{8D49A92D-B4AA-4A5C-99C1-B4DCBD5491DD} = {3D9B9B2C-E379-41BD-83D4-2E099FBDA107}
+		{C987E45D-53AE-49EB-BD22-A15789B12F7F} = {3D9B9B2C-E379-41BD-83D4-2E099FBDA107}
+		{8D09F716-F010-4332-AB98-22246C0FE8AA} = {3A423375-4610-4366-B9D5-C2B29A53C50D}
+		{FE32E389-1868-4AA2-9E47-0FC823C25106} = {3A423375-4610-4366-B9D5-C2B29A53C50D}
+		{B998B96D-E3CD-440E-9BFD-8F4EDC9D6732} = {E9E9CF3C-CE9B-4282-B2BB-97EFC3872798}
+		{44E0D4F3-4430-4175-B482-0D1AEE4BB699} = {E9E9CF3C-CE9B-4282-B2BB-97EFC3872798}
+		{4C5AB32A-3C7E-4A55-96A7-1F5248CFE929} = {44E0D4F3-4430-4175-B482-0D1AEE4BB699}
+		{AF2BADF8-DA1F-4D5E-ADC2-69C7F7E7C41C} = {44E0D4F3-4430-4175-B482-0D1AEE4BB699}
+		{AD99C80B-CF2D-47D1-BBA0-BEF18BAEAD35} = {44E0D4F3-4430-4175-B482-0D1AEE4BB699}
+		{423CCF23-C0B4-4D21-896C-16DC98689DB5} = {44E0D4F3-4430-4175-B482-0D1AEE4BB699}
+		{D6AEB328-EBC0-40B1-8936-301597883DFA} = {44E0D4F3-4430-4175-B482-0D1AEE4BB699}
+		{6BA2DCAA-CB68-4AE2-BBBE-746A728D30E0} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{766CB6A1-0507-4367-A6CC-9C2EC6A39732} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{992288A5-6E70-4F2D-99A6-03439BF7A5E3} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{27A226BA-C94A-4E99-897D-EDFB856CCCB5} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{443DBEC1-9620-4287-A8E7-DFE46A227BE6} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{C3A07F30-F2EA-4A9C-8A83-8C0BC8144863} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{3A25A675-8867-420A-8921-4B6D617EBE2F} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{B25439E1-C944-4FE1-8678-AC9E866AC4EA} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{214B9F12-BF3F-430F-85BC-98C6CFFFE5F8} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{574F245D-ED2E-4B5F-9929-8E8377412E6D} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{7BE4D31D-D31F-422E-8C54-39B91A9A4DE4} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{8EF63B6F-A1D9-469B-9A50-DE1613ED47A5} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{A9291B4E-7049-4574-AC45-8D642AD3D9B0} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{6B847B89-DEFB-478C-B0D8-0F309602A0C5} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{3D316CA9-55C6-4D72-A408-382935555361} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{E0EDCB3C-C93B-4368-9289-035D7D35382B} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{3C001B2F-2A04-478C-8A7A-1D121E8A4BB1} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{FF3A5823-43F0-4C98-87C4-3C5973F3C7D7} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{AB47EF50-D7F4-47AB-A49D-FFB8874EC9F7} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{8C18A50B-EAEE-4CE0-8FFC-0957FD6B5DFD} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{6F46EE1F-5A3A-4D16-94C4-6CF7147BC75B} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{EF6E0BF5-F018-4C76-A7E8-EF52D2C7D9C1} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{697B279A-8BC0-49C2-A57F-667E9AD81E9A} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{F94690E9-258C-4C10-AC26-FA31F6EB9D35} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{A2AB7E2D-0FE2-4740-95E7-CE600CBD4F44} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{71209D14-8469-40FB-B052-8308AF22A0EC} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{86CBF0C9-76C8-4084-9758-E36731AEC1D7} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{EA169B0E-3F8C-4436-82F4-56768263D256} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{1CDF7EC6-A25A-44BC-8CD3-C9F6AD13CF0B} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{5AEEAA34-01A0-418D-A8D0-E89A5B9A0EF1} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{BBDB70EB-2C08-43E7-8D82-BEE18C8881C8} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{AB827016-9D0A-4443-BFF0-80CB9E947D39} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{707BB7F9-3E71-4364-8AD0-949735B5D33C} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{E09006B7-2022-43CD-A0D9-127282F95A57} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{61E8C8E2-1CF4-42DA-8822-AFEC7FA47F16} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{1F501D4D-CEA4-445B-86C9-7215A6811368} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{B5037DC9-2690-42FA-8725-514E4A9EFEAD} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{AC7782F2-1F03-4615-A600-A7FE0FDEC5E5} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{D5C02B69-4E7B-4628-8BDA-B622A2FB2A97} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{74F10D31-161F-49A4-ACD7-282211447CE4} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{DBA8E5FE-DE74-4E24-A9A2-0FBBCC1C2792} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{2BBA2091-C991-4696-B70F-5C2D114D5674} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{D9E125B3-8FFD-47CE-9C0E-FF5CEAF633AE} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{DA1687B8-10E4-4F50-B074-60D20912A9BD} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{97CE175F-9290-479F-A6EB-EEF4C6816624} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{492ADBEC-D788-4039-A544-E1510D9328C1} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{B0A51484-8A24-4B9C-996B-415EB7733D56} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{D809A2F0-0B7B-4B5D-B70C-05EFD3203301} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{365365A2-18A9-4EF8-A4CB-F096DAF078D9} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{92D23FF6-3C79-46CD-98ED-24DA16F8FDC3} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{D8C72607-7E3E-4124-A065-A57F23E9F2BA} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{4272499A-C424-41DF-B6B8-DF3C19416BE2} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{E01CD19E-B0BE-4480-8B8E-3701DE862E62} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{06E9B7E9-3ABA-4766-BAF8-8904942470A9} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{AA87CAA1-2456-4108-A02F-E16B9B8A98EE} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{DC2F67CC-79DD-4F7C-AFD1-AC0D12B331C9} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{56DA124E-A37A-44DE-9DED-2764DDF0816C} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{527DB7FD-B118-4E49-B68A-55AAE9BFA109} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{BB6E57A6-5434-46D4-AA09-72DC29794506} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{557608E1-1DF3-4A24-80EB-C557C676A9CE} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{9241EDB4-8FCE-4F8E-9727-C9557C59907C} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{3FAF725B-A628-4531-9F61-499660CD4347} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{04262990-929C-42BF-85A9-21C25FA95617} = {2FC10057-7A0A-4E34-8302-879925BC0102}
+		{DC47C40A-FC38-44E4-94A4-ADE794E76309} = {2FC10057-7A0A-4E34-8302-879925BC0102}
 	EndGlobalSection
 	GlobalSection(ExtensibilityGlobals) = postSolution
-		SolutionGuid = {504DA352-6788-4DC0-8705-82167E72A4D3}
+		SolutionGuid = {CC3C47E1-AD1A-4619-9CD3-E08A0148E5CE}
 	EndGlobalSection
 EndGlobal
diff --git a/src/Components/benchmarks/Microsoft.AspNetCore.Components.Performance/AssemblyInfo.cs b/src/Components/Components/perf/AssemblyInfo.cs
similarity index 100%
rename from src/Components/benchmarks/Microsoft.AspNetCore.Components.Performance/AssemblyInfo.cs
rename to src/Components/Components/perf/AssemblyInfo.cs
diff --git a/src/Components/Components/perf/Microsoft.AspNetCore.Components.Performance.csproj b/src/Components/Components/perf/Microsoft.AspNetCore.Components.Performance.csproj
new file mode 100644
index 00000000000..baa8d7efe86
--- /dev/null
+++ b/src/Components/Components/perf/Microsoft.AspNetCore.Components.Performance.csproj
@@ -0,0 +1,16 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFramework>netcoreapp3.0</TargetFramework>
+    <OutputType>Exe</OutputType>
+    <ServerGarbageCollection>true</ServerGarbageCollection>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Reference Include="BenchmarkDotNet" />
+    <Reference Include="Microsoft.AspNetCore.Components" />
+    <Reference Include="Microsoft.AspNetCore.BenchmarkRunner.Sources" PrivateAssets="All" />
+  </ItemGroup>
+
+</Project>
diff --git a/src/Components/benchmarks/Microsoft.AspNetCore.Components.Performance/Program.cs b/src/Components/Components/perf/Program.cs
similarity index 100%
rename from src/Components/benchmarks/Microsoft.AspNetCore.Components.Performance/Program.cs
rename to src/Components/Components/perf/Program.cs
diff --git a/src/Components/benchmarks/Microsoft.AspNetCore.Components.Performance/RenderTreeDiffBuilderBenchmark.cs b/src/Components/Components/perf/RenderTreeDiffBuilderBenchmark.cs
similarity index 100%
rename from src/Components/benchmarks/Microsoft.AspNetCore.Components.Performance/RenderTreeDiffBuilderBenchmark.cs
rename to src/Components/Components/perf/RenderTreeDiffBuilderBenchmark.cs
diff --git a/src/Components/benchmarks/Microsoft.AspNetCore.Components.Performance/readme.md b/src/Components/Components/perf/readme.md
similarity index 100%
rename from src/Components/benchmarks/Microsoft.AspNetCore.Components.Performance/readme.md
rename to src/Components/Components/perf/readme.md
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/BindAttributes.cs b/src/Components/Components/src/BindAttributes.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/BindAttributes.cs
rename to src/Components/Components/src/BindAttributes.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/BindElementAttribute.cs b/src/Components/Components/src/BindElementAttribute.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/BindElementAttribute.cs
rename to src/Components/Components/src/BindElementAttribute.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/BindInputElementAttribute.cs b/src/Components/Components/src/BindInputElementAttribute.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/BindInputElementAttribute.cs
rename to src/Components/Components/src/BindInputElementAttribute.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/BindMethods.cs b/src/Components/Components/src/BindMethods.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/BindMethods.cs
rename to src/Components/Components/src/BindMethods.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/Builder/BlazorApplicationBuilderExtensions.cs b/src/Components/Components/src/Builder/BlazorApplicationBuilderExtensions.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/Builder/BlazorApplicationBuilderExtensions.cs
rename to src/Components/Components/src/Builder/BlazorApplicationBuilderExtensions.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/Builder/IBlazorApplicationBuilder.cs b/src/Components/Components/src/Builder/IBlazorApplicationBuilder.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/Builder/IBlazorApplicationBuilder.cs
rename to src/Components/Components/src/Builder/IBlazorApplicationBuilder.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/CascadingParameterAttribute.cs b/src/Components/Components/src/CascadingParameterAttribute.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/CascadingParameterAttribute.cs
rename to src/Components/Components/src/CascadingParameterAttribute.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/CascadingParameterState.cs b/src/Components/Components/src/CascadingParameterState.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/CascadingParameterState.cs
rename to src/Components/Components/src/CascadingParameterState.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/CascadingValue.cs b/src/Components/Components/src/CascadingValue.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/CascadingValue.cs
rename to src/Components/Components/src/CascadingValue.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/ChangeDetection.cs b/src/Components/Components/src/ChangeDetection.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/ChangeDetection.cs
rename to src/Components/Components/src/ChangeDetection.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/ComponentBase.cs b/src/Components/Components/src/ComponentBase.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/ComponentBase.cs
rename to src/Components/Components/src/ComponentBase.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/ComponentFactory.cs b/src/Components/Components/src/ComponentFactory.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/ComponentFactory.cs
rename to src/Components/Components/src/ComponentFactory.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/ComponentResolver.cs b/src/Components/Components/src/ComponentResolver.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/ComponentResolver.cs
rename to src/Components/Components/src/ComponentResolver.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/ElementRef.cs b/src/Components/Components/src/ElementRef.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/ElementRef.cs
rename to src/Components/Components/src/ElementRef.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/EventHandlerAttribute.cs b/src/Components/Components/src/EventHandlerAttribute.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/EventHandlerAttribute.cs
rename to src/Components/Components/src/EventHandlerAttribute.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/EventHandlerInvoker.cs b/src/Components/Components/src/EventHandlerInvoker.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/EventHandlerInvoker.cs
rename to src/Components/Components/src/EventHandlerInvoker.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/EventHandlers.cs b/src/Components/Components/src/EventHandlers.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/EventHandlers.cs
rename to src/Components/Components/src/EventHandlers.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/HttpClientJsonExtensions.cs b/src/Components/Components/src/HttpClientJsonExtensions.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/HttpClientJsonExtensions.cs
rename to src/Components/Components/src/HttpClientJsonExtensions.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/ICascadingValueComponent.cs b/src/Components/Components/src/ICascadingValueComponent.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/ICascadingValueComponent.cs
rename to src/Components/Components/src/ICascadingValueComponent.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/IComponent.cs b/src/Components/Components/src/IComponent.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/IComponent.cs
rename to src/Components/Components/src/IComponent.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/IHandleAfterRender.cs b/src/Components/Components/src/IHandleAfterRender.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/IHandleAfterRender.cs
rename to src/Components/Components/src/IHandleAfterRender.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/IHandleEvent.cs b/src/Components/Components/src/IHandleEvent.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/IHandleEvent.cs
rename to src/Components/Components/src/IHandleEvent.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/InjectAttribute.cs b/src/Components/Components/src/InjectAttribute.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/InjectAttribute.cs
rename to src/Components/Components/src/InjectAttribute.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/Json/JsonUtil.cs b/src/Components/Components/src/Json/JsonUtil.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/Json/JsonUtil.cs
rename to src/Components/Components/src/Json/JsonUtil.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/Layouts/LayoutAttribute.cs b/src/Components/Components/src/Layouts/LayoutAttribute.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/Layouts/LayoutAttribute.cs
rename to src/Components/Components/src/Layouts/LayoutAttribute.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/Layouts/LayoutComponentBase.cs b/src/Components/Components/src/Layouts/LayoutComponentBase.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/Layouts/LayoutComponentBase.cs
rename to src/Components/Components/src/Layouts/LayoutComponentBase.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/Layouts/LayoutDisplay.cs b/src/Components/Components/src/Layouts/LayoutDisplay.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/Layouts/LayoutDisplay.cs
rename to src/Components/Components/src/Layouts/LayoutDisplay.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/MarkupString.cs b/src/Components/Components/src/MarkupString.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/MarkupString.cs
rename to src/Components/Components/src/MarkupString.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/Microsoft.AspNetCore.Components.csproj b/src/Components/Components/src/Microsoft.AspNetCore.Components.csproj
similarity index 76%
rename from src/Components/src/Microsoft.AspNetCore.Components/Microsoft.AspNetCore.Components.csproj
rename to src/Components/Components/src/Microsoft.AspNetCore.Components.csproj
index 038d8d67ef3..a2d60c3d03c 100644
--- a/src/Components/src/Microsoft.AspNetCore.Components/Microsoft.AspNetCore.Components.csproj
+++ b/src/Components/Components/src/Microsoft.AspNetCore.Components.csproj
@@ -8,7 +8,7 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="Microsoft.JSInterop" Version="$(MicrosoftJSInteropPackageVersion)" />
+    <Reference Include="Microsoft.JSInterop" />
   </ItemGroup>
 
 </Project>
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/Parameter.cs b/src/Components/Components/src/Parameter.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/Parameter.cs
rename to src/Components/Components/src/Parameter.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/ParameterAttribute.cs b/src/Components/Components/src/ParameterAttribute.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/ParameterAttribute.cs
rename to src/Components/Components/src/ParameterAttribute.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/ParameterCollection.cs b/src/Components/Components/src/ParameterCollection.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/ParameterCollection.cs
rename to src/Components/Components/src/ParameterCollection.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/ParameterCollectionExtensions.cs b/src/Components/Components/src/ParameterCollectionExtensions.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/ParameterCollectionExtensions.cs
rename to src/Components/Components/src/ParameterCollectionExtensions.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/ParameterEnumerator.cs b/src/Components/Components/src/ParameterEnumerator.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/ParameterEnumerator.cs
rename to src/Components/Components/src/ParameterEnumerator.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/PlatformInfo.cs b/src/Components/Components/src/PlatformInfo.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/PlatformInfo.cs
rename to src/Components/Components/src/PlatformInfo.cs
diff --git a/src/Components/Components/src/Properties/AssemblyInfo.cs b/src/Components/Components/src/Properties/AssemblyInfo.cs
new file mode 100644
index 00000000000..68939a888ad
--- /dev/null
+++ b/src/Components/Components/src/Properties/AssemblyInfo.cs
@@ -0,0 +1,7 @@
+using System.Runtime.CompilerServices;
+
+[assembly: InternalsVisibleTo("Microsoft.AspNetCore.Blazor.Build.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
+[assembly: InternalsVisibleTo("Microsoft.AspNetCore.Components.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
+[assembly: InternalsVisibleTo("Microsoft.AspNetCore.Components.Browser.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
+[assembly: InternalsVisibleTo("Microsoft.AspNetCore.Components.Performance, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
+[assembly: InternalsVisibleTo("Microsoft.AspNetCore.Components.Server.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/Reflection/IPropertySetter.cs b/src/Components/Components/src/Reflection/IPropertySetter.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/Reflection/IPropertySetter.cs
rename to src/Components/Components/src/Reflection/IPropertySetter.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/Reflection/MemberAssignment.cs b/src/Components/Components/src/Reflection/MemberAssignment.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/Reflection/MemberAssignment.cs
rename to src/Components/Components/src/Reflection/MemberAssignment.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/RenderFragment.cs b/src/Components/Components/src/RenderFragment.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/RenderFragment.cs
rename to src/Components/Components/src/RenderFragment.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/RenderHandle.cs b/src/Components/Components/src/RenderHandle.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/RenderHandle.cs
rename to src/Components/Components/src/RenderHandle.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/RenderTree/ArrayBuilder.cs b/src/Components/Components/src/RenderTree/ArrayBuilder.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/RenderTree/ArrayBuilder.cs
rename to src/Components/Components/src/RenderTree/ArrayBuilder.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/RenderTree/ArrayRange.cs b/src/Components/Components/src/RenderTree/ArrayRange.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/RenderTree/ArrayRange.cs
rename to src/Components/Components/src/RenderTree/ArrayRange.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/RenderTree/RenderTreeBuilder.cs b/src/Components/Components/src/RenderTree/RenderTreeBuilder.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/RenderTree/RenderTreeBuilder.cs
rename to src/Components/Components/src/RenderTree/RenderTreeBuilder.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/RenderTree/RenderTreeDiff.cs b/src/Components/Components/src/RenderTree/RenderTreeDiff.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/RenderTree/RenderTreeDiff.cs
rename to src/Components/Components/src/RenderTree/RenderTreeDiff.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/RenderTree/RenderTreeDiffBuilder.cs b/src/Components/Components/src/RenderTree/RenderTreeDiffBuilder.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/RenderTree/RenderTreeDiffBuilder.cs
rename to src/Components/Components/src/RenderTree/RenderTreeDiffBuilder.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/RenderTree/RenderTreeEdit.cs b/src/Components/Components/src/RenderTree/RenderTreeEdit.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/RenderTree/RenderTreeEdit.cs
rename to src/Components/Components/src/RenderTree/RenderTreeEdit.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/RenderTree/RenderTreeEditType.cs b/src/Components/Components/src/RenderTree/RenderTreeEditType.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/RenderTree/RenderTreeEditType.cs
rename to src/Components/Components/src/RenderTree/RenderTreeEditType.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/RenderTree/RenderTreeFrame.cs b/src/Components/Components/src/RenderTree/RenderTreeFrame.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/RenderTree/RenderTreeFrame.cs
rename to src/Components/Components/src/RenderTree/RenderTreeFrame.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/RenderTree/RenderTreeFrameType.cs b/src/Components/Components/src/RenderTree/RenderTreeFrameType.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/RenderTree/RenderTreeFrameType.cs
rename to src/Components/Components/src/RenderTree/RenderTreeFrameType.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/Rendering/ComponentState.cs b/src/Components/Components/src/Rendering/ComponentState.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/Rendering/ComponentState.cs
rename to src/Components/Components/src/Rendering/ComponentState.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/Rendering/HtmlRenderer.cs b/src/Components/Components/src/Rendering/HtmlRenderer.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/Rendering/HtmlRenderer.cs
rename to src/Components/Components/src/Rendering/HtmlRenderer.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/Rendering/RenderBatch.cs b/src/Components/Components/src/Rendering/RenderBatch.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/Rendering/RenderBatch.cs
rename to src/Components/Components/src/Rendering/RenderBatch.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/Rendering/RenderBatchBuilder.cs b/src/Components/Components/src/Rendering/RenderBatchBuilder.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/Rendering/RenderBatchBuilder.cs
rename to src/Components/Components/src/Rendering/RenderBatchBuilder.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/Rendering/RenderQueueEntry.cs b/src/Components/Components/src/Rendering/RenderQueueEntry.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/Rendering/RenderQueueEntry.cs
rename to src/Components/Components/src/Rendering/RenderQueueEntry.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/Rendering/Renderer.cs b/src/Components/Components/src/Rendering/Renderer.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/Rendering/Renderer.cs
rename to src/Components/Components/src/Rendering/Renderer.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/RouteAttribute.cs b/src/Components/Components/src/RouteAttribute.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/RouteAttribute.cs
rename to src/Components/Components/src/RouteAttribute.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/Routing/NavLink.cs b/src/Components/Components/src/Routing/NavLink.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/Routing/NavLink.cs
rename to src/Components/Components/src/Routing/NavLink.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/Routing/NavLinkMatch.cs b/src/Components/Components/src/Routing/NavLinkMatch.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/Routing/NavLinkMatch.cs
rename to src/Components/Components/src/Routing/NavLinkMatch.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/Routing/RouteConstraint.cs b/src/Components/Components/src/Routing/RouteConstraint.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/Routing/RouteConstraint.cs
rename to src/Components/Components/src/Routing/RouteConstraint.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/Routing/RouteContext.cs b/src/Components/Components/src/Routing/RouteContext.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/Routing/RouteContext.cs
rename to src/Components/Components/src/Routing/RouteContext.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/Routing/RouteEntry.cs b/src/Components/Components/src/Routing/RouteEntry.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/Routing/RouteEntry.cs
rename to src/Components/Components/src/Routing/RouteEntry.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/Routing/RouteTable.cs b/src/Components/Components/src/Routing/RouteTable.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/Routing/RouteTable.cs
rename to src/Components/Components/src/Routing/RouteTable.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/Routing/RouteTemplate.cs b/src/Components/Components/src/Routing/RouteTemplate.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/Routing/RouteTemplate.cs
rename to src/Components/Components/src/Routing/RouteTemplate.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/Routing/Router.cs b/src/Components/Components/src/Routing/Router.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/Routing/Router.cs
rename to src/Components/Components/src/Routing/Router.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/Routing/TemplateParser.cs b/src/Components/Components/src/Routing/TemplateParser.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/Routing/TemplateParser.cs
rename to src/Components/Components/src/Routing/TemplateParser.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/Routing/TemplateSegment.cs b/src/Components/Components/src/Routing/TemplateSegment.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/Routing/TemplateSegment.cs
rename to src/Components/Components/src/Routing/TemplateSegment.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/Routing/TypeRouteConstraint.cs b/src/Components/Components/src/Routing/TypeRouteConstraint.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/Routing/TypeRouteConstraint.cs
rename to src/Components/Components/src/Routing/TypeRouteConstraint.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/RuntimeHelpers.cs b/src/Components/Components/src/RuntimeHelpers.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/RuntimeHelpers.cs
rename to src/Components/Components/src/RuntimeHelpers.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/Services/IUriHelper.cs b/src/Components/Components/src/Services/IUriHelper.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/Services/IUriHelper.cs
rename to src/Components/Components/src/Services/IUriHelper.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/Services/UriHelperBase.cs b/src/Components/Components/src/Services/UriHelperBase.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/Services/UriHelperBase.cs
rename to src/Components/Components/src/Services/UriHelperBase.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/UIEventArgs.cs b/src/Components/Components/src/UIEventArgs.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/UIEventArgs.cs
rename to src/Components/Components/src/UIEventArgs.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/UIEventArgsRenderTreeBuilderExtensions.cs b/src/Components/Components/src/UIEventArgsRenderTreeBuilderExtensions.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components/UIEventArgsRenderTreeBuilderExtensions.cs
rename to src/Components/Components/src/UIEventArgsRenderTreeBuilderExtensions.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.Test/CascadingParameterStateTest.cs b/src/Components/Components/test/CascadingParameterStateTest.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.Test/CascadingParameterStateTest.cs
rename to src/Components/Components/test/CascadingParameterStateTest.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.Test/CascadingParameterTest.cs b/src/Components/Components/test/CascadingParameterTest.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.Test/CascadingParameterTest.cs
rename to src/Components/Components/test/CascadingParameterTest.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.Test/ComponentBaseTest.cs b/src/Components/Components/test/ComponentBaseTest.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.Test/ComponentBaseTest.cs
rename to src/Components/Components/test/ComponentBaseTest.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.Test/DependencyInjectionTest.cs b/src/Components/Components/test/DependencyInjectionTest.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.Test/DependencyInjectionTest.cs
rename to src/Components/Components/test/DependencyInjectionTest.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.Test/HttpClientJsonExtensionsTest.cs b/src/Components/Components/test/HttpClientJsonExtensionsTest.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.Test/HttpClientJsonExtensionsTest.cs
rename to src/Components/Components/test/HttpClientJsonExtensionsTest.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.Test/LayoutTest.cs b/src/Components/Components/test/LayoutTest.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.Test/LayoutTest.cs
rename to src/Components/Components/test/LayoutTest.cs
diff --git a/src/Components/Components/test/Microsoft.AspNetCore.Components.Tests.csproj b/src/Components/Components/test/Microsoft.AspNetCore.Components.Tests.csproj
new file mode 100644
index 00000000000..66cea32194b
--- /dev/null
+++ b/src/Components/Components/test/Microsoft.AspNetCore.Components.Tests.csproj
@@ -0,0 +1,17 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFramework>netcoreapp3.0</TargetFramework>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.AspNetCore.Components" />
+    <Reference Include="Microsoft.Extensions.DependencyInjection" />
+    <Reference Include="Microsoft.AspNetCore.Html.Abstractions" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <Compile Include="$(ComponentsSharedSourceRoot)test\**\*.cs" LinkBase="Helpers" />
+  </ItemGroup>
+
+</Project>
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.Test/ParameterCollectionAssignmentExtensionsTest.cs b/src/Components/Components/test/ParameterCollectionAssignmentExtensionsTest.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.Test/ParameterCollectionAssignmentExtensionsTest.cs
rename to src/Components/Components/test/ParameterCollectionAssignmentExtensionsTest.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.Test/ParameterCollectionTest.cs b/src/Components/Components/test/ParameterCollectionTest.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.Test/ParameterCollectionTest.cs
rename to src/Components/Components/test/ParameterCollectionTest.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.Test/RenderTreeBuilderTest.cs b/src/Components/Components/test/RenderTreeBuilderTest.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.Test/RenderTreeBuilderTest.cs
rename to src/Components/Components/test/RenderTreeBuilderTest.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.Test/RenderTreeDiffBuilderTest.cs b/src/Components/Components/test/RenderTreeDiffBuilderTest.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.Test/RenderTreeDiffBuilderTest.cs
rename to src/Components/Components/test/RenderTreeDiffBuilderTest.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.Test/RendererTest.cs b/src/Components/Components/test/RendererTest.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.Test/RendererTest.cs
rename to src/Components/Components/test/RendererTest.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.Test/Rendering/HtmlRendererTests.cs b/src/Components/Components/test/Rendering/HtmlRendererTests.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.Test/Rendering/HtmlRendererTests.cs
rename to src/Components/Components/test/Rendering/HtmlRendererTests.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.Test/Routing/RouteTableTests.cs b/src/Components/Components/test/Routing/RouteTableTests.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.Test/Routing/RouteTableTests.cs
rename to src/Components/Components/test/Routing/RouteTableTests.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.Test/Routing/TemplateParserTests.cs b/src/Components/Components/test/Routing/TemplateParserTests.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.Test/Routing/TemplateParserTests.cs
rename to src/Components/Components/test/Routing/TemplateParserTests.cs
diff --git a/src/Components/Directory.Build.props b/src/Components/Directory.Build.props
index 42dc9caa9e7..a090fee61f5 100644
--- a/src/Components/Directory.Build.props
+++ b/src/Components/Directory.Build.props
@@ -1,37 +1,23 @@
 <Project>
-  <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory)..\, Directory.Build.props))\Directory.Build.props" />
+  <PropertyGroup>
+    <!-- Workaround for https://github.com/aspnet/AspNetCore/issues/5486 which requires the bin and obj directory be in the project directory -->
+    <OutputInRepoRoot>false</OutputInRepoRoot>
+  </PropertyGroup>
 
-  <Import Project="build\dependencies.props" />
+  <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory)..\, Directory.Build.props))\Directory.Build.props" />
 
   <PropertyGroup>
-    <RepositoryRoot>$(MSBuildThisFileDirectory)</RepositoryRoot>
     <PackageTags>aspnetcore;components</PackageTags>
 
+    <ComponentsSharedSourceRoot>$(MSBuildThisFileDirectory)Shared\</ComponentsSharedSourceRoot>
+
     <!-- So we can use the tool from source within the repo without having to pack -->
-    <BlazorToolsDir>$(MSBuildThisFileDirectory)blazor\src\Microsoft.AspNetCore.Blazor.Build\bin\$(Configuration)\netcoreapp3.0\</BlazorToolsDir>
+    <BlazorToolsDir>$(MSBuildThisFileDirectory)Blazor\Build\src\bin\$(Configuration)\netcoreapp3.0\</BlazorToolsDir>
   </PropertyGroup>
 
   <PropertyGroup>
-    <AddImplicitReferences>false</AddImplicitReferences>
-    <IsSubfolderBuild>true</IsSubfolderBuild>
     <!-- Workaround microsoft/msbuild#3626 -->
     <AddSyntheticProjectReferencesForSolutionDependencies>false</AddSyntheticProjectReferencesForSolutionDependencies>
-
-    <!-- Api check is currently broken on this subfolder of projects. -->
-    <EnableApiCheck>false</EnableApiCheck>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Internal.AspNetCore.Sdk" PrivateAssets="All" Version="$(InternalAspNetCoreSdkPackageVersion)" />
-  </ItemGroup>
-
-  <!-- Artifacts layout -->
-  <PropertyGroup>
-    <ArtifactsDir>$(MSBuildThisFileDirectory)..\..\artifacts\</ArtifactsDir>
-    <ArtifactsConfigurationDir>$(ArtifactsDir)$(Configuration)\</ArtifactsConfigurationDir>
-    <BasePackageOutputPath>$(ArtifactsConfigurationDir)packages\</BasePackageOutputPath>
-    <ProductPackageOutputPath>$(BasePackageOutputPath)product\</ProductPackageOutputPath>
-    <InternalPackageOutputPath>$(BasePackageOutputPath)internal\</InternalPackageOutputPath>
   </PropertyGroup>
 
 </Project>
diff --git a/src/Components/Directory.Build.targets b/src/Components/Directory.Build.targets
index da4852969b2..2e138a53729 100644
--- a/src/Components/Directory.Build.targets
+++ b/src/Components/Directory.Build.targets
@@ -1,17 +1,13 @@
 <Project>
-  <PropertyGroup>
-    <RuntimeFrameworkVersion Condition=" '$(TargetFramework)' == 'netcoreapp3.0' ">$(MicrosoftNETCoreAppPackageVersion)</RuntimeFrameworkVersion>
+  <PropertyGroup Condition="'$(IsPackable)' == 'true'">
+    <GenerateDocumentationFile Condition="'$(GenerateDocumentationFile)' == ''">true</GenerateDocumentationFile>
   </PropertyGroup>
 
-  <PropertyGroup>
-    <!--
-      By default, all projects which produce packages are not intended to ship to NuGet.org as a product package.
-      Packages which are intended to ship to NuGet.org must opt-in by setting this to true in the project file.
-    -->
-    <IsProductPackage Condition=" '$(IsProductPackage)' == '' ">false</IsProductPackage>
+  <ItemGroup>
+    <None Include="$(MSBuildThisFileDirectory)THIRD-PARTY-NOTICES.txt" Pack="true" PackagePath="." />
+  </ItemGroup>
 
-    <PackageOutputPath Condition=" '$(IsProductPackage)' == 'true' ">$(ProductPackageOutputPath)</PackageOutputPath>
-    <PackageOutputPath Condition=" '$(IsProductPackage)' != 'true' ">$(InternalPackageOutputPath)</PackageOutputPath>
-  </PropertyGroup>
+  <Import Project="Blazor\Build\src\ReferenceFromSource.props" Condition="'$(ReferenceBlazorBuildLocally)' == 'true'" />
 
+  <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory)..\, Directory.Build.targets))\Directory.Build.targets" />
 </Project>
diff --git a/src/Components/LICENSE.txt b/src/Components/LICENSE.txt
deleted file mode 100644
index 7b2956eceee..00000000000
--- a/src/Components/LICENSE.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-Copyright (c) .NET Foundation and Contributors
-
-All rights reserved.
-
-Licensed under the Apache License, Version 2.0 (the "License"); you may not use
-this file except in compliance with the License. You may obtain a copy of the
-License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software distributed
-under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-CONDITIONS OF ANY KIND, either express or implied. See the License for the
-specific language governing permissions and limitations under the License.
diff --git a/src/Components/README.md b/src/Components/README.md
index 71a91b017fb..d13b24ea00e 100644
--- a/src/Components/README.md
+++ b/src/Components/README.md
@@ -2,7 +2,7 @@
 
 **Build modern, interactive web-based UIs with C# and Razor.**
 
-This repo contains the underlying *components* programming model that powers both server-side [Razor Components](#razor-components) and client-side [Blazor](#blazor) applications.
+This folder contains the underlying *components* programming model that powers both server-side [Razor Components](#razor-components) and client-side [Blazor](#blazor) applications.
 
 Features of the components programming model include:
 
@@ -39,74 +39,7 @@ To get started and build your first web app check out our [getting started guide
 
 ## Building from source
 
-You only need to do this if you want to contribute to this repo. You do not need to build from source if you just want to [build your own application](https://go.microsoft.com/fwlink/?linkid=870449).
-
-For general guidance on building ASP.NET Core sources, see the [developer documentation](https://github.com/aspnet/Home/wiki/Building-from-source). **Please read this document and check your PATH setup if you have trouble building or using Visual Studio.**
-
-### 1. Prerequisites
-
-Ensure you have the following:
-
-- [Node.js](https://nodejs.org/) (>10.0)
-
-
-### 2. Clone
-
-Clone this repo, and switch to its directory:
-
-```
-git clone https://github.com/aspnet/AspNetCore.git
-cd AspNetCore
-```
-
-### 3. Build
-
-Run `build.cmd` or `build.sh` from `src/Components`.
-
-Windows users:
-
-```
-cd src\Components
-build.cmd
-```
-
-Linux/Mac users:
-
-```
-cd src/Components
-./build.sh
-```
-
-## Run unit tests
-
-While inside `src/Components`, run `build.cmd /t:Test` or `build.sh /t:Test`
-
-## Run end-to-end tests
-
-Prerequisites:
-- Install [selenium-standalone](https://www.npmjs.com/package/selenium-standalone) (requires Java 8 or 9)
-  - [Open JDK9](http://jdk.java.net/java-se-ri/9)
-  - `npm install -g selenium-standalone`
-  - `selenium-standalone install`
-- Chrome
-
-Run `selenium-standalone start`
-
-In a separate command prompt, run `build.cmd /t:Test /p:BlazorAllTests=true` or `build.sh /t:Test /p:BlazorAllTests=true`
-
-## Opening in Visual Studio
-
-Prerequisites:
-
-- Visual Studio 2017 15.9 - [download](https://www.visualstudio.com/thank-you-downloading-visual-studio/?ch=pre&sku=Enterprise&rel=15)
-
-When installing Visual Studio choose the following workloads:
-- ASP.NET and Web Development
-- Visual Studio extension development features
-
-Now open `src/Components/Component.sln` in Visual Studio.
-
-If you have problems using Visual Studio with `Components.sln` please refer to the [developer documentation](https://github.com/aspnet/Home/wiki/Building-from-source).
+See [these instructions](/docs/BuildFromSource.md) for more details on how to build this project on your own.
 
 ## Developing the Blazor VS Tooling
 
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Server/AutoRebuild/AutoRebuildExtensions.cs b/src/Components/Server/src/AutoRebuild/AutoRebuildExtensions.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Server/AutoRebuild/AutoRebuildExtensions.cs
rename to src/Components/Server/src/AutoRebuild/AutoRebuildExtensions.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Server/AutoRebuild/IRebuildService.cs b/src/Components/Server/src/AutoRebuild/IRebuildService.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Server/AutoRebuild/IRebuildService.cs
rename to src/Components/Server/src/AutoRebuild/IRebuildService.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Server/AutoRebuild/ProcessUtils.cs b/src/Components/Server/src/AutoRebuild/ProcessUtils.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Server/AutoRebuild/ProcessUtils.cs
rename to src/Components/Server/src/AutoRebuild/ProcessUtils.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Server/AutoRebuild/StreamProtocolExtensions.cs b/src/Components/Server/src/AutoRebuild/StreamProtocolExtensions.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Server/AutoRebuild/StreamProtocolExtensions.cs
rename to src/Components/Server/src/AutoRebuild/StreamProtocolExtensions.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Server/AutoRebuild/VSForWindowsRebuildService.cs b/src/Components/Server/src/AutoRebuild/VSForWindowsRebuildService.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Server/AutoRebuild/VSForWindowsRebuildService.cs
rename to src/Components/Server/src/AutoRebuild/VSForWindowsRebuildService.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Server/BlazorConfig.cs b/src/Components/Server/src/BlazorConfig.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Server/BlazorConfig.cs
rename to src/Components/Server/src/BlazorConfig.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Server/BlazorHub.cs b/src/Components/Server/src/BlazorHub.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Server/BlazorHub.cs
rename to src/Components/Server/src/BlazorHub.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Server/BlazorOptions.cs b/src/Components/Server/src/BlazorOptions.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Server/BlazorOptions.cs
rename to src/Components/Server/src/BlazorOptions.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Server/Builder/BlazorApplicationBuilderExtensions.cs b/src/Components/Server/src/Builder/BlazorApplicationBuilderExtensions.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Server/Builder/BlazorApplicationBuilderExtensions.cs
rename to src/Components/Server/src/Builder/BlazorApplicationBuilderExtensions.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Server/Builder/RazorComponentsApplicationBuilderExtensions.cs b/src/Components/Server/src/Builder/RazorComponentsApplicationBuilderExtensions.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Server/Builder/RazorComponentsApplicationBuilderExtensions.cs
rename to src/Components/Server/src/Builder/RazorComponentsApplicationBuilderExtensions.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Server/Builder/RazorComponentsOptions.cs b/src/Components/Server/src/Builder/RazorComponentsOptions.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Server/Builder/RazorComponentsOptions.cs
rename to src/Components/Server/src/Builder/RazorComponentsOptions.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Server/Builder/ServerSideBlazorApplicationBuilder.cs b/src/Components/Server/src/Builder/ServerSideBlazorApplicationBuilder.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Server/Builder/ServerSideBlazorApplicationBuilder.cs
rename to src/Components/Server/src/Builder/ServerSideBlazorApplicationBuilder.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Server/Circuits/AutoCancelTaskCompletionSource.cs b/src/Components/Server/src/Circuits/AutoCancelTaskCompletionSource.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Server/Circuits/AutoCancelTaskCompletionSource.cs
rename to src/Components/Server/src/Circuits/AutoCancelTaskCompletionSource.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Server/Circuits/Circuit.cs b/src/Components/Server/src/Circuits/Circuit.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Server/Circuits/Circuit.cs
rename to src/Components/Server/src/Circuits/Circuit.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Server/Circuits/CircuitFactory.cs b/src/Components/Server/src/Circuits/CircuitFactory.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Server/Circuits/CircuitFactory.cs
rename to src/Components/Server/src/Circuits/CircuitFactory.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Server/Circuits/CircuitHost.cs b/src/Components/Server/src/Circuits/CircuitHost.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Server/Circuits/CircuitHost.cs
rename to src/Components/Server/src/Circuits/CircuitHost.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Server/Circuits/CircuitSynchronizationContext.cs b/src/Components/Server/src/Circuits/CircuitSynchronizationContext.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Server/Circuits/CircuitSynchronizationContext.cs
rename to src/Components/Server/src/Circuits/CircuitSynchronizationContext.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Server/Circuits/DefaultCircuitAccessor.cs b/src/Components/Server/src/Circuits/DefaultCircuitAccessor.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Server/Circuits/DefaultCircuitAccessor.cs
rename to src/Components/Server/src/Circuits/DefaultCircuitAccessor.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Server/Circuits/DefaultCircuitFactory.cs b/src/Components/Server/src/Circuits/DefaultCircuitFactory.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Server/Circuits/DefaultCircuitFactory.cs
rename to src/Components/Server/src/Circuits/DefaultCircuitFactory.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Server/Circuits/DefaultCircuitFactoryOptions.cs b/src/Components/Server/src/Circuits/DefaultCircuitFactoryOptions.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Server/Circuits/DefaultCircuitFactoryOptions.cs
rename to src/Components/Server/src/Circuits/DefaultCircuitFactoryOptions.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Server/Circuits/DefaultJSRuntimeAccessor.cs b/src/Components/Server/src/Circuits/DefaultJSRuntimeAccessor.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Server/Circuits/DefaultJSRuntimeAccessor.cs
rename to src/Components/Server/src/Circuits/DefaultJSRuntimeAccessor.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Server/Circuits/ICircuitAccessor.cs b/src/Components/Server/src/Circuits/ICircuitAccessor.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Server/Circuits/ICircuitAccessor.cs
rename to src/Components/Server/src/Circuits/ICircuitAccessor.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Server/Circuits/IJSRuntimeAccessor.cs b/src/Components/Server/src/Circuits/IJSRuntimeAccessor.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Server/Circuits/IJSRuntimeAccessor.cs
rename to src/Components/Server/src/Circuits/IJSRuntimeAccessor.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Server/Circuits/MessagePackBufferStream.cs b/src/Components/Server/src/Circuits/MessagePackBufferStream.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Server/Circuits/MessagePackBufferStream.cs
rename to src/Components/Server/src/Circuits/MessagePackBufferStream.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Server/Circuits/RemoteJSRuntime.cs b/src/Components/Server/src/Circuits/RemoteJSRuntime.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Server/Circuits/RemoteJSRuntime.cs
rename to src/Components/Server/src/Circuits/RemoteJSRuntime.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Server/Circuits/RemoteRenderer.cs b/src/Components/Server/src/Circuits/RemoteRenderer.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Server/Circuits/RemoteRenderer.cs
rename to src/Components/Server/src/Circuits/RemoteRenderer.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Server/Circuits/RemoteRendererException.cs b/src/Components/Server/src/Circuits/RemoteRendererException.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Server/Circuits/RemoteRendererException.cs
rename to src/Components/Server/src/Circuits/RemoteRendererException.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Server/Circuits/RemoteUriHelper.cs b/src/Components/Server/src/Circuits/RemoteUriHelper.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Server/Circuits/RemoteUriHelper.cs
rename to src/Components/Server/src/Circuits/RemoteUriHelper.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Server/Circuits/RenderBatchFormatterResolver.cs b/src/Components/Server/src/Circuits/RenderBatchFormatterResolver.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Server/Circuits/RenderBatchFormatterResolver.cs
rename to src/Components/Server/src/Circuits/RenderBatchFormatterResolver.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Server/Circuits/RenderBatchWriter.cs b/src/Components/Server/src/Circuits/RenderBatchWriter.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Server/Circuits/RenderBatchWriter.cs
rename to src/Components/Server/src/Circuits/RenderBatchWriter.cs
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Server/DependencyInjection/RazorComponentsServiceCollectionExtensions.cs b/src/Components/Server/src/DependencyInjection/RazorComponentsServiceCollectionExtensions.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Server/DependencyInjection/RazorComponentsServiceCollectionExtensions.cs
rename to src/Components/Server/src/DependencyInjection/RazorComponentsServiceCollectionExtensions.cs
diff --git a/src/Components/Server/src/Microsoft.AspNetCore.Components.Server.csproj b/src/Components/Server/src/Microsoft.AspNetCore.Components.Server.csproj
new file mode 100644
index 00000000000..89d775f108c
--- /dev/null
+++ b/src/Components/Server/src/Microsoft.AspNetCore.Components.Server.csproj
@@ -0,0 +1,30 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFramework>netcoreapp3.0</TargetFramework>
+    <Description>Runtime server features for ASP.NET Core Components.</Description>
+    <IsProductPackage>true</IsProductPackage>
+    <GenerateEmbeddedFilesManifest>true</GenerateEmbeddedFilesManifest>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Compile Include="$(ComponentsSharedSourceRoot)\src\ConventionBasedStartup.cs" Link="Hosting\ConventionBasedStartup.cs" />
+    <Compile Include="$(ComponentsSharedSourceRoot)\src\IBlazorStartup.cs" Link="Hosting\IBlazorStartup.cs" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.AspNetCore.Components.Browser" />
+    <Reference Include="Microsoft.AspNetCore.SignalR" />
+    <Reference Include="Microsoft.AspNetCore.SignalR.Protocols.MessagePack" />
+    <Reference Include="Microsoft.AspNetCore.StaticFiles" />
+    <Reference Include="Microsoft.AspNetCore.SpaServices.Extensions" />
+    <Reference Include="Microsoft.Extensions.FileProviders.Embedded" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <!-- We need .Browser.JS to build first so we can embed its .js output -->
+    <ProjectReference Include="..\..\Browser.JS\src\Microsoft.AspNetCore.Components.Browser.JS.csproj" ReferenceOutputAssembly="false" />
+    <EmbeddedResource Include="..\..\Browser.JS\src\dist\components.server.js" LogicalName="frameworkFiles\%(Filename)%(Extension)" />
+  </ItemGroup>
+
+</Project>
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Server/Properties/AssemblyInfo.cs b/src/Components/Server/src/Properties/AssemblyInfo.cs
similarity index 59%
rename from src/Components/src/Microsoft.AspNetCore.Components.Server/Properties/AssemblyInfo.cs
rename to src/Components/Server/src/Properties/AssemblyInfo.cs
index acb0e9cf06d..3c7cfc70ee6 100644
--- a/src/Components/src/Microsoft.AspNetCore.Components.Server/Properties/AssemblyInfo.cs
+++ b/src/Components/Server/src/Properties/AssemblyInfo.cs
@@ -1,4 +1,4 @@
 using System.Runtime.CompilerServices;
 
 [assembly: InternalsVisibleTo("Microsoft.AspNetCore.Blazor.Cli, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
-[assembly: InternalsVisibleTo("Microsoft.AspNetCore.Components.Server.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
+[assembly: InternalsVisibleTo("Microsoft.AspNetCore.Components.Server.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Server/WasmMediaTypeNames.cs b/src/Components/Server/src/WasmMediaTypeNames.cs
similarity index 100%
rename from src/Components/src/Microsoft.AspNetCore.Components.Server/WasmMediaTypeNames.cs
rename to src/Components/Server/src/WasmMediaTypeNames.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.Server.Test/Circuits/CircuitHostTest.cs b/src/Components/Server/test/Circuits/CircuitHostTest.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.Server.Test/Circuits/CircuitHostTest.cs
rename to src/Components/Server/test/Circuits/CircuitHostTest.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.Server.Test/Circuits/CircuitSynchronizationContextTest.cs b/src/Components/Server/test/Circuits/CircuitSynchronizationContextTest.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.Server.Test/Circuits/CircuitSynchronizationContextTest.cs
rename to src/Components/Server/test/Circuits/CircuitSynchronizationContextTest.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.Server.Test/Circuits/MessagePackBufferStreamTest.cs b/src/Components/Server/test/Circuits/MessagePackBufferStreamTest.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.Server.Test/Circuits/MessagePackBufferStreamTest.cs
rename to src/Components/Server/test/Circuits/MessagePackBufferStreamTest.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.Server.Test/Circuits/RenderBatchWriterTest.cs b/src/Components/Server/test/Circuits/RenderBatchWriterTest.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.Server.Test/Circuits/RenderBatchWriterTest.cs
rename to src/Components/Server/test/Circuits/RenderBatchWriterTest.cs
diff --git a/src/Components/Server/test/Microsoft.AspNetCore.Components.Server.Tests.csproj b/src/Components/Server/test/Microsoft.AspNetCore.Components.Server.Tests.csproj
new file mode 100644
index 00000000000..06cf534689d
--- /dev/null
+++ b/src/Components/Server/test/Microsoft.AspNetCore.Components.Server.Tests.csproj
@@ -0,0 +1,11 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFramework>netcoreapp3.0</TargetFramework>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.AspNetCore.Components.Server" />
+  </ItemGroup>
+
+</Project>
diff --git a/src/Components/src/shared/ComponentsApi.cs b/src/Components/Shared/src/ComponentsApi.cs
similarity index 100%
rename from src/Components/src/shared/ComponentsApi.cs
rename to src/Components/Shared/src/ComponentsApi.cs
diff --git a/src/Components/src/shared/ConventionBasedStartup.cs b/src/Components/Shared/src/ConventionBasedStartup.cs
similarity index 100%
rename from src/Components/src/shared/ConventionBasedStartup.cs
rename to src/Components/Shared/src/ConventionBasedStartup.cs
diff --git a/src/Components/src/shared/IBlazorStartup.cs b/src/Components/Shared/src/IBlazorStartup.cs
similarity index 100%
rename from src/Components/src/shared/IBlazorStartup.cs
rename to src/Components/Shared/src/IBlazorStartup.cs
diff --git a/src/Components/test/shared/AssertFrame.cs b/src/Components/Shared/test/AssertFrame.cs
similarity index 100%
rename from src/Components/test/shared/AssertFrame.cs
rename to src/Components/Shared/test/AssertFrame.cs
diff --git a/src/Components/test/shared/AutoRenderComponent.cs b/src/Components/Shared/test/AutoRenderComponent.cs
similarity index 100%
rename from src/Components/test/shared/AutoRenderComponent.cs
rename to src/Components/Shared/test/AutoRenderComponent.cs
diff --git a/src/Components/test/shared/CapturedBatch.cs b/src/Components/Shared/test/CapturedBatch.cs
similarity index 100%
rename from src/Components/test/shared/CapturedBatch.cs
rename to src/Components/Shared/test/CapturedBatch.cs
diff --git a/src/Components/test/shared/IComponentExtensions.cs b/src/Components/Shared/test/IComponentExtensions.cs
similarity index 100%
rename from src/Components/test/shared/IComponentExtensions.cs
rename to src/Components/Shared/test/IComponentExtensions.cs
diff --git a/src/Components/test/shared/TestRenderer.cs b/src/Components/Shared/test/TestRenderer.cs
similarity index 100%
rename from src/Components/test/shared/TestRenderer.cs
rename to src/Components/Shared/test/TestRenderer.cs
diff --git a/src/Components/test/shared/TestServiceProvider.cs b/src/Components/Shared/test/TestServiceProvider.cs
similarity index 100%
rename from src/Components/test/shared/TestServiceProvider.cs
rename to src/Components/Shared/test/TestServiceProvider.cs
diff --git a/src/Components/benchmarks/Microsoft.AspNetCore.Components.Performance/Microsoft.AspNetCore.Components.Performance.csproj b/src/Components/benchmarks/Microsoft.AspNetCore.Components.Performance/Microsoft.AspNetCore.Components.Performance.csproj
deleted file mode 100644
index fa52be72bbc..00000000000
--- a/src/Components/benchmarks/Microsoft.AspNetCore.Components.Performance/Microsoft.AspNetCore.Components.Performance.csproj
+++ /dev/null
@@ -1,19 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-  <PropertyGroup>
-    <TargetFramework>netcoreapp3.0</TargetFramework>
-    <OutputType>Exe</OutputType>
-    <ServerGarbageCollection>true</ServerGarbageCollection>
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\..\src\Microsoft.AspNetCore.Components\Microsoft.AspNetCore.Components.csproj" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <PackageReference Include="BenchmarkDotNet" Version="$(BenchmarkDotNetPackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.BenchmarkRunner.Sources" Version="$(MicrosoftAspNetCoreBenchmarkRunnerSourcesPackageVersion)" />
-  </ItemGroup>
-
-</Project>
diff --git a/src/Components/blazor/Directory.Build.props b/src/Components/blazor/Directory.Build.props
deleted file mode 100644
index 7caa7ec3f9f..00000000000
--- a/src/Components/blazor/Directory.Build.props
+++ /dev/null
@@ -1,4 +0,0 @@
-<Project>
-  <Import Project="..\Directory.Build.props" />
-  <Import Project=".\version.props" />
-</Project>
diff --git a/src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/Directory.Build.props b/src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/Directory.Build.props
deleted file mode 100644
index 7e3b3789a9b..00000000000
--- a/src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/Directory.Build.props
+++ /dev/null
@@ -1,7 +0,0 @@
-<Project>
-  <PropertyGroup>
-    <!-- Workaround for #261 which requires the bin and obj directory be in the project directory -->
-    <DisableArcadeProjectLayout>true</DisableArcadeProjectLayout>
-  </PropertyGroup>
-  <Import Project="..\..\Directory.Build.props" />
-</Project>
diff --git a/src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/Microsoft.AspNetCore.Blazor.E2EPerformance.csproj b/src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/Microsoft.AspNetCore.Blazor.E2EPerformance.csproj
deleted file mode 100644
index 171caedbca5..00000000000
--- a/src/Components/blazor/benchmarks/Microsoft.AspNetCore.Blazor.E2EPerformance/Microsoft.AspNetCore.Blazor.E2EPerformance.csproj
+++ /dev/null
@@ -1,18 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk.Web">
-
-  <PropertyGroup>
-    <TargetFramework>netstandard2.0</TargetFramework>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\..\src\Microsoft.AspNetCore.Blazor\Microsoft.AspNetCore.Blazor.csproj" />
-  </ItemGroup>
-
-  <!-- Local alternative to <PackageReference Include="Microsoft.AspNetCore.Blazor.Build" /> -->
-  <Import Project="..\..\src\Microsoft.AspNetCore.Blazor.Build\ReferenceFromSource.props" />
-
-  <ItemGroup>
-    <!-- Allow the build to specify the version of the Razor SDK directly -->
-    <PackageReference Include="Microsoft.NET.Sdk.Razor" Version="$(MicrosoftNETSdkRazorPackageVersion)" PrivateAssets="All" />
-  </ItemGroup>
-</Project>
diff --git a/src/Components/blazor/samples/Directory.Build.props b/src/Components/blazor/samples/Directory.Build.props
deleted file mode 100644
index d0da6a5df34..00000000000
--- a/src/Components/blazor/samples/Directory.Build.props
+++ /dev/null
@@ -1,7 +0,0 @@
-<Project>
-  <PropertyGroup>
-    <!-- Workaround for #261 which requires the bin and obj directory be in the project directory -->
-    <DisableArcadeProjectLayout>true</DisableArcadeProjectLayout>
-  </PropertyGroup>
-  <Import Project="..\Directory.Build.props" />
-</Project>
diff --git a/src/Components/blazor/samples/HostedInAspNet.Client/HostedInAspNet.Client.csproj b/src/Components/blazor/samples/HostedInAspNet.Client/HostedInAspNet.Client.csproj
deleted file mode 100644
index 8ebc1dcf714..00000000000
--- a/src/Components/blazor/samples/HostedInAspNet.Client/HostedInAspNet.Client.csproj
+++ /dev/null
@@ -1,19 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk.Web">
-
-  <PropertyGroup>
-    <TargetFramework>netstandard2.0</TargetFramework>
-    <OutputType>Exe</OutputType>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\..\src\Microsoft.AspNetCore.Blazor\Microsoft.AspNetCore.Blazor.csproj" />
-  </ItemGroup>
-
-  <!-- Local alternative to <PackageReference Include="Microsoft.AspNetCore.Blazor.Build" /> -->
-  <Import Project="..\..\src\Microsoft.AspNetCore.Blazor.Build\ReferenceFromSource.props" />
-
-  <ItemGroup>
-    <!-- Allow the build to specify the version of the Razor SDK directly -->
-    <PackageReference Include="Microsoft.NET.Sdk.Razor" Version="$(MicrosoftNETSdkRazorPackageVersion)" PrivateAssets="All" />
-  </ItemGroup>
-</Project>
diff --git a/src/Components/blazor/samples/HostedInAspNet.Server/HostedInAspNet.Server.csproj b/src/Components/blazor/samples/HostedInAspNet.Server/HostedInAspNet.Server.csproj
deleted file mode 100644
index 5e2b98c8104..00000000000
--- a/src/Components/blazor/samples/HostedInAspNet.Server/HostedInAspNet.Server.csproj
+++ /dev/null
@@ -1,32 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk.Web">
-
-  <PropertyGroup>
-    <TargetFramework>netcoreapp3.0</TargetFramework>
-
-    <!--
-      This is a workaround that's needed because Microsoft.AspNetCore.App includes the OLD Razor.Design
-      package and MSBuild support. We don't want those features to be used with the new SDK. Basically
-      combining netcoreapp3.0 and and Razor.Design will result in duplicate assembly attributes.
-
-      See: https://github.com/aspnet/AspNetCore/issues/6182
-
-      This workaround can be removed when this project is converted to the shared framework.
-    -->
-    <GenerateProvideApplicationPartFactoryAttribute>false</GenerateProvideApplicationPartFactoryAttribute>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.App" Version="$(MicrosoftAspNetCoreAppPackageVersion)" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\..\..\src\Microsoft.AspNetCore.Components.Server\Microsoft.AspNetCore.Components.Server.csproj" />
-    <ProjectReference Include="..\..\src\Microsoft.AspNetCore.Blazor.Server\Microsoft.AspNetCore.Blazor.Server.csproj" />
-    <ProjectReference Include="..\HostedInAspNet.Client\HostedInAspNet.Client.csproj" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <!-- Allow the build to specify the version of the Razor SDK directly -->
-    <PackageReference Include="Microsoft.NET.Sdk.Razor" Version="$(MicrosoftNETSdkRazorPackageVersion)" PrivateAssets="All" />
-  </ItemGroup>
-</Project>
diff --git a/src/Components/blazor/samples/MonoSanityClient/MonoSanityClient.csproj b/src/Components/blazor/samples/MonoSanityClient/MonoSanityClient.csproj
deleted file mode 100644
index 23b5d92471d..00000000000
--- a/src/Components/blazor/samples/MonoSanityClient/MonoSanityClient.csproj
+++ /dev/null
@@ -1,20 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk.Razor" TreatAsLocalProperty="BlazorLinkOnBuild">
-
-  <PropertyGroup>
-    <TargetFramework>netstandard2.0</TargetFramework>
-    <IsPackable>false</IsPackable>
-    <BlazorLinkOnBuild>false</BlazorLinkOnBuild>
-    <OutputType>exe</OutputType>
-
-    <!-- loader.js is hard-coded to assume it can load .pdbs regardless of Debug/Release configuration -->
-    <BlazorEnableDebugging>true</BlazorEnableDebugging>
-  </PropertyGroup>
-
-  <!-- Local alternative to <PackageReference Include="Microsoft.AspNetCore.Blazor.Build" /> -->
-  <Import Project="..\..\src\Microsoft.AspNetCore.Blazor.Build\ReferenceFromSource.props" />
-
-  <ItemGroup>
-    <!-- Allow the build to specify the version of the Razor SDK directly -->
-    <PackageReference Include="Microsoft.NET.Sdk.Razor" Version="$(MicrosoftNETSdkRazorPackageVersion)" PrivateAssets="All" />
-  </ItemGroup>
-</Project>
diff --git a/src/Components/blazor/samples/StandaloneApp/StandaloneApp.csproj b/src/Components/blazor/samples/StandaloneApp/StandaloneApp.csproj
deleted file mode 100644
index 171caedbca5..00000000000
--- a/src/Components/blazor/samples/StandaloneApp/StandaloneApp.csproj
+++ /dev/null
@@ -1,18 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk.Web">
-
-  <PropertyGroup>
-    <TargetFramework>netstandard2.0</TargetFramework>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\..\src\Microsoft.AspNetCore.Blazor\Microsoft.AspNetCore.Blazor.csproj" />
-  </ItemGroup>
-
-  <!-- Local alternative to <PackageReference Include="Microsoft.AspNetCore.Blazor.Build" /> -->
-  <Import Project="..\..\src\Microsoft.AspNetCore.Blazor.Build\ReferenceFromSource.props" />
-
-  <ItemGroup>
-    <!-- Allow the build to specify the version of the Razor SDK directly -->
-    <PackageReference Include="Microsoft.NET.Sdk.Razor" Version="$(MicrosoftNETSdkRazorPackageVersion)" PrivateAssets="All" />
-  </ItemGroup>
-</Project>
diff --git a/src/Components/blazor/src/Directory.Build.props b/src/Components/blazor/src/Directory.Build.props
deleted file mode 100644
index f6dae88d2c1..00000000000
--- a/src/Components/blazor/src/Directory.Build.props
+++ /dev/null
@@ -1,12 +0,0 @@
-<Project>
-  <Import Project="..\Directory.Build.props" />
-
-  <PropertyGroup>
-    <GenerateDocumentationFile>true</GenerateDocumentationFile>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <None Include="$(RepositoryRoot)THIRD-PARTY-NOTICES.txt" Pack="true" PackagePath="." />
-  </ItemGroup>
-
-</Project>
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/Properties/AssemblyInfo.cs b/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/Properties/AssemblyInfo.cs
deleted file mode 100644
index 65917c9ab28..00000000000
--- a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Build/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,3 +0,0 @@
-using System.Runtime.CompilerServices;
-
-[assembly: InternalsVisibleTo("Microsoft.AspNetCore.Blazor.Build.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Server/Microsoft.AspNetCore.Blazor.Server.csproj b/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Server/Microsoft.AspNetCore.Blazor.Server.csproj
deleted file mode 100644
index b69e5a67410..00000000000
--- a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Server/Microsoft.AspNetCore.Blazor.Server.csproj
+++ /dev/null
@@ -1,19 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-  <PropertyGroup>
-    <TargetFramework>netstandard2.0</TargetFramework>
-    <Description>Runtime server features for ASP.NET Core Blazor applications.</Description>
-    <IsProductPackage>true</IsProductPackage>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.Hosting.Abstractions" Version="$(AspNetCorePackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.WebSockets" Version="$(AspNetCorePackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.Hosting.Abstractions" Version="$(AspNetCorePackageVersion)" />
-    <PackageReference Include="Newtonsoft.Json" Version="$(NewtonsoftJsonPackageVersion)" />
-
-    <!-- Used by ws-proxy sources only. Remove this once we're able to consume ws-proxy as a NuGet package. -->
-    <PackageReference Include="Mono.Cecil" Version="$(MonoCecilPackageVersion)" />
-  </ItemGroup>
-
-</Project>
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/Directory.Build.props b/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/Directory.Build.props
deleted file mode 100644
index ccfbc46387a..00000000000
--- a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor.Templates/Directory.Build.props
+++ /dev/null
@@ -1,8 +0,0 @@
-<Project>
-  <Import Project="..\Directory.Build.props" />
-
-  <PropertyGroup>
-    <GenerateDocumentationFile>false</GenerateDocumentationFile>
-  </PropertyGroup>
-
-</Project>
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor/Microsoft.AspNetCore.Blazor.csproj b/src/Components/blazor/src/Microsoft.AspNetCore.Blazor/Microsoft.AspNetCore.Blazor.csproj
deleted file mode 100644
index 1aa8b3eba5c..00000000000
--- a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor/Microsoft.AspNetCore.Blazor.csproj
+++ /dev/null
@@ -1,22 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-  <PropertyGroup>
-    <TargetFramework>netstandard2.0</TargetFramework>
-    <Description>Build client-side single-page applications (SPAs) with Razor Components running under WebAssembly.</Description>
-    <IsProductPackage>true</IsProductPackage>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Mono.WebAssembly.Interop" Version="$(MonoWebAssemblyInteropPackageVersion)" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <Compile Include="..\..\..\src\shared\ConventionBasedStartup.cs" Link="Hosting\ConventionBasedStartup.cs" />
-    <Compile Include="..\..\..\src\shared\IBlazorStartup.cs" Link="Hosting\IBlazorStartup.cs" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\..\..\src\Microsoft.AspNetCore.Components.Browser\Microsoft.AspNetCore.Components.Browser.csproj" />
-  </ItemGroup>
-
-</Project>
diff --git a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor/Properties/AssemblyInfo.cs b/src/Components/blazor/src/Microsoft.AspNetCore.Blazor/Properties/AssemblyInfo.cs
deleted file mode 100644
index b98f74583cc..00000000000
--- a/src/Components/blazor/src/Microsoft.AspNetCore.Blazor/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,3 +0,0 @@
-using System.Runtime.CompilerServices;
-
-[assembly: InternalsVisibleTo("Microsoft.AspNetCore.Blazor.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
diff --git a/src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Test/Microsoft.AspNetCore.Blazor.Test.csproj b/src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Test/Microsoft.AspNetCore.Blazor.Test.csproj
deleted file mode 100644
index 1d8343d0ff7..00000000000
--- a/src/Components/blazor/test/Microsoft.AspNetCore.Blazor.Test/Microsoft.AspNetCore.Blazor.Test.csproj
+++ /dev/null
@@ -1,26 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-  <PropertyGroup>
-    <TargetFramework>netcoreapp3.0</TargetFramework>
-
-    <IsPackable>false</IsPackable>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
-    <PackageReference Include="xunit" Version="2.3.1" />
-    <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
-    <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
-  </ItemGroup>
-
-  <ItemGroup>
-
-    <!-- Shared sources -->
-    <Compile Include="..\shared\**\*.cs" Link="Helpers\%(Filename)%(Extension)" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\..\src\Microsoft.AspNetCore.Blazor\Microsoft.AspNetCore.Blazor.csproj" />
-  </ItemGroup>
-
-</Project>
diff --git a/src/Components/blazor/version.props b/src/Components/blazor/version.props
deleted file mode 100644
index 7d3d4d3b104..00000000000
--- a/src/Components/blazor/version.props
+++ /dev/null
@@ -1,19 +0,0 @@
-<Project>
-  <PropertyGroup>
-    <ComponentsPackageVersion>$(PackageVersion)</ComponentsPackageVersion>
-
-    <!-- When editing any version prefix here, remember also to update
-         tooling\Microsoft.VisualStudio.BlazorExtension\Properties\AssemblyInfo.cs
-         to include the new version in its upper bounds -->
-    <IsFinalBuild>false</IsFinalBuild>
-    <VersionPrefix>0.8.0</VersionPrefix>
-    <VersionSuffix>preview</VersionSuffix>
-    <PackageVersion></PackageVersion> <!-- Override anything set at the repo level -->
-    <PackageVersion Condition="'$(IsFinalBuild)' == 'true' AND '$(VersionSuffix)' == 'rtm' ">$(VersionPrefix)</PackageVersion>
-    <PackageVersion Condition="'$(IsFinalBuild)' == 'true' AND '$(VersionSuffix)' != 'rtm' ">$(VersionPrefix)-$(VersionSuffix)-final</PackageVersion>
-    <!-- use the build number from VSTS -->
-    <BuildNumber Condition="'$(BuildNumber)' == '' and '$(BUILD_BUILDNUMBER)' != ''">$(BUILD_BUILDNUMBER)</BuildNumber>
-    <BuildNumber Condition="'$(BuildNumber)' == ''">t000</BuildNumber>
-    <VersionSuffix Condition="'$(VersionSuffix)' != '' And '$(BuildNumber)' != ''">$(VersionSuffix)-$(BuildNumber)</VersionSuffix>
-  </PropertyGroup>
-</Project>
diff --git a/src/Components/build.cmd b/src/Components/build.cmd
index 3b0c1b533a7..033fe6f6146 100644
--- a/src/Components/build.cmd
+++ b/src/Components/build.cmd
@@ -1,3 +1,3 @@
 @ECHO OFF
-SET RepoRoot="%~dp0..\.."
-%RepoRoot%\build.cmd -All -RepoRoot %~dp0 %*
+SET RepoRoot=%~dp0..\..
+%RepoRoot%\build.cmd -projects %~dp0\**\*.*proj %*
diff --git a/src/Components/build.sh b/src/Components/build.sh
index 1e74b5d6f7d..7046bb98a0f 100755
--- a/src/Components/build.sh
+++ b/src/Components/build.sh
@@ -4,4 +4,4 @@ set -euo pipefail
 
 DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
 repo_root="$DIR/../.."
-"$repo_root/build.sh" -All -RepoRoot "$DIR" "$@"
+"$repo_root/build.sh" --projects "$DIR/**/*.*proj" "$@"
diff --git a/src/Components/build/Key.snk b/src/Components/build/Key.snk
deleted file mode 100644
index e10e4889c125d3120cd9e81582243d70f7cbb806..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 596
zcmZQ)VqjoUVPFUfb~IvOVPIfnU}X4grOD#I^18#x&5Bl&pVqW&DLUcD-Nh&Mq%VEt
zk8k(p#@E{htx<l`byR}!<DIEo`zFXP_SKqaz3R4zl=$(w&qq`5#yw^Ao_Icaw@ua#
z`=ZrW>tEXPA3kK#UFN@j!^Q)}wogSO*R6JoU~btzx8%s9#+2=6AG!aSxQo40W^TLI
zrQK^2X5DbvF)3T}f61Ret%nrm2TUk?zBg(0lViJg8tgaO-0#=B>(Gq#8MmJ^Jl%Qy
z*mwKVD4TR$*Mr^rtIj=TGW{eUcVk7M?&SB6Vm$sTPTg(rGb8hJ%tVIhbsz5Zs<fpA
z2h?mS+1b0&YU`Q}IaVdB-nu5IOjTH$5PZ?l?ZiK?mScD4hcvCuv}8JNc}3y;Bk8ci
z{PQfbmNT{n8tk)A7Fhe|wGxwp)x<qH>~mVZoiEiq+%o&|+FRWoib-lM(~sA@obtcz
z=Jtusm$w_Z`F5Lbo-A~dRXZW8kv*Mlp0AsS{La(H!mF04<gL%@Zq%~vV=X?FX~Vry
z)~@$ePMSSq?8Z6u5!!qG1Fx*PbiJRuTjy-(dse3<Vy*RWB!8V*x@Af^!+|^jhp11-
zEsYMTvrd~`67nqbn!S_O-C(yLf!Bm~YFr7pDx&eO_pqv}h1lG%{X1)RCGfY()tIyi
z7fIUZtbS4@>M=)Budd?4_NjU<6P*udR|$UKY8KV0)xw)}XFbc@2lY+?Kf6qsotD|C
zaYioK>a6={s}D=o8>h6lv%^-mZ2z%(vjZomey)7mB!|CI@z36Hnq@5U{Lhx^{*-ft
JsC+#S2LQXs7>57=

diff --git a/src/Components/build/VSIX.targets b/src/Components/build/VSIX.targets
deleted file mode 100644
index c75e047fd45..00000000000
--- a/src/Components/build/VSIX.targets
+++ /dev/null
@@ -1,80 +0,0 @@
-<Project>
-  <PropertyGroup>
-    <BuildVSIX Condition="'$(BuildVSIX)' ==''">false</BuildVSIX>
-    <RestoreDependsOn Condition="'$(OS)'=='Windows_NT' AND '$(BuildVSIX)' == 'true'">$(RestoreDependsOn);RestoreVSIX</RestoreDependsOn>
-    <PackageDependsOn Condition="'$(OS)'=='Windows_NT' AND '$(BuildVSIX)' == 'true'">$(PackageDependsOn);PackageVSIX</PackageDependsOn>
-    <VSIXProject>$(RepositoryRoot)blazor\tooling\Microsoft.VisualStudio.BlazorExtension\Microsoft.VisualStudio.BlazorExtension.csproj</VSIXProject>
-  </PropertyGroup>
-
-  <Target
-    Name="GenerateVSIX"
-    DependsOnTargets="RestoreVSIX;PackageVSIX"
-    Condition="'$(OS)'=='Windows_NT'" />
-
-  <!--
-    VisualStudioMSBuildx86Path is set by the GetToolsets target in KoreBuild if a version of VS matching the requirements in korebuild.json is found.
-   -->
-  <Target Name="RestoreVSIX" DependsOnTargets="GetToolsets">
-
-    <PropertyGroup>
-      <VSIXResponseFilePath>$(LogOutputDir)vsix-restore.rsp</VSIXResponseFilePath>
-    </PropertyGroup>
-
-    <ItemGroup>
-      <MSBuildArguments Remove="@(MSBuildArguments)" />
-      <MSBuildArguments Include="
-        &quot;$(VSIXProject);&quot;
-        /t:Restore;
-        /v:m;
-        /p:Configuration=$(Configuration);
-        /p:BuildNumber=$(BuildNumber);" />
-      <MSBuildArguments Include="/p:DotNetPackageVersionPropsPath=$(DotNetPackageVersionPropsPath)" Condition="'$(DotNetPackageVersionPropsPath)' != ''" />
-      <MSBuildArguments Include="/p:DotNetRestoreSourcePropsPath=$(DotNetRestoreSourcePropsPath)" Condition="'$(DotNetRestoreSourcePropsPath)' != ''" />
-    </ItemGroup>
-
-    <MakeDir Directories="$(LogOutputDir)" />
-
-    <WriteLinesToFile
-      File="$(VSIXResponseFilePath)"
-      Lines="@(MSBuildArguments)"
-      Overwrite="true" />
-
-    <Exec Command="&quot;$(VisualStudioMSBuildx86Path)&quot; @&quot;$(VSIXResponseFilePath)&quot;"
-      Condition="'$(VisualStudioMSBuildx86Path)' != ''" />
-  </Target>
-
-  <Target Name="PackageVSIX" DependsOnTargets="GetToolsets">
-
-    <Warning Text="Could not find a version of Visual Studio that has the Visual Studio SDK installed. This is required to build the Razor VSIX. Skipping."
-      Condition="'$(VisualStudioMSBuildx86Path)' == ''" />
-
-    <PropertyGroup>
-      <VSIXLogFilePath>$(LogOutputDir)vsix.log</VSIXLogFilePath>
-      <VSIXResponseFilePath>$(LogOutputDir)vsix-build.rsp</VSIXResponseFilePath>
-    </PropertyGroup>
-
-    <ItemGroup>
-      <MSBuildArguments Remove="@(MSBuildArguments)" />
-      <MSBuildArguments Include="
-        &quot;$(VSIXProject)&quot;;
-        /v:M;
-        /fl;
-        &quot;/flp:LogFile=$(VSIXLogFilePath)&quot;;
-        /p:BuildProjectReferences=false;
-        /p:DeployExtension=false;
-        &quot;/p:SymbolsPublishDir=$(BuildDir)&quot;;
-        &quot;/p:Configuration=$(Configuration)&quot;;" />
-    </ItemGroup>
-
-    <MakeDir Directories="$(LogOutputDir)" />
-
-    <WriteLinesToFile
-      File="$(VSIXResponseFilePath)"
-      Lines="@(MSBuildArguments)"
-      Overwrite="true" />
-
-    <Exec Command="&quot;$(VisualStudioMSBuildx86Path)&quot; @&quot;$(VSIXResponseFilePath)&quot;"
-      Condition="'$(VisualStudioMSBuildx86Path)' != ''" />
-  </Target>
-
-</Project>
diff --git a/src/Components/build/arcade.props b/src/Components/build/arcade.props
deleted file mode 100644
index f16f0b2bffb..00000000000
--- a/src/Components/build/arcade.props
+++ /dev/null
@@ -1,36 +0,0 @@
-<!--
-These settings align older versions of KoreBuild with the layout expected by arcade tooling.
-This files is a temporary while this project transitions to using arcade.
--->
-<Project>
-
-  <!--
-    Project output layout.
-
-    These properties overrdie the default locations to obj and bin directories.
-  -->
-
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ArtifactsDir Condition="'$(ArtifactsDir)' == ''">$(RepositoryRoot)artifacts\</ArtifactsDir>
-    <ArtifactsObjDir>$(ArtifactsDir)obj\</ArtifactsObjDir>
-    <ArtifactsConfigurationDir>$(ArtifactsDir)$(Configuration)\</ArtifactsConfigurationDir>
-    <ArtifactsBinDir>$(ArtifactsConfigurationDir)bin\</ArtifactsBinDir>
-  </PropertyGroup>
-
-  <PropertyGroup Condition="'$(DisableArcadeProjectLayout)' != 'true'">
-    <OutDirName Condition="'$(OutDirName)' == ''">$(MSBuildProjectName)</OutDirName>
-
-    <BaseOutputPath Condition="'$(BaseOutputPath)' == ''">$([System.IO.Path]::GetFullPath('$(ArtifactsBinDir)$(OutDirName)\'))</BaseOutputPath>
-    <OutputPath>$(BaseOutputPath)</OutputPath>
-    <OutputPath Condition="'$(PlatformName)' != 'AnyCPU'">$(OutputPath)$(PlatformName)\</OutputPath>
-    <OutputPath Condition=" ! HasTrailingSlash($(OutputPath)) ">$(OutputPath)\</OutputPath>
-
-    <BaseIntermediateOutputPath Condition=" '$(BaseIntermediateOutputPath)' == '' ">$([System.IO.Path]::GetFullPath('$(ArtifactsObjDir)$(MSBuildProjectName)'))</BaseIntermediateOutputPath>
-    <BaseIntermediateOutputPath Condition=" ! HasTrailingSlash($(BaseIntermediateOutputPath)) ">$(BaseIntermediateOutputPath)\</BaseIntermediateOutputPath>
-    <IntermediateOutputPath Condition="'$(PlatformName)' == 'AnyCPU'">$(BaseIntermediateOutputPath)$(Configuration)\</IntermediateOutputPath>
-    <IntermediateOutputPath Condition="'$(PlatformName)' != 'AnyCPU'">$(BaseIntermediateOutputPath)$(PlatformName)\$(Configuration)\</IntermediateOutputPath>
-  </PropertyGroup>
-
-</Project>
diff --git a/src/Components/build/dependencies.props b/src/Components/build/dependencies.props
deleted file mode 100644
index 13fac9d3abb..00000000000
--- a/src/Components/build/dependencies.props
+++ /dev/null
@@ -1,27 +0,0 @@
-<Project>
-  <PropertyGroup>
-    <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
-  </PropertyGroup>
-
-  <PropertyGroup Label="Package Versions"><!-- Used only in development when running the template contents directly from source -->
-    <AspNetCorePackageVersion>3.0.0-alpha1-10605</AspNetCorePackageVersion>
-    <BenchmarkDotNetPackageVersion>0.10.13</BenchmarkDotNetPackageVersion>
-    <InternalAspNetCoreSdkPackageVersion>3.0.0-alpha1-20181011.3</InternalAspNetCoreSdkPackageVersion>
-    <MicrosoftAspNetCoreBenchmarkRunnerSourcesPackageVersion>2.2.0-preview1-34576</MicrosoftAspNetCoreBenchmarkRunnerSourcesPackageVersion>
-    <MicrosoftAspNetCoreAppPackageVersion>3.0.0-alpha1-10605</MicrosoftAspNetCoreAppPackageVersion>
-    <MicrosoftAspNetCoreHtmlAbstractionsPackageVersion>3.0.0-alpha1-10605</MicrosoftAspNetCoreHtmlAbstractionsPackageVersion>
-    <MicrosoftAspNetCoreRazorDesignPackageVersion>3.0.0-alpha1-10605</MicrosoftAspNetCoreRazorDesignPackageVersion>
-    <MicrosoftExtensionsDependencyInjectionPackageVersion>3.0.0-alpha1-10605</MicrosoftExtensionsDependencyInjectionPackageVersion>
-    <MicrosoftNETSdkRazorPackageVersion>3.0.0-preview-19064-09</MicrosoftNETSdkRazorPackageVersion>
-    <MonoCecilPackageVersion>0.10.1</MonoCecilPackageVersion>
-    <SignalRPackageVersion>3.0.0-alpha1-10605</SignalRPackageVersion>
-    <TemplateBlazorPackageVersion>0.8.0-preview-19064-0339</TemplateBlazorPackageVersion>
-    <TemplateComponentsPackageVersion>3.0.0-preview-19064-0339</TemplateComponentsPackageVersion>
-    <TemplateRazorDesignPackageVersion>2.1.2</TemplateRazorDesignPackageVersion>
-    <MicrosoftAspNetCoreBlazorMonoPackageVersion>0.8.0-preview1-20181126.1</MicrosoftAspNetCoreBlazorMonoPackageVersion>
-
-    <MicrosoftJSInteropPackageVersion>3.0.0-preview.19059.5</MicrosoftJSInteropPackageVersion>
-
-    <MonoWebAssemblyInteropPackageVersion>0.8.0-preview1-20181126.4</MonoWebAssemblyInteropPackageVersion>
-  </PropertyGroup>
-</Project>
diff --git a/src/Components/build/repo.props b/src/Components/build/repo.props
deleted file mode 100644
index 1bd453eff96..00000000000
--- a/src/Components/build/repo.props
+++ /dev/null
@@ -1,44 +0,0 @@
-<Project>
-  <Import Project="dependencies.props" />
-
-  <PropertyGroup>
-    <OverridePackageOutputPath>false</OverridePackageOutputPath>
-  </PropertyGroup>
-
-  <!-- Properties to make KoreBuild more like dotnet/arcade. -->
-  <PropertyGroup>
-    <SkipArtifactVerification>true</SkipArtifactVerification>
-  </PropertyGroup>
-
-  <PropertyGroup>
-    <!-- Let us hardcode versions -->
-    <DisablePackageReferenceRestrictions>true</DisablePackageReferenceRestrictions>
-  </PropertyGroup>
-
-  <!-- Submodule support -->
-  <ItemGroup>
-    <ProjectsToTest Include="$(RepositoryRoot)modules\*\test\*\*.csproj" />
-    <ProjectsToPack Include="$(RepositoryRoot)modules\*\src\*\*.csproj" />
-  </ItemGroup>
-
-  <!-- blazor subfolder -->
-  <ItemGroup>
-    <ProjectsToTest Include="$(RepositoryRoot)blazor\test\*\*.csproj" />
-    <ProjectsToPack Include="$(RepositoryRoot)blazor\src\*\*.csproj" />
-  </ItemGroup>
-
-  <!--
-    Temporarily disabled until this runs on macOS
-  -->
-  <ItemGroup Condition="'$(BlazorAllTests)'!='true'">
-    <ExcludeFromTest Include="$(RepositoryRoot)test\Microsoft.AspNetCore.Components.E2ETest\Microsoft.AspNetCore.Components.E2ETest.csproj" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <DotNetCoreRuntime Include="$(MicrosoftNETCoreAppPackageVersion)" />
-
-    <!-- TODO remove this and upgrade to build tools that use .NET Core 3.0-->
-    <DotNetCoreRuntime Include="2.2.0" />
-  </ItemGroup>
-
-</Project>
diff --git a/src/Components/build/repo.targets b/src/Components/build/repo.targets
deleted file mode 100644
index b9ef5200366..00000000000
--- a/src/Components/build/repo.targets
+++ /dev/null
@@ -1,9 +0,0 @@
-<Project>
-  <Import Project="VSIX.targets" />
-  <ItemGroup>
-    <Solutions Update="$(RepositoryRoot)Components.sln">
-      <!-- the 'DebugNoVSIX' and 'ReleaseNoVSIX' configurations exclude the VSIX project, which doesn't build with Microsoft.NET.Sdk yet. -->
-      <AdditionalProperties>Configuration=$(Configuration)NoVSIX</AdditionalProperties>
-    </Solutions>
-  </ItemGroup>
-</Project>
diff --git a/src/Components/build/sources.props b/src/Components/build/sources.props
deleted file mode 100644
index 9215df9751b..00000000000
--- a/src/Components/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>
diff --git a/src/Components/samples/ComponentsApp.App/ComponentsApp.App.csproj b/src/Components/samples/ComponentsApp.App/ComponentsApp.App.csproj
deleted file mode 100644
index 6e2b68355e9..00000000000
--- a/src/Components/samples/ComponentsApp.App/ComponentsApp.App.csproj
+++ /dev/null
@@ -1,21 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk.Razor">
-
-  <PropertyGroup>
-    <TargetFramework>netstandard2.0</TargetFramework>
-  </PropertyGroup>
-
-  <!-- Local equivalent to a package reference to Microsoft.AspNetCore.Components.Build -->
-  <Import Project="..\..\src\Microsoft.AspNetCore.Components.Build\ReferenceFromSource.props" />
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="$(AspNetCorePackageVersion)" />
-    <ProjectReference Include="..\..\src\Microsoft.AspNetCore.Components\Microsoft.AspNetCore.Components.csproj" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <!-- Allow the build to specify the version of the Razor SDK directly -->
-    <PackageReference Include="Microsoft.NET.Sdk.Razor" Version="$(MicrosoftNETSdkRazorPackageVersion)" PrivateAssets="All" />
-  </ItemGroup>
-
-</Project>
-
diff --git a/src/Components/samples/ComponentsApp.Server/ComponentsApp.Server.csproj b/src/Components/samples/ComponentsApp.Server/ComponentsApp.Server.csproj
deleted file mode 100644
index 40d92c72957..00000000000
--- a/src/Components/samples/ComponentsApp.Server/ComponentsApp.Server.csproj
+++ /dev/null
@@ -1,20 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk.Web">
-
-    <PropertyGroup>
-        <TargetFramework>netcoreapp3.0</TargetFramework>
-    </PropertyGroup>
-
-    <ItemGroup>
-      <PackageReference Include="Microsoft.AspNetCore" Version="$(AspNetCorePackageVersion)" />
-    </ItemGroup>
-
-    <ItemGroup>
-      <ProjectReference Include="..\..\src\Microsoft.AspNetCore.Components.Server\Microsoft.AspNetCore.Components.Server.csproj" />
-      <ProjectReference Include="..\ComponentsApp.App\ComponentsApp.App.csproj" />
-    </ItemGroup>
-
-  <ItemGroup>
-    <!-- Allow the build to specify the version of the Razor SDK directly -->
-    <PackageReference Include="Microsoft.NET.Sdk.Razor" Version="$(MicrosoftNETSdkRazorPackageVersion)" PrivateAssets="All" />
-  </ItemGroup>
-</Project>
diff --git a/src/Components/samples/Directory.Build.props b/src/Components/samples/Directory.Build.props
deleted file mode 100644
index d0da6a5df34..00000000000
--- a/src/Components/samples/Directory.Build.props
+++ /dev/null
@@ -1,7 +0,0 @@
-<Project>
-  <PropertyGroup>
-    <!-- Workaround for #261 which requires the bin and obj directory be in the project directory -->
-    <DisableArcadeProjectLayout>true</DisableArcadeProjectLayout>
-  </PropertyGroup>
-  <Import Project="..\Directory.Build.props" />
-</Project>
diff --git a/src/Components/src/Directory.Build.props b/src/Components/src/Directory.Build.props
deleted file mode 100644
index f6dae88d2c1..00000000000
--- a/src/Components/src/Directory.Build.props
+++ /dev/null
@@ -1,12 +0,0 @@
-<Project>
-  <Import Project="..\Directory.Build.props" />
-
-  <PropertyGroup>
-    <GenerateDocumentationFile>true</GenerateDocumentationFile>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <None Include="$(RepositoryRoot)THIRD-PARTY-NOTICES.txt" Pack="true" PackagePath="." />
-  </ItemGroup>
-
-</Project>
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Browser/Microsoft.AspNetCore.Components.Browser.csproj b/src/Components/src/Microsoft.AspNetCore.Components.Browser/Microsoft.AspNetCore.Components.Browser.csproj
deleted file mode 100644
index 1d49c29df7c..00000000000
--- a/src/Components/src/Microsoft.AspNetCore.Components.Browser/Microsoft.AspNetCore.Components.Browser.csproj
+++ /dev/null
@@ -1,17 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-  <PropertyGroup>
-    <TargetFramework>netstandard2.0</TargetFramework>
-    <Description>Support for rendering ASP.NET Core components for browsers.</Description>
-    <IsProductPackage>true</IsProductPackage>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="$(AspNetCorePackageVersion)" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\Microsoft.AspNetCore.Components\Microsoft.AspNetCore.Components.csproj" />
-  </ItemGroup>
-
-</Project>
diff --git a/src/Components/src/Microsoft.AspNetCore.Components.Server/Microsoft.AspNetCore.Components.Server.csproj b/src/Components/src/Microsoft.AspNetCore.Components.Server/Microsoft.AspNetCore.Components.Server.csproj
deleted file mode 100644
index 759f6c2c5e1..00000000000
--- a/src/Components/src/Microsoft.AspNetCore.Components.Server/Microsoft.AspNetCore.Components.Server.csproj
+++ /dev/null
@@ -1,33 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-  <PropertyGroup>
-    <TargetFramework>netstandard2.0</TargetFramework>
-    <Description>Runtime server features for ASP.NET Core Components.</Description>
-    <IsProductPackage>true</IsProductPackage>
-    <GenerateEmbeddedFilesManifest>true</GenerateEmbeddedFilesManifest>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <Compile Include="..\shared\ConventionBasedStartup.cs" Link="Hosting\ConventionBasedStartup.cs" />
-    <Compile Include="..\shared\IBlazorStartup.cs" Link="Hosting\IBlazorStartup.cs" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.SignalR" Version="$(SignalRPackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.MessagePack" Version="$(SignalRPackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="$(AspNetCorePackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.SpaServices.Extensions" Version="$(AspNetCorePackageVersion)" />
-    <PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="$(AspNetCorePackageVersion)" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\Microsoft.AspNetCore.Components.Browser\Microsoft.AspNetCore.Components.Browser.csproj" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <!-- We need .Browser.JS to build first so we can embed its .js output -->
-    <ProjectReference Include="..\Microsoft.AspNetCore.Components.Browser.JS\Microsoft.AspNetCore.Components.Browser.JS.csproj" ReferenceOutputAssembly="false" />
-    <EmbeddedResource Include="..\Microsoft.AspNetCore.Components.Browser.JS\dist\components.server.js" LogicalName="frameworkFiles\%(Filename)%(Extension)" />
-  </ItemGroup>
-
-</Project>
diff --git a/src/Components/src/Microsoft.AspNetCore.Components/Properties/AssemblyInfo.cs b/src/Components/src/Microsoft.AspNetCore.Components/Properties/AssemblyInfo.cs
deleted file mode 100644
index fd02281f9b3..00000000000
--- a/src/Components/src/Microsoft.AspNetCore.Components/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,7 +0,0 @@
-using System.Runtime.CompilerServices;
-
-[assembly: InternalsVisibleTo("Microsoft.AspNetCore.Blazor.Build.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
-[assembly: InternalsVisibleTo("Microsoft.AspNetCore.Components.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
-[assembly: InternalsVisibleTo("Microsoft.AspNetCore.Components.Browser.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
-[assembly: InternalsVisibleTo("Microsoft.AspNetCore.Components.Performance, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
-[assembly: InternalsVisibleTo("Microsoft.AspNetCore.Components.Server.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
diff --git a/src/Components/startvs.cmd b/src/Components/startvs.cmd
new file mode 100644
index 00000000000..1eb52561227
--- /dev/null
+++ b/src/Components/startvs.cmd
@@ -0,0 +1,3 @@
+@ECHO OFF
+
+%~dp0..\..\startvs.cmd %~dp0Components.sln
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Infrastructure/BasicTestAppTestBase.cs b/src/Components/test/E2ETest/Infrastructure/BasicTestAppTestBase.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Infrastructure/BasicTestAppTestBase.cs
rename to src/Components/test/E2ETest/Infrastructure/BasicTestAppTestBase.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Infrastructure/BrowserFixture.cs b/src/Components/test/E2ETest/Infrastructure/BrowserFixture.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Infrastructure/BrowserFixture.cs
rename to src/Components/test/E2ETest/Infrastructure/BrowserFixture.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Infrastructure/BrowserTestBase.cs b/src/Components/test/E2ETest/Infrastructure/BrowserTestBase.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Infrastructure/BrowserTestBase.cs
rename to src/Components/test/E2ETest/Infrastructure/BrowserTestBase.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Infrastructure/CaptureSeleniumLogsAttribute.cs b/src/Components/test/E2ETest/Infrastructure/CaptureSeleniumLogsAttribute.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Infrastructure/CaptureSeleniumLogsAttribute.cs
rename to src/Components/test/E2ETest/Infrastructure/CaptureSeleniumLogsAttribute.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Infrastructure/SeleniumStandaloneServer.cs b/src/Components/test/E2ETest/Infrastructure/SeleniumStandaloneServer.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Infrastructure/SeleniumStandaloneServer.cs
rename to src/Components/test/E2ETest/Infrastructure/SeleniumStandaloneServer.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Infrastructure/ServerFixtures/AspNetEnvironment.cs b/src/Components/test/E2ETest/Infrastructure/ServerFixtures/AspNetEnvironment.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Infrastructure/ServerFixtures/AspNetEnvironment.cs
rename to src/Components/test/E2ETest/Infrastructure/ServerFixtures/AspNetEnvironment.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Infrastructure/ServerFixtures/AspNetSiteServerFixture.cs b/src/Components/test/E2ETest/Infrastructure/ServerFixtures/AspNetSiteServerFixture.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Infrastructure/ServerFixtures/AspNetSiteServerFixture.cs
rename to src/Components/test/E2ETest/Infrastructure/ServerFixtures/AspNetSiteServerFixture.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Infrastructure/ServerFixtures/DevHostServerFixture.cs b/src/Components/test/E2ETest/Infrastructure/ServerFixtures/DevHostServerFixture.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Infrastructure/ServerFixtures/DevHostServerFixture.cs
rename to src/Components/test/E2ETest/Infrastructure/ServerFixtures/DevHostServerFixture.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Infrastructure/ServerFixtures/ServerFixture.cs b/src/Components/test/E2ETest/Infrastructure/ServerFixtures/ServerFixture.cs
similarity index 76%
rename from src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Infrastructure/ServerFixtures/ServerFixture.cs
rename to src/Components/test/E2ETest/Infrastructure/ServerFixtures/ServerFixture.cs
index ba9fef2917d..64f44e9da94 100644
--- a/src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Infrastructure/ServerFixtures/ServerFixture.cs
+++ b/src/Components/test/E2ETest/Infrastructure/ServerFixtures/ServerFixture.cs
@@ -2,6 +2,7 @@
 // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
 
 using System;
+using System.Collections.Generic;
 using System.IO;
 using System.Linq;
 using System.Threading;
@@ -10,6 +11,8 @@ namespace Microsoft.AspNetCore.Components.E2ETest.Infrastructure.ServerFixtures
 {
     public abstract class ServerFixture : IDisposable
     {
+        private static readonly Lazy<Dictionary<string, string>> _projects = new Lazy<Dictionary<string, string>>(FindProjects);
+
         public Uri RootUri => _rootUriInitializer.Value;
 
         private readonly Lazy<Uri> _rootUriInitializer;
@@ -31,20 +34,22 @@ namespace Microsoft.AspNetCore.Components.E2ETest.Infrastructure.ServerFixtures
                 Path.GetDirectoryName(typeof(ServerFixture).Assembly.Location));
         }
 
-        protected static string FindSampleOrTestSitePath(string projectName)
+        private static Dictionary<string, string> FindProjects()
         {
             var solutionDir = FindSolutionDir();
-            var possibleLocations = new[]
+            return Directory.GetFiles(solutionDir, "*.csproj", SearchOption.AllDirectories)
+                .ToDictionary(Path.GetFileNameWithoutExtension, Path.GetDirectoryName);
+        }
+
+        protected static string FindSampleOrTestSitePath(string projectName)
+        {
+            var projects = _projects.Value;
+            if (projects.TryGetValue(projectName, out var dir))
             {
-                Path.Combine(solutionDir, "benchmarks", projectName),
-                Path.Combine(solutionDir, "samples", projectName),
-                Path.Combine(solutionDir, "test", "testapps", projectName),
-                Path.Combine(solutionDir, "blazor", "benchmarks", projectName),
-                Path.Combine(solutionDir, "blazor", "samples", projectName),
-            };
-
-            return possibleLocations.FirstOrDefault(Directory.Exists)
-                ?? throw new ArgumentException($"Cannot find a sample or test site with name '{projectName}'.");
+                return dir;
+            }
+
+            throw new ArgumentException($"Cannot find a sample or test site with name '{projectName}'.");
         }
 
         private static string FindClosestDirectoryContaining(
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Infrastructure/ServerFixtures/StaticSiteServerFixture.cs b/src/Components/test/E2ETest/Infrastructure/ServerFixtures/StaticSiteServerFixture.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Infrastructure/ServerFixtures/StaticSiteServerFixture.cs
rename to src/Components/test/E2ETest/Infrastructure/ServerFixtures/StaticSiteServerFixture.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Infrastructure/ServerFixtures/ToggleExecutionModeServerFixture.cs b/src/Components/test/E2ETest/Infrastructure/ServerFixtures/ToggleExecutionModeServerFixture.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Infrastructure/ServerFixtures/ToggleExecutionModeServerFixture.cs
rename to src/Components/test/E2ETest/Infrastructure/ServerFixtures/ToggleExecutionModeServerFixture.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Infrastructure/ServerFixtures/WebHostServerFixture.cs b/src/Components/test/E2ETest/Infrastructure/ServerFixtures/WebHostServerFixture.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Infrastructure/ServerFixtures/WebHostServerFixture.cs
rename to src/Components/test/E2ETest/Infrastructure/ServerFixtures/WebHostServerFixture.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Infrastructure/ServerTestBase.cs b/src/Components/test/E2ETest/Infrastructure/ServerTestBase.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Infrastructure/ServerTestBase.cs
rename to src/Components/test/E2ETest/Infrastructure/ServerTestBase.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Infrastructure/WaitAssert.cs b/src/Components/test/E2ETest/Infrastructure/WaitAssert.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Infrastructure/WaitAssert.cs
rename to src/Components/test/E2ETest/Infrastructure/WaitAssert.cs
diff --git a/src/Components/test/E2ETest/Microsoft.AspNetCore.Components.E2ETests.csproj b/src/Components/test/E2ETest/Microsoft.AspNetCore.Components.E2ETests.csproj
new file mode 100644
index 00000000000..1b2afdccaa6
--- /dev/null
+++ b/src/Components/test/E2ETest/Microsoft.AspNetCore.Components.E2ETests.csproj
@@ -0,0 +1,46 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFramework>netcoreapp3.0</TargetFramework>
+    <DefaultItemExcludes>${DefaultItemExcludes};node_modules\**</DefaultItemExcludes>
+    <!-- WebDriver is not strong-named signed -->
+    <SignAssembly>false</SignAssembly>
+
+    <!--
+      Temporarily disabled until this runs on macOS
+    -->
+    <SkipTests Condition="'$(BlazorAllTests)' != 'true'">true</SkipTests>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Compile Include="$(SharedSourceRoot)Process\**\*.cs" LinkBase="Shared" />
+  </ItemGroup>
+
+  <Target Name="EnsureNpmRestored" BeforeTargets="Build" Condition="!Exists('node_modules') AND '$(BlazorAllTests)'=='true'">
+    <Message Importance="high" Text="Restoring dependencies using 'npm'. This may take several minutes..." />
+    <Exec Command="npm ci" />
+  </Target>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.AspNetCore.Hosting" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel" />
+    <Reference Include="Microsoft.AspNetCore.StaticFiles" />
+    <Reference Include="Selenium.Support" />
+    <Reference Include="Selenium.WebDriver" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <ProjectReference Include="..\..\Blazor\testassets\Microsoft.AspNetCore.Blazor.E2EPerformance\Microsoft.AspNetCore.Blazor.E2EPerformance.csproj" />
+    <ProjectReference Include="..\..\Blazor\testassets\HostedInAspNet.Client\HostedInAspNet.Client.csproj" />
+    <ProjectReference Include="..\..\Blazor\testassets\HostedInAspNet.Server\HostedInAspNet.Server.csproj" />
+    <ProjectReference Include="..\..\Blazor\testassets\MonoSanityClient\MonoSanityClient.csproj" />
+    <ProjectReference Include="..\..\Blazor\testassets\MonoSanity\MonoSanity.csproj" />
+    <ProjectReference Include="..\..\Blazor\testassets\StandaloneApp\StandaloneApp.csproj" />
+    <ProjectReference Include="..\..\Blazor\Cli\src\Microsoft.AspNetCore.Blazor.Cli.csproj" />
+    <ProjectReference Include="..\testassets\ComponentsApp.App\ComponentsApp.App.csproj" />
+    <ProjectReference Include="..\testassets\ComponentsApp.Server\ComponentsApp.Server.csproj" />
+    <ProjectReference Include="..\testassets\BasicTestApp\BasicTestApp.csproj" />
+    <ProjectReference Include="..\testassets\TestServer\TestServer.csproj" />
+  </ItemGroup>
+
+</Project>
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.E2ETest/ServerExecutionTests/ServerComponentRenderingTest.cs b/src/Components/test/E2ETest/ServerExecutionTests/ServerComponentRenderingTest.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.E2ETest/ServerExecutionTests/ServerComponentRenderingTest.cs
rename to src/Components/test/E2ETest/ServerExecutionTests/ServerComponentRenderingTest.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.E2ETest/ServerExecutionTests/ServerExecutionTestExtensions.cs b/src/Components/test/E2ETest/ServerExecutionTests/ServerExecutionTestExtensions.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.E2ETest/ServerExecutionTests/ServerExecutionTestExtensions.cs
rename to src/Components/test/E2ETest/ServerExecutionTests/ServerExecutionTestExtensions.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.E2ETest/ServerExecutionTests/ServerSideAppTest.cs b/src/Components/test/E2ETest/ServerExecutionTests/ServerSideAppTest.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.E2ETest/ServerExecutionTests/ServerSideAppTest.cs
rename to src/Components/test/E2ETest/ServerExecutionTests/ServerSideAppTest.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.E2ETest/ServerExecutionTests/TestSubclasses.cs b/src/Components/test/E2ETest/ServerExecutionTests/TestSubclasses.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.E2ETest/ServerExecutionTests/TestSubclasses.cs
rename to src/Components/test/E2ETest/ServerExecutionTests/TestSubclasses.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Tests/BinaryHttpClientTest.cs b/src/Components/test/E2ETest/Tests/BinaryHttpClientTest.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Tests/BinaryHttpClientTest.cs
rename to src/Components/test/E2ETest/Tests/BinaryHttpClientTest.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Tests/BindTest.cs b/src/Components/test/E2ETest/Tests/BindTest.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Tests/BindTest.cs
rename to src/Components/test/E2ETest/Tests/BindTest.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Tests/CascadingValueTest.cs b/src/Components/test/E2ETest/Tests/CascadingValueTest.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Tests/CascadingValueTest.cs
rename to src/Components/test/E2ETest/Tests/CascadingValueTest.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Tests/ComponentRenderingTest.cs b/src/Components/test/E2ETest/Tests/ComponentRenderingTest.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Tests/ComponentRenderingTest.cs
rename to src/Components/test/E2ETest/Tests/ComponentRenderingTest.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Tests/EventBubblingTest.cs b/src/Components/test/E2ETest/Tests/EventBubblingTest.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Tests/EventBubblingTest.cs
rename to src/Components/test/E2ETest/Tests/EventBubblingTest.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Tests/EventTest.cs b/src/Components/test/E2ETest/Tests/EventTest.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Tests/EventTest.cs
rename to src/Components/test/E2ETest/Tests/EventTest.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Tests/HostedInAspNetTest.cs b/src/Components/test/E2ETest/Tests/HostedInAspNetTest.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Tests/HostedInAspNetTest.cs
rename to src/Components/test/E2ETest/Tests/HostedInAspNetTest.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Tests/HttpClientTest.cs b/src/Components/test/E2ETest/Tests/HttpClientTest.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Tests/HttpClientTest.cs
rename to src/Components/test/E2ETest/Tests/HttpClientTest.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Tests/InteropTest.cs b/src/Components/test/E2ETest/Tests/InteropTest.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Tests/InteropTest.cs
rename to src/Components/test/E2ETest/Tests/InteropTest.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Tests/MonoSanityTest.cs b/src/Components/test/E2ETest/Tests/MonoSanityTest.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Tests/MonoSanityTest.cs
rename to src/Components/test/E2ETest/Tests/MonoSanityTest.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Tests/PerformanceTest.cs b/src/Components/test/E2ETest/Tests/PerformanceTest.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Tests/PerformanceTest.cs
rename to src/Components/test/E2ETest/Tests/PerformanceTest.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Tests/RoutingTest.cs b/src/Components/test/E2ETest/Tests/RoutingTest.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Tests/RoutingTest.cs
rename to src/Components/test/E2ETest/Tests/RoutingTest.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Tests/StandaloneAppTest.cs b/src/Components/test/E2ETest/Tests/StandaloneAppTest.cs
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Tests/StandaloneAppTest.cs
rename to src/Components/test/E2ETest/Tests/StandaloneAppTest.cs
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.E2ETest/package-lock.json b/src/Components/test/E2ETest/package-lock.json
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.E2ETest/package-lock.json
rename to src/Components/test/E2ETest/package-lock.json
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.E2ETest/package.json b/src/Components/test/E2ETest/package.json
similarity index 100%
rename from src/Components/test/Microsoft.AspNetCore.Components.E2ETest/package.json
rename to src/Components/test/E2ETest/package.json
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.Analyzers.Test/Microsoft.AspNetCore.Components.Analyzers.Test.csproj b/src/Components/test/Microsoft.AspNetCore.Components.Analyzers.Test/Microsoft.AspNetCore.Components.Analyzers.Test.csproj
deleted file mode 100644
index d108dd48f97..00000000000
--- a/src/Components/test/Microsoft.AspNetCore.Components.Analyzers.Test/Microsoft.AspNetCore.Components.Analyzers.Test.csproj
+++ /dev/null
@@ -1,20 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-  <PropertyGroup>
-    <TargetFramework>netcoreapp3.0</TargetFramework>
-    <IsPackable>false</IsPackable>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="2.4.0" />
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
-    <PackageReference Include="xunit" Version="2.3.1" />
-    <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\..\src\Microsoft.AspNetCore.Components.Analyzers\Microsoft.AspNetCore.Components.Analyzers.csproj" />
-    <ProjectReference Include="..\..\src\Microsoft.AspNetCore.Components\Microsoft.AspNetCore.Components.csproj" />
-  </ItemGroup>
-
-</Project>
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Microsoft.AspNetCore.Components.E2ETest.csproj b/src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Microsoft.AspNetCore.Components.E2ETest.csproj
deleted file mode 100644
index 477965a6a92..00000000000
--- a/src/Components/test/Microsoft.AspNetCore.Components.E2ETest/Microsoft.AspNetCore.Components.E2ETest.csproj
+++ /dev/null
@@ -1,45 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-  <PropertyGroup>
-    <TargetFramework>netcoreapp3.0</TargetFramework>
-    <IsPackable>false</IsPackable>
-    <DefaultItemExcludes>${DefaultItemExcludes};node_modules\**</DefaultItemExcludes>
-    <!-- WebDriver is not strong-named signed -->
-    <SignAssembly>false</SignAssembly>
-  </PropertyGroup>
-
-  <Target Name="EnsureNpmRestored" BeforeTargets="Build" Condition="!Exists('node_modules') AND '$(BlazorAllTests)'=='true'">
-    <Message Importance="high" Text="Restoring dependencies using 'npm'. This may take several minutes..." />
-    <Exec Command="npm ci" />
-  </Target>
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.Hosting" Version="$(AspNetCorePackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.Server.Kestrel" Version="$(AspNetCorePackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="$(AspNetCorePackageVersion)" />
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
-    <PackageReference Include="Selenium.Support" Version="3.12.0" />
-    <PackageReference Include="Selenium.WebDriver" Version="3.12.0" />
-    <PackageReference Include="xunit" Version="2.3.1" />
-    <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\..\blazor\benchmarks\Microsoft.AspNetCore.Blazor.E2EPerformance\Microsoft.AspNetCore.Blazor.E2EPerformance.csproj" />
-    <ProjectReference Include="..\..\blazor\samples\HostedInAspNet.Client\HostedInAspNet.Client.csproj" />
-    <ProjectReference Include="..\..\blazor\samples\HostedInAspNet.Server\HostedInAspNet.Server.csproj" />
-    <ProjectReference Include="..\..\blazor\samples\MonoSanityClient\MonoSanityClient.csproj" />
-    <ProjectReference Include="..\..\blazor\samples\MonoSanity\MonoSanity.csproj" />
-    <ProjectReference Include="..\..\blazor\samples\StandaloneApp\StandaloneApp.csproj" />
-    <ProjectReference Include="..\..\blazor\src\Microsoft.AspNetCore.Blazor.Cli\Microsoft.AspNetCore.Blazor.Cli.csproj" />
-    <ProjectReference Include="..\..\samples\ComponentsApp.App\ComponentsApp.App.csproj" />
-    <ProjectReference Include="..\..\samples\ComponentsApp.Server\ComponentsApp.Server.csproj" />
-    <ProjectReference Include="..\testapps\BasicTestApp\BasicTestApp.csproj" />
-    <ProjectReference Include="..\testapps\TestServer\TestServer.csproj" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <Compile Include="..\..\..\Shared\Process\ProcessExtensions.cs" Link="Shared\ProcessExtensions.cs" />
-  </ItemGroup>
-
-</Project>
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.Server.Test/Microsoft.AspNetCore.Components.Server.Test.csproj b/src/Components/test/Microsoft.AspNetCore.Components.Server.Test/Microsoft.AspNetCore.Components.Server.Test.csproj
deleted file mode 100644
index 204aecef378..00000000000
--- a/src/Components/test/Microsoft.AspNetCore.Components.Server.Test/Microsoft.AspNetCore.Components.Server.Test.csproj
+++ /dev/null
@@ -1,19 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-  <PropertyGroup>
-    <TargetFramework>netcoreapp3.0</TargetFramework>
-    <IsPackable>false</IsPackable>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
-    <PackageReference Include="Moq" Version="4.10.0" />
-    <PackageReference Include="xunit" Version="2.3.1" />
-    <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\..\src\Microsoft.AspNetCore.Components.Server\Microsoft.AspNetCore.Components.Server.csproj" />
-  </ItemGroup>
-
-</Project>
diff --git a/src/Components/test/Microsoft.AspNetCore.Components.Test/Microsoft.AspNetCore.Components.Test.csproj b/src/Components/test/Microsoft.AspNetCore.Components.Test/Microsoft.AspNetCore.Components.Test.csproj
deleted file mode 100644
index 269922dc98c..00000000000
--- a/src/Components/test/Microsoft.AspNetCore.Components.Test/Microsoft.AspNetCore.Components.Test.csproj
+++ /dev/null
@@ -1,28 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-  <PropertyGroup>
-    <TargetFramework>netcoreapp3.0</TargetFramework>
-
-    <IsPackable>false</IsPackable>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
-    <PackageReference Include="xunit" Version="2.3.1" />
-    <PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
-    <DotNetCliToolReference Include="dotnet-xunit" Version="2.3.1" />
-    <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="$(MicrosoftExtensionsDependencyInjectionPackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.Html.Abstractions" Version="$(MicrosoftAspNetCoreHtmlAbstractionsPackageVersion)" />
-  </ItemGroup>
-
-  <ItemGroup>
-
-    <!-- Shared sources -->
-    <Compile Include="..\shared\**\*.cs" Link="Helpers\%(Filename)%(Extension)" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\..\src\Microsoft.AspNetCore.Components\Microsoft.AspNetCore.Components.csproj" />
-  </ItemGroup>
-
-</Project>
diff --git a/src/Components/test/testapps/BasicTestApp/BasicTestApp.csproj b/src/Components/test/testapps/BasicTestApp/BasicTestApp.csproj
deleted file mode 100644
index 1778676aa58..00000000000
--- a/src/Components/test/testapps/BasicTestApp/BasicTestApp.csproj
+++ /dev/null
@@ -1,21 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk.Web">
-
-  <PropertyGroup>
-    <TargetFramework>netstandard2.0</TargetFramework>
-
-    <!-- Must be defined before ReferenceFromSource.props is imported -->
-    <AdditionalRunArguments>--pathbase /subdir</AdditionalRunArguments>
-  </PropertyGroup>
-
-  <!-- Local alternative to <PackageReference Include="Microsoft.AspNetCore.Blazor.Build" /> -->
-  <Import Project="..\..\..\blazor\src\Microsoft.AspNetCore.Blazor.Build\ReferenceFromSource.props" />
-  <ItemGroup>
-    <ProjectReference Include="..\..\..\blazor\src\Microsoft.AspNetCore.Blazor\Microsoft.AspNetCore.Blazor.csproj" />
-    <ProjectReference Include="..\TestContentPackage\TestContentPackage.csproj" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <!-- Allow the build to specify the version of the Razor SDK directly -->
-    <PackageReference Include="Microsoft.NET.Sdk.Razor" Version="$(MicrosoftNETSdkRazorPackageVersion)" PrivateAssets="All" />
-  </ItemGroup>
-</Project>
diff --git a/src/Components/test/testapps/BasicTestApp/Properties/launchSettings.json b/src/Components/test/testapps/BasicTestApp/Properties/launchSettings.json
deleted file mode 100644
index ceb8a2f5027..00000000000
--- a/src/Components/test/testapps/BasicTestApp/Properties/launchSettings.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
-  "iisSettings": {
-    "windowsAuthentication": false,
-    "anonymousAuthentication": true,
-    "iisExpress": {
-      "applicationUrl": "http://localhost:63796/",
-      "sslPort": 0
-    }
-  },
-  "profiles": {
-    "IIS Express": {
-      "commandName": "IISExpress",
-      "launchBrowser": true,
-      "launchUrl": "http://localhost:63796/subdir",
-      "environmentVariables": {
-        "ASPNETCORE_ENVIRONMENT": "Development"
-      }
-    },
-    "BasicTestApp": {
-      "commandName": "Project",
-      "launchBrowser": true,
-      "launchUrl": "http://localhost:63797/subdir",
-      "environmentVariables": {
-        "ASPNETCORE_ENVIRONMENT": "Development"
-      },
-      "applicationUrl": "http://localhost:63797/"
-    }
-  }
-}
\ No newline at end of file
diff --git a/src/Components/test/testapps/Directory.Build.props b/src/Components/test/testapps/Directory.Build.props
deleted file mode 100644
index 7e3b3789a9b..00000000000
--- a/src/Components/test/testapps/Directory.Build.props
+++ /dev/null
@@ -1,7 +0,0 @@
-<Project>
-  <PropertyGroup>
-    <!-- Workaround for #261 which requires the bin and obj directory be in the project directory -->
-    <DisableArcadeProjectLayout>true</DisableArcadeProjectLayout>
-  </PropertyGroup>
-  <Import Project="..\..\Directory.Build.props" />
-</Project>
diff --git a/src/Components/test/testapps/TestServer/TestServer.csproj b/src/Components/test/testapps/TestServer/TestServer.csproj
deleted file mode 100644
index abce454f2da..00000000000
--- a/src/Components/test/testapps/TestServer/TestServer.csproj
+++ /dev/null
@@ -1,22 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk.Web">
-
-  <PropertyGroup>
-    <TargetFramework>netcoreapp3.0</TargetFramework>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore" Version="$(AspNetCorePackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.Cors" Version="$(AspNetCorePackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="$(AspNetCorePackageVersion)" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\..\..\src\Microsoft.AspNetCore.Components.Server\Microsoft.AspNetCore.Components.Server.csproj" />
-    <ProjectReference Include="..\BasicTestApp\BasicTestApp.csproj" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <!-- Allow the build to specify the version of the Razor SDK directly -->
-    <PackageReference Include="Microsoft.NET.Sdk.Razor" Version="$(MicrosoftNETSdkRazorPackageVersion)" PrivateAssets="All" />
-  </ItemGroup>
-</Project>
diff --git a/src/Components/test/testapps/BasicTestApp/AddRemoveChildComponents.cshtml b/src/Components/test/testassets/BasicTestApp/AddRemoveChildComponents.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/AddRemoveChildComponents.cshtml
rename to src/Components/test/testassets/BasicTestApp/AddRemoveChildComponents.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/AfterRenderInteropComponent.cshtml b/src/Components/test/testassets/BasicTestApp/AfterRenderInteropComponent.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/AfterRenderInteropComponent.cshtml
rename to src/Components/test/testassets/BasicTestApp/AfterRenderInteropComponent.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/AsyncEventHandlerComponent.cshtml b/src/Components/test/testassets/BasicTestApp/AsyncEventHandlerComponent.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/AsyncEventHandlerComponent.cshtml
rename to src/Components/test/testassets/BasicTestApp/AsyncEventHandlerComponent.cshtml
diff --git a/src/Components/test/testassets/BasicTestApp/BasicTestApp.csproj b/src/Components/test/testassets/BasicTestApp/BasicTestApp.csproj
new file mode 100644
index 00000000000..7524ef0c188
--- /dev/null
+++ b/src/Components/test/testassets/BasicTestApp/BasicTestApp.csproj
@@ -0,0 +1,20 @@
+<Project Sdk="Microsoft.NET.Sdk.Web">
+
+  <PropertyGroup>
+    <TargetFramework>netstandard2.0</TargetFramework>
+
+    <ReferenceBlazorBuildLocally>true</ReferenceBlazorBuildLocally>
+    <!-- Must be defined before ReferenceFromSource.props is imported -->
+    <AdditionalRunArguments>--pathbase /subdir</AdditionalRunArguments>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.AspNetCore.Blazor" />
+    <Reference Include="Microsoft.NET.Sdk.Razor" PrivateAssets="All" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <ProjectReference Include="..\TestContentPackage\TestContentPackage.csproj" />
+  </ItemGroup>
+
+</Project>
diff --git a/src/Components/test/testapps/BasicTestApp/BindCasesComponent.cshtml b/src/Components/test/testassets/BasicTestApp/BindCasesComponent.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/BindCasesComponent.cshtml
rename to src/Components/test/testassets/BasicTestApp/BindCasesComponent.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/CascadingValueTest/CascadingValueIntermediary.cshtml b/src/Components/test/testassets/BasicTestApp/CascadingValueTest/CascadingValueIntermediary.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/CascadingValueTest/CascadingValueIntermediary.cshtml
rename to src/Components/test/testassets/BasicTestApp/CascadingValueTest/CascadingValueIntermediary.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/CascadingValueTest/CascadingValueReceiveByName.cshtml b/src/Components/test/testassets/BasicTestApp/CascadingValueTest/CascadingValueReceiveByName.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/CascadingValueTest/CascadingValueReceiveByName.cshtml
rename to src/Components/test/testassets/BasicTestApp/CascadingValueTest/CascadingValueReceiveByName.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/CascadingValueTest/CascadingValueReceiveByType.cshtml b/src/Components/test/testassets/BasicTestApp/CascadingValueTest/CascadingValueReceiveByType.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/CascadingValueTest/CascadingValueReceiveByType.cshtml
rename to src/Components/test/testassets/BasicTestApp/CascadingValueTest/CascadingValueReceiveByType.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/CascadingValueTest/CascadingValueReceiveFixedByInterface.cshtml b/src/Components/test/testassets/BasicTestApp/CascadingValueTest/CascadingValueReceiveFixedByInterface.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/CascadingValueTest/CascadingValueReceiveFixedByInterface.cshtml
rename to src/Components/test/testassets/BasicTestApp/CascadingValueTest/CascadingValueReceiveFixedByInterface.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/CascadingValueTest/CascadingValueSupplier.cshtml b/src/Components/test/testassets/BasicTestApp/CascadingValueTest/CascadingValueSupplier.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/CascadingValueTest/CascadingValueSupplier.cshtml
rename to src/Components/test/testassets/BasicTestApp/CascadingValueTest/CascadingValueSupplier.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/CascadingValueTest/CascadingValueTypes.cs b/src/Components/test/testassets/BasicTestApp/CascadingValueTest/CascadingValueTypes.cs
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/CascadingValueTest/CascadingValueTypes.cs
rename to src/Components/test/testassets/BasicTestApp/CascadingValueTest/CascadingValueTypes.cs
diff --git a/src/Components/test/testapps/BasicTestApp/ComponentRefComponent.cshtml b/src/Components/test/testassets/BasicTestApp/ComponentRefComponent.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/ComponentRefComponent.cshtml
rename to src/Components/test/testassets/BasicTestApp/ComponentRefComponent.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/ConcurrentRenderChild.cshtml b/src/Components/test/testassets/BasicTestApp/ConcurrentRenderChild.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/ConcurrentRenderChild.cshtml
rename to src/Components/test/testassets/BasicTestApp/ConcurrentRenderChild.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/ConcurrentRenderParent.cshtml b/src/Components/test/testassets/BasicTestApp/ConcurrentRenderParent.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/ConcurrentRenderParent.cshtml
rename to src/Components/test/testassets/BasicTestApp/ConcurrentRenderParent.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/CounterComponent.cshtml b/src/Components/test/testassets/BasicTestApp/CounterComponent.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/CounterComponent.cshtml
rename to src/Components/test/testassets/BasicTestApp/CounterComponent.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/CounterComponentUsingChild.cshtml b/src/Components/test/testassets/BasicTestApp/CounterComponentUsingChild.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/CounterComponentUsingChild.cshtml
rename to src/Components/test/testassets/BasicTestApp/CounterComponentUsingChild.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/CounterComponentWrapper.cshtml b/src/Components/test/testassets/BasicTestApp/CounterComponentWrapper.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/CounterComponentWrapper.cshtml
rename to src/Components/test/testassets/BasicTestApp/CounterComponentWrapper.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/DataDashComponent.cshtml b/src/Components/test/testassets/BasicTestApp/DataDashComponent.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/DataDashComponent.cshtml
rename to src/Components/test/testassets/BasicTestApp/DataDashComponent.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/DispatchingComponent.cshtml b/src/Components/test/testassets/BasicTestApp/DispatchingComponent.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/DispatchingComponent.cshtml
rename to src/Components/test/testassets/BasicTestApp/DispatchingComponent.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/ElementRefComponent.cshtml b/src/Components/test/testassets/BasicTestApp/ElementRefComponent.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/ElementRefComponent.cshtml
rename to src/Components/test/testassets/BasicTestApp/ElementRefComponent.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/EventBubblingComponent.cshtml b/src/Components/test/testassets/BasicTestApp/EventBubblingComponent.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/EventBubblingComponent.cshtml
rename to src/Components/test/testassets/BasicTestApp/EventBubblingComponent.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/EventPreventDefaultComponent.cshtml b/src/Components/test/testassets/BasicTestApp/EventPreventDefaultComponent.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/EventPreventDefaultComponent.cshtml
rename to src/Components/test/testassets/BasicTestApp/EventPreventDefaultComponent.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/ExternalContentPackage.cshtml b/src/Components/test/testassets/BasicTestApp/ExternalContentPackage.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/ExternalContentPackage.cshtml
rename to src/Components/test/testassets/BasicTestApp/ExternalContentPackage.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/FocusEventComponent.cshtml b/src/Components/test/testassets/BasicTestApp/FocusEventComponent.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/FocusEventComponent.cshtml
rename to src/Components/test/testassets/BasicTestApp/FocusEventComponent.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/HierarchicalImportsTest/Subdir/ComponentUsingImports.cshtml b/src/Components/test/testassets/BasicTestApp/HierarchicalImportsTest/Subdir/ComponentUsingImports.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/HierarchicalImportsTest/Subdir/ComponentUsingImports.cshtml
rename to src/Components/test/testassets/BasicTestApp/HierarchicalImportsTest/Subdir/ComponentUsingImports.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/HierarchicalImportsTest/Subdir/_ViewImports.cshtml b/src/Components/test/testassets/BasicTestApp/HierarchicalImportsTest/Subdir/_ViewImports.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/HierarchicalImportsTest/Subdir/_ViewImports.cshtml
rename to src/Components/test/testassets/BasicTestApp/HierarchicalImportsTest/Subdir/_ViewImports.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/HierarchicalImportsTest/_ViewImports.cshtml b/src/Components/test/testassets/BasicTestApp/HierarchicalImportsTest/_ViewImports.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/HierarchicalImportsTest/_ViewImports.cshtml
rename to src/Components/test/testassets/BasicTestApp/HierarchicalImportsTest/_ViewImports.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/HtmlBlockChildContent.cshtml b/src/Components/test/testassets/BasicTestApp/HtmlBlockChildContent.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/HtmlBlockChildContent.cshtml
rename to src/Components/test/testassets/BasicTestApp/HtmlBlockChildContent.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/HtmlEncodedChildContent.cshtml b/src/Components/test/testassets/BasicTestApp/HtmlEncodedChildContent.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/HtmlEncodedChildContent.cshtml
rename to src/Components/test/testassets/BasicTestApp/HtmlEncodedChildContent.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/HtmlMixedChildContent.cshtml b/src/Components/test/testassets/BasicTestApp/HtmlMixedChildContent.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/HtmlMixedChildContent.cshtml
rename to src/Components/test/testassets/BasicTestApp/HtmlMixedChildContent.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/HttpClientTest/BinaryHttpRequestsComponent.cshtml b/src/Components/test/testassets/BasicTestApp/HttpClientTest/BinaryHttpRequestsComponent.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/HttpClientTest/BinaryHttpRequestsComponent.cshtml
rename to src/Components/test/testassets/BasicTestApp/HttpClientTest/BinaryHttpRequestsComponent.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/HttpClientTest/CookieCounterComponent.cshtml b/src/Components/test/testassets/BasicTestApp/HttpClientTest/CookieCounterComponent.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/HttpClientTest/CookieCounterComponent.cshtml
rename to src/Components/test/testassets/BasicTestApp/HttpClientTest/CookieCounterComponent.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/HttpClientTest/HttpRequestsComponent.cshtml b/src/Components/test/testassets/BasicTestApp/HttpClientTest/HttpRequestsComponent.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/HttpClientTest/HttpRequestsComponent.cshtml
rename to src/Components/test/testassets/BasicTestApp/HttpClientTest/HttpRequestsComponent.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/Index.cshtml b/src/Components/test/testassets/BasicTestApp/Index.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/Index.cshtml
rename to src/Components/test/testassets/BasicTestApp/Index.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/InputEventComponent.cshtml b/src/Components/test/testassets/BasicTestApp/InputEventComponent.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/InputEventComponent.cshtml
rename to src/Components/test/testassets/BasicTestApp/InputEventComponent.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/InteropComponent.cshtml b/src/Components/test/testassets/BasicTestApp/InteropComponent.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/InteropComponent.cshtml
rename to src/Components/test/testassets/BasicTestApp/InteropComponent.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/InteropTest/ComplexParameter.cs b/src/Components/test/testassets/BasicTestApp/InteropTest/ComplexParameter.cs
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/InteropTest/ComplexParameter.cs
rename to src/Components/test/testassets/BasicTestApp/InteropTest/ComplexParameter.cs
diff --git a/src/Components/test/testapps/BasicTestApp/InteropTest/JavaScriptInterop.cs b/src/Components/test/testassets/BasicTestApp/InteropTest/JavaScriptInterop.cs
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/InteropTest/JavaScriptInterop.cs
rename to src/Components/test/testassets/BasicTestApp/InteropTest/JavaScriptInterop.cs
diff --git a/src/Components/test/testapps/BasicTestApp/InteropTest/Segment.cs b/src/Components/test/testassets/BasicTestApp/InteropTest/Segment.cs
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/InteropTest/Segment.cs
rename to src/Components/test/testassets/BasicTestApp/InteropTest/Segment.cs
diff --git a/src/Components/test/testapps/BasicTestApp/InteropTest/TestDTO.cs b/src/Components/test/testassets/BasicTestApp/InteropTest/TestDTO.cs
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/InteropTest/TestDTO.cs
rename to src/Components/test/testassets/BasicTestApp/InteropTest/TestDTO.cs
diff --git a/src/Components/test/testapps/BasicTestApp/KeyPressEventComponent.cshtml b/src/Components/test/testassets/BasicTestApp/KeyPressEventComponent.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/KeyPressEventComponent.cshtml
rename to src/Components/test/testassets/BasicTestApp/KeyPressEventComponent.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/LogicalElementInsertionCases.cshtml b/src/Components/test/testassets/BasicTestApp/LogicalElementInsertionCases.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/LogicalElementInsertionCases.cshtml
rename to src/Components/test/testassets/BasicTestApp/LogicalElementInsertionCases.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/MarkupBlockComponent.cshtml b/src/Components/test/testassets/BasicTestApp/MarkupBlockComponent.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/MarkupBlockComponent.cshtml
rename to src/Components/test/testassets/BasicTestApp/MarkupBlockComponent.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/MessageComponent.cshtml b/src/Components/test/testassets/BasicTestApp/MessageComponent.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/MessageComponent.cshtml
rename to src/Components/test/testassets/BasicTestApp/MessageComponent.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/MouseEventComponent.cshtml b/src/Components/test/testassets/BasicTestApp/MouseEventComponent.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/MouseEventComponent.cshtml
rename to src/Components/test/testassets/BasicTestApp/MouseEventComponent.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/MultipleChildContent.cshtml b/src/Components/test/testassets/BasicTestApp/MultipleChildContent.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/MultipleChildContent.cshtml
rename to src/Components/test/testassets/BasicTestApp/MultipleChildContent.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/OrderedList.cshtml b/src/Components/test/testassets/BasicTestApp/OrderedList.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/OrderedList.cshtml
rename to src/Components/test/testassets/BasicTestApp/OrderedList.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/ParentChildComponent.cshtml b/src/Components/test/testassets/BasicTestApp/ParentChildComponent.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/ParentChildComponent.cshtml
rename to src/Components/test/testassets/BasicTestApp/ParentChildComponent.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/PassThroughContentComponent.cshtml b/src/Components/test/testassets/BasicTestApp/PassThroughContentComponent.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/PassThroughContentComponent.cshtml
rename to src/Components/test/testassets/BasicTestApp/PassThroughContentComponent.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/Program.cs b/src/Components/test/testassets/BasicTestApp/Program.cs
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/Program.cs
rename to src/Components/test/testassets/BasicTestApp/Program.cs
diff --git a/src/Components/test/testapps/BasicTestApp/PropertiesChangedHandlerChild.cshtml b/src/Components/test/testassets/BasicTestApp/PropertiesChangedHandlerChild.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/PropertiesChangedHandlerChild.cshtml
rename to src/Components/test/testassets/BasicTestApp/PropertiesChangedHandlerChild.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/PropertiesChangedHandlerParent.cshtml b/src/Components/test/testassets/BasicTestApp/PropertiesChangedHandlerParent.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/PropertiesChangedHandlerParent.cshtml
rename to src/Components/test/testassets/BasicTestApp/PropertiesChangedHandlerParent.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/RazorTemplates.cshtml b/src/Components/test/testassets/BasicTestApp/RazorTemplates.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/RazorTemplates.cshtml
rename to src/Components/test/testassets/BasicTestApp/RazorTemplates.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/RedTextComponent.cshtml b/src/Components/test/testassets/BasicTestApp/RedTextComponent.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/RedTextComponent.cshtml
rename to src/Components/test/testassets/BasicTestApp/RedTextComponent.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/RenderFragmentToggler.cshtml b/src/Components/test/testassets/BasicTestApp/RenderFragmentToggler.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/RenderFragmentToggler.cshtml
rename to src/Components/test/testassets/BasicTestApp/RenderFragmentToggler.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/RouterTest/Default.cshtml b/src/Components/test/testassets/BasicTestApp/RouterTest/Default.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/RouterTest/Default.cshtml
rename to src/Components/test/testassets/BasicTestApp/RouterTest/Default.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/RouterTest/Error404.cshtml b/src/Components/test/testassets/BasicTestApp/RouterTest/Error404.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/RouterTest/Error404.cshtml
rename to src/Components/test/testassets/BasicTestApp/RouterTest/Error404.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/RouterTest/Links.cshtml b/src/Components/test/testassets/BasicTestApp/RouterTest/Links.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/RouterTest/Links.cshtml
rename to src/Components/test/testassets/BasicTestApp/RouterTest/Links.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/RouterTest/Other.cshtml b/src/Components/test/testassets/BasicTestApp/RouterTest/Other.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/RouterTest/Other.cshtml
rename to src/Components/test/testassets/BasicTestApp/RouterTest/Other.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/RouterTest/TestRouter.cshtml b/src/Components/test/testassets/BasicTestApp/RouterTest/TestRouter.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/RouterTest/TestRouter.cshtml
rename to src/Components/test/testassets/BasicTestApp/RouterTest/TestRouter.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/RouterTest/WithNumberParameters.cshtml b/src/Components/test/testassets/BasicTestApp/RouterTest/WithNumberParameters.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/RouterTest/WithNumberParameters.cshtml
rename to src/Components/test/testassets/BasicTestApp/RouterTest/WithNumberParameters.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/RouterTest/WithParameters.cshtml b/src/Components/test/testassets/BasicTestApp/RouterTest/WithParameters.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/RouterTest/WithParameters.cshtml
rename to src/Components/test/testassets/BasicTestApp/RouterTest/WithParameters.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/Startup.cs b/src/Components/test/testassets/BasicTestApp/Startup.cs
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/Startup.cs
rename to src/Components/test/testassets/BasicTestApp/Startup.cs
diff --git a/src/Components/test/testapps/BasicTestApp/SvgCircleComponent.cshtml b/src/Components/test/testassets/BasicTestApp/SvgCircleComponent.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/SvgCircleComponent.cshtml
rename to src/Components/test/testassets/BasicTestApp/SvgCircleComponent.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/SvgComponent.cshtml b/src/Components/test/testassets/BasicTestApp/SvgComponent.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/SvgComponent.cshtml
rename to src/Components/test/testassets/BasicTestApp/SvgComponent.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/SvgWithChildComponent.cshtml b/src/Components/test/testassets/BasicTestApp/SvgWithChildComponent.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/SvgWithChildComponent.cshtml
rename to src/Components/test/testassets/BasicTestApp/SvgWithChildComponent.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/TemplatedTable.cshtml b/src/Components/test/testassets/BasicTestApp/TemplatedTable.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/TemplatedTable.cshtml
rename to src/Components/test/testassets/BasicTestApp/TemplatedTable.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/TextOnlyComponent.cshtml b/src/Components/test/testassets/BasicTestApp/TextOnlyComponent.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/TextOnlyComponent.cshtml
rename to src/Components/test/testassets/BasicTestApp/TextOnlyComponent.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/TouchEventComponent.cshtml b/src/Components/test/testassets/BasicTestApp/TouchEventComponent.cshtml
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/TouchEventComponent.cshtml
rename to src/Components/test/testassets/BasicTestApp/TouchEventComponent.cshtml
diff --git a/src/Components/test/testapps/BasicTestApp/wwwroot/index.html b/src/Components/test/testassets/BasicTestApp/wwwroot/index.html
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/wwwroot/index.html
rename to src/Components/test/testassets/BasicTestApp/wwwroot/index.html
diff --git a/src/Components/test/testapps/BasicTestApp/wwwroot/js/jsinteroptests.js b/src/Components/test/testassets/BasicTestApp/wwwroot/js/jsinteroptests.js
similarity index 100%
rename from src/Components/test/testapps/BasicTestApp/wwwroot/js/jsinteroptests.js
rename to src/Components/test/testassets/BasicTestApp/wwwroot/js/jsinteroptests.js
diff --git a/src/Components/samples/ComponentsApp.App/App.cshtml b/src/Components/test/testassets/ComponentsApp.App/App.cshtml
similarity index 100%
rename from src/Components/samples/ComponentsApp.App/App.cshtml
rename to src/Components/test/testassets/ComponentsApp.App/App.cshtml
diff --git a/src/Components/test/testassets/ComponentsApp.App/ComponentsApp.App.csproj b/src/Components/test/testassets/ComponentsApp.App/ComponentsApp.App.csproj
new file mode 100644
index 00000000000..7819d3b088c
--- /dev/null
+++ b/src/Components/test/testassets/ComponentsApp.App/ComponentsApp.App.csproj
@@ -0,0 +1,15 @@
+<Project Sdk="Microsoft.NET.Sdk.Razor">
+
+  <PropertyGroup>
+    <TargetFramework>netstandard2.0</TargetFramework>
+    <ReferenceBlazorBuildLocally>true</ReferenceBlazorBuildLocally>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.Extensions.DependencyInjection" />
+    <Reference Include="Microsoft.AspNetCore.Components" />
+    <Reference Include="Microsoft.NET.Sdk.Razor" PrivateAssets="All" />
+  </ItemGroup>
+
+</Project>
+
diff --git a/src/Components/samples/ComponentsApp.App/Pages/Counter.cshtml b/src/Components/test/testassets/ComponentsApp.App/Pages/Counter.cshtml
similarity index 100%
rename from src/Components/samples/ComponentsApp.App/Pages/Counter.cshtml
rename to src/Components/test/testassets/ComponentsApp.App/Pages/Counter.cshtml
diff --git a/src/Components/samples/ComponentsApp.App/Pages/FetchData.cshtml b/src/Components/test/testassets/ComponentsApp.App/Pages/FetchData.cshtml
similarity index 100%
rename from src/Components/samples/ComponentsApp.App/Pages/FetchData.cshtml
rename to src/Components/test/testassets/ComponentsApp.App/Pages/FetchData.cshtml
diff --git a/src/Components/samples/ComponentsApp.App/Pages/Index.cshtml b/src/Components/test/testassets/ComponentsApp.App/Pages/Index.cshtml
similarity index 100%
rename from src/Components/samples/ComponentsApp.App/Pages/Index.cshtml
rename to src/Components/test/testassets/ComponentsApp.App/Pages/Index.cshtml
diff --git a/src/Components/samples/ComponentsApp.App/Pages/_ViewImports.cshtml b/src/Components/test/testassets/ComponentsApp.App/Pages/_ViewImports.cshtml
similarity index 100%
rename from src/Components/samples/ComponentsApp.App/Pages/_ViewImports.cshtml
rename to src/Components/test/testassets/ComponentsApp.App/Pages/_ViewImports.cshtml
diff --git a/src/Components/samples/ComponentsApp.App/Shared/MainLayout.cshtml b/src/Components/test/testassets/ComponentsApp.App/Shared/MainLayout.cshtml
similarity index 100%
rename from src/Components/samples/ComponentsApp.App/Shared/MainLayout.cshtml
rename to src/Components/test/testassets/ComponentsApp.App/Shared/MainLayout.cshtml
diff --git a/src/Components/samples/ComponentsApp.App/Shared/NavMenu.cshtml b/src/Components/test/testassets/ComponentsApp.App/Shared/NavMenu.cshtml
similarity index 100%
rename from src/Components/samples/ComponentsApp.App/Shared/NavMenu.cshtml
rename to src/Components/test/testassets/ComponentsApp.App/Shared/NavMenu.cshtml
diff --git a/src/Components/samples/ComponentsApp.App/Startup.cs b/src/Components/test/testassets/ComponentsApp.App/Startup.cs
similarity index 100%
rename from src/Components/samples/ComponentsApp.App/Startup.cs
rename to src/Components/test/testassets/ComponentsApp.App/Startup.cs
diff --git a/src/Components/samples/ComponentsApp.App/WeatherForecast.cs b/src/Components/test/testassets/ComponentsApp.App/WeatherForecast.cs
similarity index 100%
rename from src/Components/samples/ComponentsApp.App/WeatherForecast.cs
rename to src/Components/test/testassets/ComponentsApp.App/WeatherForecast.cs
diff --git a/src/Components/samples/ComponentsApp.App/WeatherForecastService.cs b/src/Components/test/testassets/ComponentsApp.App/WeatherForecastService.cs
similarity index 100%
rename from src/Components/samples/ComponentsApp.App/WeatherForecastService.cs
rename to src/Components/test/testassets/ComponentsApp.App/WeatherForecastService.cs
diff --git a/src/Components/samples/ComponentsApp.App/_ViewImports.cshtml b/src/Components/test/testassets/ComponentsApp.App/_ViewImports.cshtml
similarity index 100%
rename from src/Components/samples/ComponentsApp.App/_ViewImports.cshtml
rename to src/Components/test/testassets/ComponentsApp.App/_ViewImports.cshtml
diff --git a/src/Components/test/testassets/ComponentsApp.Server/ComponentsApp.Server.csproj b/src/Components/test/testassets/ComponentsApp.Server/ComponentsApp.Server.csproj
new file mode 100644
index 00000000000..14ff94d2261
--- /dev/null
+++ b/src/Components/test/testassets/ComponentsApp.Server/ComponentsApp.Server.csproj
@@ -0,0 +1,17 @@
+<Project Sdk="Microsoft.NET.Sdk.Web">
+
+  <PropertyGroup>
+      <TargetFramework>netcoreapp3.0</TargetFramework>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.AspNetCore" />
+    <Reference Include="Microsoft.NET.Sdk.Razor" PrivateAssets="All" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.AspNetCore.Components.Server" />
+    <ProjectReference Include="..\ComponentsApp.App\ComponentsApp.App.csproj" />
+  </ItemGroup>
+
+</Project>
diff --git a/src/Components/samples/ComponentsApp.Server/DefaultWeatherForecastService.cs b/src/Components/test/testassets/ComponentsApp.Server/DefaultWeatherForecastService.cs
similarity index 100%
rename from src/Components/samples/ComponentsApp.Server/DefaultWeatherForecastService.cs
rename to src/Components/test/testassets/ComponentsApp.Server/DefaultWeatherForecastService.cs
diff --git a/src/Components/samples/ComponentsApp.Server/Program.cs b/src/Components/test/testassets/ComponentsApp.Server/Program.cs
similarity index 100%
rename from src/Components/samples/ComponentsApp.Server/Program.cs
rename to src/Components/test/testassets/ComponentsApp.Server/Program.cs
diff --git a/src/Components/samples/ComponentsApp.Server/Startup.cs b/src/Components/test/testassets/ComponentsApp.Server/Startup.cs
similarity index 100%
rename from src/Components/samples/ComponentsApp.Server/Startup.cs
rename to src/Components/test/testassets/ComponentsApp.Server/Startup.cs
diff --git a/src/Components/samples/ComponentsApp.Server/sample-data/weather.json b/src/Components/test/testassets/ComponentsApp.Server/sample-data/weather.json
similarity index 100%
rename from src/Components/samples/ComponentsApp.Server/sample-data/weather.json
rename to src/Components/test/testassets/ComponentsApp.Server/sample-data/weather.json
diff --git a/src/Components/samples/ComponentsApp.Server/wwwroot/css/bootstrap/bootstrap.min.css b/src/Components/test/testassets/ComponentsApp.Server/wwwroot/css/bootstrap/bootstrap.min.css
similarity index 100%
rename from src/Components/samples/ComponentsApp.Server/wwwroot/css/bootstrap/bootstrap.min.css
rename to src/Components/test/testassets/ComponentsApp.Server/wwwroot/css/bootstrap/bootstrap.min.css
diff --git a/src/Components/samples/ComponentsApp.Server/wwwroot/css/bootstrap/bootstrap.min.css.map b/src/Components/test/testassets/ComponentsApp.Server/wwwroot/css/bootstrap/bootstrap.min.css.map
similarity index 100%
rename from src/Components/samples/ComponentsApp.Server/wwwroot/css/bootstrap/bootstrap.min.css.map
rename to src/Components/test/testassets/ComponentsApp.Server/wwwroot/css/bootstrap/bootstrap.min.css.map
diff --git a/src/Components/samples/ComponentsApp.Server/wwwroot/css/open-iconic/FONT-LICENSE b/src/Components/test/testassets/ComponentsApp.Server/wwwroot/css/open-iconic/FONT-LICENSE
similarity index 100%
rename from src/Components/samples/ComponentsApp.Server/wwwroot/css/open-iconic/FONT-LICENSE
rename to src/Components/test/testassets/ComponentsApp.Server/wwwroot/css/open-iconic/FONT-LICENSE
diff --git a/src/Components/samples/ComponentsApp.Server/wwwroot/css/open-iconic/ICON-LICENSE b/src/Components/test/testassets/ComponentsApp.Server/wwwroot/css/open-iconic/ICON-LICENSE
similarity index 100%
rename from src/Components/samples/ComponentsApp.Server/wwwroot/css/open-iconic/ICON-LICENSE
rename to src/Components/test/testassets/ComponentsApp.Server/wwwroot/css/open-iconic/ICON-LICENSE
diff --git a/src/Components/samples/ComponentsApp.Server/wwwroot/css/open-iconic/README.md b/src/Components/test/testassets/ComponentsApp.Server/wwwroot/css/open-iconic/README.md
similarity index 100%
rename from src/Components/samples/ComponentsApp.Server/wwwroot/css/open-iconic/README.md
rename to src/Components/test/testassets/ComponentsApp.Server/wwwroot/css/open-iconic/README.md
diff --git a/src/Components/samples/ComponentsApp.Server/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css b/src/Components/test/testassets/ComponentsApp.Server/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css
similarity index 100%
rename from src/Components/samples/ComponentsApp.Server/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css
rename to src/Components/test/testassets/ComponentsApp.Server/wwwroot/css/open-iconic/font/css/open-iconic-bootstrap.min.css
diff --git a/src/Components/samples/ComponentsApp.Server/wwwroot/css/open-iconic/font/fonts/open-iconic.eot b/src/Components/test/testassets/ComponentsApp.Server/wwwroot/css/open-iconic/font/fonts/open-iconic.eot
similarity index 100%
rename from src/Components/samples/ComponentsApp.Server/wwwroot/css/open-iconic/font/fonts/open-iconic.eot
rename to src/Components/test/testassets/ComponentsApp.Server/wwwroot/css/open-iconic/font/fonts/open-iconic.eot
diff --git a/src/Components/samples/ComponentsApp.Server/wwwroot/css/open-iconic/font/fonts/open-iconic.otf b/src/Components/test/testassets/ComponentsApp.Server/wwwroot/css/open-iconic/font/fonts/open-iconic.otf
similarity index 100%
rename from src/Components/samples/ComponentsApp.Server/wwwroot/css/open-iconic/font/fonts/open-iconic.otf
rename to src/Components/test/testassets/ComponentsApp.Server/wwwroot/css/open-iconic/font/fonts/open-iconic.otf
diff --git a/src/Components/samples/ComponentsApp.Server/wwwroot/css/open-iconic/font/fonts/open-iconic.svg b/src/Components/test/testassets/ComponentsApp.Server/wwwroot/css/open-iconic/font/fonts/open-iconic.svg
similarity index 100%
rename from src/Components/samples/ComponentsApp.Server/wwwroot/css/open-iconic/font/fonts/open-iconic.svg
rename to src/Components/test/testassets/ComponentsApp.Server/wwwroot/css/open-iconic/font/fonts/open-iconic.svg
diff --git a/src/Components/samples/ComponentsApp.Server/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf b/src/Components/test/testassets/ComponentsApp.Server/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf
similarity index 100%
rename from src/Components/samples/ComponentsApp.Server/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf
rename to src/Components/test/testassets/ComponentsApp.Server/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf
diff --git a/src/Components/samples/ComponentsApp.Server/wwwroot/css/open-iconic/font/fonts/open-iconic.woff b/src/Components/test/testassets/ComponentsApp.Server/wwwroot/css/open-iconic/font/fonts/open-iconic.woff
similarity index 100%
rename from src/Components/samples/ComponentsApp.Server/wwwroot/css/open-iconic/font/fonts/open-iconic.woff
rename to src/Components/test/testassets/ComponentsApp.Server/wwwroot/css/open-iconic/font/fonts/open-iconic.woff
diff --git a/src/Components/samples/ComponentsApp.Server/wwwroot/css/site.css b/src/Components/test/testassets/ComponentsApp.Server/wwwroot/css/site.css
similarity index 100%
rename from src/Components/samples/ComponentsApp.Server/wwwroot/css/site.css
rename to src/Components/test/testassets/ComponentsApp.Server/wwwroot/css/site.css
diff --git a/src/Components/samples/ComponentsApp.Server/wwwroot/index.html b/src/Components/test/testassets/ComponentsApp.Server/wwwroot/index.html
similarity index 100%
rename from src/Components/samples/ComponentsApp.Server/wwwroot/index.html
rename to src/Components/test/testassets/ComponentsApp.Server/wwwroot/index.html
diff --git a/src/Components/test/testapps/TestContentPackage/ComponentFromPackage.cshtml b/src/Components/test/testassets/TestContentPackage/ComponentFromPackage.cshtml
similarity index 100%
rename from src/Components/test/testapps/TestContentPackage/ComponentFromPackage.cshtml
rename to src/Components/test/testassets/TestContentPackage/ComponentFromPackage.cshtml
diff --git a/src/Components/test/testapps/TestContentPackage/MyPrompt.cs b/src/Components/test/testassets/TestContentPackage/MyPrompt.cs
similarity index 100%
rename from src/Components/test/testapps/TestContentPackage/MyPrompt.cs
rename to src/Components/test/testassets/TestContentPackage/MyPrompt.cs
diff --git a/src/Components/test/testapps/TestContentPackage/TestContentPackage.csproj b/src/Components/test/testassets/TestContentPackage/TestContentPackage.csproj
similarity index 66%
rename from src/Components/test/testapps/TestContentPackage/TestContentPackage.csproj
rename to src/Components/test/testassets/TestContentPackage/TestContentPackage.csproj
index 4816b5ee00d..7ef3a856902 100644
--- a/src/Components/test/testapps/TestContentPackage/TestContentPackage.csproj
+++ b/src/Components/test/testassets/TestContentPackage/TestContentPackage.csproj
@@ -3,7 +3,7 @@
   <PropertyGroup>
     <TargetFramework>netstandard2.0</TargetFramework>
     <OutputType>library</OutputType>
-    <IsPackable>true</IsPackable>
+    <ReferenceBlazorBuildLocally>true</ReferenceBlazorBuildLocally>
   </PropertyGroup>
 
   <ItemGroup>
@@ -18,14 +18,10 @@
   </ItemGroup>
 
   <ItemGroup>
-    <ProjectReference Include="..\..\..\src\Microsoft.AspNetCore.Components\Microsoft.AspNetCore.Components.csproj" />
+    <Reference Include="Microsoft.AspNetCore.Components" />
+    <Reference Include="Microsoft.NET.Sdk.Razor" PrivateAssets="All" />
   </ItemGroup>
 
   <!-- In real content packages, use a <PackageReference> to Microsoft.AspNetCore.Blazor.Build instead. -->
-  <Import Project="..\..\..\blazor\src\Microsoft.AspNetCore.Blazor.Build\ReferenceFromSource.props" />
 
-  <ItemGroup>
-    <!-- Allow the build to specify the version of the Razor SDK directly -->
-    <PackageReference Include="Microsoft.NET.Sdk.Razor" Version="$(MicrosoftNETSdkRazorPackageVersion)" PrivateAssets="All" />
-  </ItemGroup>
 </Project>
diff --git a/src/Components/test/testapps/TestContentPackage/content/face.png b/src/Components/test/testassets/TestContentPackage/content/face.png
similarity index 100%
rename from src/Components/test/testapps/TestContentPackage/content/face.png
rename to src/Components/test/testassets/TestContentPackage/content/face.png
diff --git a/src/Components/test/testapps/TestContentPackage/content/prompt.js b/src/Components/test/testassets/TestContentPackage/content/prompt.js
similarity index 100%
rename from src/Components/test/testapps/TestContentPackage/content/prompt.js
rename to src/Components/test/testassets/TestContentPackage/content/prompt.js
diff --git a/src/Components/test/testapps/TestContentPackage/content/styles.css b/src/Components/test/testassets/TestContentPackage/content/styles.css
similarity index 100%
rename from src/Components/test/testapps/TestContentPackage/content/styles.css
rename to src/Components/test/testassets/TestContentPackage/content/styles.css
diff --git a/src/Components/test/testapps/TestServer/Controllers/CookieController.cs b/src/Components/test/testassets/TestServer/Controllers/CookieController.cs
similarity index 100%
rename from src/Components/test/testapps/TestServer/Controllers/CookieController.cs
rename to src/Components/test/testassets/TestServer/Controllers/CookieController.cs
diff --git a/src/Components/test/testapps/TestServer/Controllers/DataController.cs b/src/Components/test/testassets/TestServer/Controllers/DataController.cs
similarity index 100%
rename from src/Components/test/testapps/TestServer/Controllers/DataController.cs
rename to src/Components/test/testassets/TestServer/Controllers/DataController.cs
diff --git a/src/Components/test/testapps/TestServer/Controllers/GreetingController.cs b/src/Components/test/testassets/TestServer/Controllers/GreetingController.cs
similarity index 100%
rename from src/Components/test/testapps/TestServer/Controllers/GreetingController.cs
rename to src/Components/test/testassets/TestServer/Controllers/GreetingController.cs
diff --git a/src/Components/test/testapps/TestServer/Controllers/PersonController.cs b/src/Components/test/testassets/TestServer/Controllers/PersonController.cs
similarity index 100%
rename from src/Components/test/testapps/TestServer/Controllers/PersonController.cs
rename to src/Components/test/testassets/TestServer/Controllers/PersonController.cs
diff --git a/src/Components/test/testapps/TestServer/Program.cs b/src/Components/test/testassets/TestServer/Program.cs
similarity index 100%
rename from src/Components/test/testapps/TestServer/Program.cs
rename to src/Components/test/testassets/TestServer/Program.cs
diff --git a/src/Components/test/testapps/TestServer/Startup.cs b/src/Components/test/testassets/TestServer/Startup.cs
similarity index 98%
rename from src/Components/test/testapps/TestServer/Startup.cs
rename to src/Components/test/testassets/TestServer/Startup.cs
index 9a37d334ee3..fb46b158ab7 100644
--- a/src/Components/test/testapps/TestServer/Startup.cs
+++ b/src/Components/test/testassets/TestServer/Startup.cs
@@ -18,7 +18,7 @@ namespace TestServer
         // This method gets called by the runtime. Use this method to add services to the container.
         public void ConfigureServices(IServiceCollection services)
         {
-            services.AddMvc();
+            services.AddMvc().AddNewtonsoftJson();
             services.AddCors(options =>
             {
                 options.AddPolicy("AllowAll", _ => { /* Controlled below */ });
diff --git a/src/Components/test/testassets/TestServer/TestServer.csproj b/src/Components/test/testassets/TestServer/TestServer.csproj
new file mode 100644
index 00000000000..d8d70bdf764
--- /dev/null
+++ b/src/Components/test/testassets/TestServer/TestServer.csproj
@@ -0,0 +1,20 @@
+<Project Sdk="Microsoft.NET.Sdk.Web">
+
+  <PropertyGroup>
+    <TargetFramework>netcoreapp3.0</TargetFramework>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.AspNetCore" />
+    <Reference Include="Microsoft.AspNetCore.Cors" />
+    <Reference Include="Microsoft.AspNetCore.Mvc" />
+    <Reference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" />
+    <Reference Include="Microsoft.AspNetCore.Components.Server" />
+    <Reference Include="Microsoft.NET.Sdk.Razor" PrivateAssets="All" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <ProjectReference Include="..\BasicTestApp\BasicTestApp.csproj" />
+  </ItemGroup>
+
+</Project>
diff --git a/src/Components/test/testapps/TestServer/appsettings.Development.json b/src/Components/test/testassets/TestServer/appsettings.Development.json
similarity index 100%
rename from src/Components/test/testapps/TestServer/appsettings.Development.json
rename to src/Components/test/testassets/TestServer/appsettings.Development.json
diff --git a/src/Components/test/testapps/TestServer/appsettings.json b/src/Components/test/testassets/TestServer/appsettings.json
similarity index 100%
rename from src/Components/test/testapps/TestServer/appsettings.json
rename to src/Components/test/testassets/TestServer/appsettings.json
diff --git a/version.props b/version.props
index 4d43c73394b..d7fe3910707 100644
--- a/version.props
+++ b/version.props
@@ -6,6 +6,7 @@
     <PreReleaseLabel>preview</PreReleaseLabel>
     <PreReleaseBrandingLabel>Preview</PreReleaseBrandingLabel>
     <ExperimentalVersionPrefix>0.3.$(AspNetCorePatchVersion)</ExperimentalVersionPrefix>
+    <BlazorComponentsVersionPrefix>0.8.$(AspNetCorePatchVersion)</BlazorComponentsVersionPrefix>
 
     <!-- ANCM versioning is intentionally 10 + AspNetCoreMajorVersion because earlier versions of ANCM shipped as 8.x. -->
     <AspNetCoreModuleVersionMajor>1$(AspNetCoreMajorVersion)</AspNetCoreModuleVersionMajor>
-- 
GitLab