diff --git a/.azure/pipelines/jobs/default-build.yml b/.azure/pipelines/jobs/default-build.yml
index 7ae14fb31d..be959159b5 100644
--- a/.azure/pipelines/jobs/default-build.yml
+++ b/.azure/pipelines/jobs/default-build.yml
@@ -104,6 +104,7 @@ jobs:
- checkout: self
clean: true
- task: NodeTool@0
+ displayName: Install Node 10.x
inputs:
versionSpec: 10.x
- ${{ if and(eq(parameters.agentOs, 'Windows'), eq(parameters.codeSign, 'true')) }}:
diff --git a/.gitignore b/.gitignore
index 800f7cf6da..be3a713d2f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -28,3 +28,4 @@ src/**/global.json
launchSettings.json
korebuild-lock.txt
.gradle/
+src/SignalR/clients/**/dist/
diff --git a/Directory.Build.props b/Directory.Build.props
index 212047ce95..7612e0ec4b 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -76,7 +76,7 @@
$([MSBuild]::MakeRelative($(RepositoryRoot), $(MSBuildProjectDirectory)))
- true
+ true
true
true
true
@@ -104,5 +104,6 @@
+
diff --git a/Directory.Build.targets b/Directory.Build.targets
index 5db9ed97ab..bfb7e9b915 100644
--- a/Directory.Build.targets
+++ b/Directory.Build.targets
@@ -63,4 +63,5 @@
+
diff --git a/build/buildorder.props b/build/buildorder.props
index 83fb4146e7..095d895465 100644
--- a/build/buildorder.props
+++ b/build/buildorder.props
@@ -10,7 +10,6 @@
-
diff --git a/build/dependencies.props b/build/dependencies.props
index 6308fb537d..1a7f1a79a3 100644
--- a/build/dependencies.props
+++ b/build/dependencies.props
@@ -29,7 +29,7 @@
$(KoreBuildVersion)
$(KoreBuildVersion)
$(KoreBuildVersion)
- 2.2.1-build-20190104.5
+ 2.2.1-build-20190110.1
@@ -175,7 +175,7 @@
$(MicrosoftNETCoreApp21PackageVersion)
1.0.1
1.0.0-alpha-004
- 15.6.1
+ 15.9.0
3.0.1
3.0.1
3.0.1
@@ -273,7 +273,7 @@
2.3.1
2.3.1
2.3.1
- 2.3.1
+ 2.4.0
2.4.0
diff --git a/build/repo.props b/build/repo.props
index dd303bdd29..4b5ea56161 100644
--- a/build/repo.props
+++ b/build/repo.props
@@ -64,7 +64,9 @@
$(RepositoryRoot)src\Middleware\WebSockets\samples\**\*.csproj;
$(RepositoryRoot)src\Middleware\NodeServices.Sockets\**\*.csproj;
$(RepositoryRoot)src\Tools\dotnet-watch\test\TestProjects\**\*.csproj;
- $(RepositoryRoot)src\Razor\Razor.Design\test\testassets\**\*.*proj
+ $(RepositoryRoot)src\Razor\Razor.Design\test\testassets\**\*.*proj;
+ $(RepositoryRoot)src\SignalR\clients\cpp\**\*.*proj;
+ $(RepositoryRoot)src\SignalR\clients\ts\**\node_modules\**\*.*proj;
" />
@@ -72,7 +74,9 @@
-
+
+ false
+
@@ -81,14 +85,21 @@
-
-
Platform=x64
Platform=x86
+
+
+
+
+ $(RepositoryRoot)**\obj\**\*;">
+ false
+
diff --git a/build/repo.targets b/build/repo.targets
index 7203ae48a4..06ee707f2e 100644
--- a/build/repo.targets
+++ b/build/repo.targets
@@ -18,7 +18,6 @@
SetTeamCityBuildNumberToVersion;$(PrepareDependsOn)
$(PrepareDependsOn);VerifyPackageArtifactConfig;VerifyExternalDependencyConfig;PrepareOutputPaths
$(CleanDependsOn);CleanArtifacts;CleanRepoArtifacts
- $(RestoreDependsOn);RestoreNpm
$(RestoreDependsOn);InstallDotNet;RestoreProjects
$(CompileDependsOn);BuildProjects;PackSharedSources
$(CompileDependsOn);PackProjects;BuildRepositories;BuildSharedFx
@@ -32,13 +31,6 @@
$(GetArtifactInfoDependsOn);ResolveRepoInfo
-
-
-
-
-
-
-
diff --git a/build/submodules.props b/build/submodules.props
index 96082dbcff..22cf551d50 100644
--- a/build/submodules.props
+++ b/build/submodules.props
@@ -46,6 +46,5 @@
-
diff --git a/docs/BuildFromSource.md b/docs/BuildFromSource.md
index 06a901a913..66dad1af76 100644
--- a/docs/BuildFromSource.md
+++ b/docs/BuildFromSource.md
@@ -3,8 +3,6 @@ Build ASP.NET Core from Source
Building ASP.NET Core from source allows you tweak and customize ASP.NET Core, and to contribute your improvements back to the project.
-:warning: We are currently in the middle of restructing our source code. These instructions will likely change rapidly during November and December 2018.
-
See https://github.com/aspnet/AspNetCore/labels/area-infrastructure for known issues and to track ongoing work.
## Install pre-requistes
diff --git a/eng/Baseline.Designer.props b/eng/Baseline.Designer.props
index fbf419d032..923516119d 100644
--- a/eng/Baseline.Designer.props
+++ b/eng/Baseline.Designer.props
@@ -464,6 +464,51 @@
+
+
+ 1.1.0
+
+
+
+
+
+
+
+
+
+
+
+ 1.1.0
+
+
+
+
+
+
+
+
+ 1.1.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
2.2.0
@@ -1033,6 +1078,116 @@
+
+
+ 1.1.0
+
+
+
+
+
+
+
+
+
+
+ 1.1.0
+
+
+
+
+
+
+
+ 1.1.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.1.0
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.1.0
+
+
+
+
+
+
+
+ 1.1.0
+
+
+
+
+
+
+
+ 1.1.0
+
+
+
+
+
+
+
+
+
+ 1.1.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.1.0
+
+
+
+
+
+
+
+
+
+ 1.1.0
+
+
+
+
+
2.2.0
diff --git a/eng/Baseline.xml b/eng/Baseline.xml
index b2e39c3cc4..8e7c274216 100644
--- a/eng/Baseline.xml
+++ b/eng/Baseline.xml
@@ -56,6 +56,9 @@ build of ASP.NET Core 2.2.x. Update this list when preparing for a new patch.
+
+
+
@@ -108,6 +111,16 @@ build of ASP.NET Core 2.2.x. Update this list when preparing for a new patch.
+
+
+
+
+
+
+
+
+
+
diff --git a/eng/Dependencies.props b/eng/Dependencies.props
index 0e03ba4da3..cc38de4ade 100644
--- a/eng/Dependencies.props
+++ b/eng/Dependencies.props
@@ -49,6 +49,7 @@ and are generated based on the last package release.
+
@@ -92,19 +93,22 @@ and are generated based on the last package release.
+
+
-
-
-
-
+
+
+
-
+
+
+
@@ -113,14 +117,17 @@ and are generated based on the last package release.
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/eng/ProjectReferences.props b/eng/ProjectReferences.props
index 59f9e6cadc..31abece745 100644
--- a/eng/ProjectReferences.props
+++ b/eng/ProjectReferences.props
@@ -128,5 +128,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/eng/scripts/CodeCheck.ps1 b/eng/scripts/CodeCheck.ps1
index 08e1902cbb..d1da68481a 100644
--- a/eng/scripts/CodeCheck.ps1
+++ b/eng/scripts/CodeCheck.ps1
@@ -15,11 +15,20 @@ $repoRoot = Resolve-Path "$PSScriptRoot/../../"
[string[]] $errors = @()
+function LogError([string]$message) {
+ Write-Host -f Red "error: $message"
+ $script:errors += $message
+}
+
try {
#
# Solutions
#
+ if ($ci) {
+ & $repoRoot/build.cmd /t:InstallDotNet
+ }
+
Write-Host "Checking that solutions are up to date"
Get-ChildItem "$repoRoot/*.sln" -Recurse | % {
@@ -31,7 +40,7 @@ try {
| % {
$proj = Join-Path $slnDir $_
if (-not (Test-Path $proj)) {
- $errors += "Missing project. Solution references a project which does not exist: $proj. [$sln] "
+ LogError "Missing project. Solution references a project which does not exist: $proj. [$sln] "
}
}
}
@@ -42,6 +51,7 @@ try {
Write-Host "Re-running code generation"
+ Write-Host "Re-generating ProjectReference.props"
Invoke-Block {
[string[]] $generateArgs = @()
if ($ci) {
@@ -50,16 +60,32 @@ try {
& $repoRoot/build.cmd /t:GenerateProjectList @generateArgs
}
+ Write-Host "Re-generating package baselines"
+ $dotnet = 'dotnet'
+ if ($ci) {
+ $dotnet = "$repoRoot/.dotnet/x64/dotnet.exe"
+ }
+ Invoke-Block {
+ & $dotnet run -p "$repoRoot/eng/tools/BaselineGenerator/"
+ }
+
Write-Host "git diff"
& git diff --ignore-space-at-eol --exit-code
if ($LastExitCode -ne 0) {
$status = git status -s | Out-String
$status = $status -replace "`n","`n "
- $errors += "Generated code is not up to date."
+ LogError "Generated code is not up to date."
}
}
finally {
+ Write-Host ""
+ Write-Host "Summary:"
+ Write-Host ""
+ Write-Host " $($errors.Length) error(s)"
+ Write-Host ""
+
foreach ($err in $errors) {
+
Write-Host -f Red "error : $err"
}
diff --git a/eng/targets/Npm.Common.props b/eng/targets/Npm.Common.props
new file mode 100644
index 0000000000..3308ca9ee0
--- /dev/null
+++ b/eng/targets/Npm.Common.props
@@ -0,0 +1,7 @@
+
+
+ test
+ Release
+ Debug
+
+
diff --git a/eng/targets/Npm.Common.targets b/eng/targets/Npm.Common.targets
new file mode 100644
index 0000000000..88d4dc59ba
--- /dev/null
+++ b/eng/targets/Npm.Common.targets
@@ -0,0 +1,84 @@
+
+
+
+ $(PackageId.Replace('@','').Replace('/','-'))
+ $(NormalizedPackageId)-$(PackageVersion).tgz
+ $(MSBuildProjectDirectory)\package.json
+ $(MSBuildProjectDirectory)\obj\
+ $([MSBuild]::NormalizeDirectory('$(BaseIntermediateOutputPath)'))$(Configuration)\
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $(PackDependsOn);
+ PrepareForBuild
+
+
+ $(PackDependsOn);
+ Build
+
+
+
+
+
+ <_BackupPackageJson>$(IntermediateOutputPath)$(MSBuildProjectName).package.json.bak
+ <_PackageTargetPath>$(MSBuildProjectDirectory)\$(PackageFileName)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ NpmPackage
+ $(PackageId)
+ $(PackageVersion)
+
+
+
+
+
+
+
diff --git a/global.json b/global.json
index ae29c6398a..1eaa038e9d 100644
--- a/global.json
+++ b/global.json
@@ -1,8 +1,8 @@
{
"sdk": {
- "version": "2.2.100"
+ "version": "2.2.102"
},
"msbuild-sdks": {
- "Internal.AspNetCore.Sdk": "2.2.1-build-20190104.5"
+ "Internal.AspNetCore.Sdk": "2.2.1-build-20190110.1"
}
}
diff --git a/korebuild-lock.txt b/korebuild-lock.txt
index 1edf4372b2..03d616e580 100644
--- a/korebuild-lock.txt
+++ b/korebuild-lock.txt
@@ -1,2 +1,2 @@
-version:2.2.1-build-20190104.5
-commithash:abf5766bd636c29b089ea2995ada30de00d563ff
+version:2.2.1-build-20190110.1
+commithash:f4ebd797fd15484869312b139fdd7e3a115d23bb
diff --git a/src/AzureIntegration/AzureIntegration.sln b/src/AzureIntegration/AzureIntegration.sln
index 5ca7e2c54a..e5163a5c44 100644
--- a/src/AzureIntegration/AzureIntegration.sln
+++ b/src/AzureIntegration/AzureIntegration.sln
@@ -1,4 +1,4 @@
-Microsoft Visual Studio Solution File, Format Version 12.00
+Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.27016.1
MinimumVisualStudioVersion = 15.0.26730.03
@@ -28,8 +28,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.AzureA
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Web.Xdt.Extensions.Tests", "test\Microsoft.Web.Xdt.Extensions.Tests\Microsoft.Web.Xdt.Extensions.Tests.csproj", "{809AEE05-1B28-4E31-8959-776B249BD725}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.AzureAppServices.SiteExtension.Tests", "test\Microsoft.AspNetCore.AzureAppServices.SiteExtension.Tests\Microsoft.AspNetCore.AzureAppServices.SiteExtension.Tests.csproj", "{491A857A-3529-4375-985D-D748F9F01476}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Runtime.SiteExtension", "extensions\Microsoft.AspNetCore.Runtime.SiteExtension\Microsoft.AspNetCore.Runtime.SiteExtension.csproj", "{E1E9BC7A-6951-4B60-8DFB-DBB9AC3CDEB0}"
EndProject
Global
@@ -54,10 +52,6 @@ Global
{809AEE05-1B28-4E31-8959-776B249BD725}.Debug|Any CPU.Build.0 = Debug|Any CPU
{809AEE05-1B28-4E31-8959-776B249BD725}.Release|Any CPU.ActiveCfg = Release|Any CPU
{809AEE05-1B28-4E31-8959-776B249BD725}.Release|Any CPU.Build.0 = Release|Any CPU
- {491A857A-3529-4375-985D-D748F9F01476}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {491A857A-3529-4375-985D-D748F9F01476}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {491A857A-3529-4375-985D-D748F9F01476}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {491A857A-3529-4375-985D-D748F9F01476}.Release|Any CPU.Build.0 = Release|Any CPU
{E1E9BC7A-6951-4B60-8DFB-DBB9AC3CDEB0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E1E9BC7A-6951-4B60-8DFB-DBB9AC3CDEB0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E1E9BC7A-6951-4B60-8DFB-DBB9AC3CDEB0}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -71,7 +65,6 @@ Global
{1CE2D76B-39E6-46C0-8F6F-C63E370955A9} = {FF9B744E-6C59-40CC-9E41-9D2EBD292435}
{2B2C37FF-9249-4EA4-9A7F-038B55A15C2C} = {CD650B4B-81C2-4A44-AEF2-A251A877C1F0}
{809AEE05-1B28-4E31-8959-776B249BD725} = {CD650B4B-81C2-4A44-AEF2-A251A877C1F0}
- {491A857A-3529-4375-985D-D748F9F01476} = {CD650B4B-81C2-4A44-AEF2-A251A877C1F0}
{E1E9BC7A-6951-4B60-8DFB-DBB9AC3CDEB0} = {FF9B744E-6C59-40CC-9E41-9D2EBD292435}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
diff --git a/src/Hosting/test/testassets/TestStartupAssembly1/TestStartupAssembly1.csproj b/src/Hosting/test/testassets/TestStartupAssembly1/TestStartupAssembly1.csproj
index 2695489597..8274adb4a2 100644
--- a/src/Hosting/test/testassets/TestStartupAssembly1/TestStartupAssembly1.csproj
+++ b/src/Hosting/test/testassets/TestStartupAssembly1/TestStartupAssembly1.csproj
@@ -8,4 +8,4 @@
-
\ No newline at end of file
+
diff --git a/src/Http/HttpAbstractions.sln b/src/Http/HttpAbstractions.sln
index f47dfad71e..e560f15872 100644
--- a/src/Http/HttpAbstractions.sln
+++ b/src/Http/HttpAbstractions.sln
@@ -91,7 +91,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.StaticFiles", "..\Middleware\StaticFiles\src\Microsoft.AspNetCore.StaticFiles.csproj", "{A0C7AE95-BBE7-4F75-9508-F5881C8A456D}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.IISIntegration", "..\Servers\IIS\src\Microsoft.AspNetCore.Server.IISIntegration\Microsoft.AspNetCore.Server.IISIntegration.csproj", "{735DAFBA-8F07-4E68-BC46-A16E8A5A5F74}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.IISIntegration", "..\Servers\IIS\IISIntegration\src\Microsoft.AspNetCore.Server.IISIntegration.csproj", "{735DAFBA-8F07-4E68-BC46-A16E8A5A5F74}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
diff --git a/src/Middleware/CORS/test/FunctionalTests/CORS.FunctionalTests.npmproj b/src/Middleware/CORS/test/FunctionalTests/CORS.FunctionalTests.npmproj
new file mode 100644
index 0000000000..87da25f520
--- /dev/null
+++ b/src/Middleware/CORS/test/FunctionalTests/CORS.FunctionalTests.npmproj
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+ false
+ false
+ false
+
+
+
+
diff --git a/src/Servers/FunctionalTests.sln b/src/Servers/FunctionalTests.sln
index 6b14491050..4d713702d8 100644
--- a/src/Servers/FunctionalTests.sln
+++ b/src/Servers/FunctionalTests.sln
@@ -23,7 +23,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ServerComparison.TestSites", "testassets\ServerComparison.TestSites\ServerComparison.TestSites.csproj", "{9D402831-ED2C-4026-925E-30F48371064A}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.IIS", "IIS\src\Microsoft.AspNetCore.Server.IIS\Microsoft.AspNetCore.Server.IIS.csproj", "{6516E482-75AA-4B76-B9A6-87ABEE1DB625}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.IIS", "IIS\IIS\src\Microsoft.AspNetCore.Server.IIS.csproj", "{6516E482-75AA-4B76-B9A6-87ABEE1DB625}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
diff --git a/src/Shared/test/Shared.Tests/Microsoft.AspNetCore.Shared.Tests.csproj b/src/Shared/test/Shared.Tests/Microsoft.AspNetCore.Shared.Tests.csproj
index 4f8bfdc89f..cc3f3d588c 100644
--- a/src/Shared/test/Shared.Tests/Microsoft.AspNetCore.Shared.Tests.csproj
+++ b/src/Shared/test/Shared.Tests/Microsoft.AspNetCore.Shared.Tests.csproj
@@ -19,6 +19,7 @@
+
diff --git a/src/SignalR/.gitignore b/src/SignalR/.gitignore
deleted file mode 100644
index 0b52182ce8..0000000000
--- a/src/SignalR/.gitignore
+++ /dev/null
@@ -1,58 +0,0 @@
-[Oo]bj/
-[Bb]in/
-TestResults/
-.nuget/
-*.sln.ide/
-_ReSharper.*/
-packages/
-artifacts/
-PublishProfiles/
-.vs/
-*.user
-*.suo
-*.cache
-*.docstates
-_ReSharper.*
-nuget.exe
-*net45.csproj
-*net451.csproj
-*k10.csproj
-*.psess
-*.vsp
-*.pidb
-*.userprefs
-*DS_Store
-*.ncrunchsolution
-*.*sdf
-*.ipch
-project.lock.json
-runtimes/
-.build/
-.testPublish/
-launchSettings.json
-node_modules/
-npm-debug.log
-*.tmp
-*.nuget.props
-*.nuget.targets
-autobahnreports/
-site.min.css
-.idea/
-.vscode/
-dist/
-global.json
-BenchmarkDotNet.Artifacts/
-.rpt2_cache/
-*.orig
-*.vspscc
-*.vssscc
-*.opensdf
-Debug/
-Release/
-ipch/
-*.vcxproj.user
-*.exe
-*.aps
-*.opendb
-*.db
-coverage/
diff --git a/src/SignalR/Directory.Build.props b/src/SignalR/Directory.Build.props
index c99c9cd91a..2b56e09281 100644
--- a/src/SignalR/Directory.Build.props
+++ b/src/SignalR/Directory.Build.props
@@ -1,21 +1,35 @@
-
+
-
-
-
+
+
+ 1.1.$(AspNetCorePatchVersion)
+ $(VersionPrefix)
+ $(VersionPrefix)-$(VersionSuffix)
+
+
+ false
+
- Microsoft ASP.NET Core
- https://github.com/aspnet/SignalR
- git
- $(MSBuildThisFileDirectory)
- $(MSBuildThisFileDirectory)build\Key.snk
- true
- true
- latest
- $(MSBuildThisFileDirectory)..\Shared\
+ $(MSBuildThisFileDirectory)common\Shared\
+ $(MSBuildThisFileDirectory)common\testassets\Tests.Utils\Microsoft.AspNetCore.SignalR.Tests.Utils.csproj
+
+
+ $(NoWarn);CS1591
+ true
+ aspnetcore;signalr
+
+
+
+
+ PreserveNewest
+
+
+
+
+
+
+
diff --git a/src/SignalR/Directory.Build.targets b/src/SignalR/Directory.Build.targets
index a5761bff02..edf60bcd52 100644
--- a/src/SignalR/Directory.Build.targets
+++ b/src/SignalR/Directory.Build.targets
@@ -1,7 +1,10 @@
-
- $(MicrosoftNETCoreApp22PackageVersion)
-
- 99.9
+
+
+
+
+ SignalR
+
+ win7-x86
diff --git a/src/SignalR/NuGetPackageVerifier.json b/src/SignalR/NuGetPackageVerifier.json
deleted file mode 100644
index c5f5582998..0000000000
--- a/src/SignalR/NuGetPackageVerifier.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "Default": {
- "rules": [
- "DefaultCompositeRule"
- ]
- }
-}
diff --git a/src/SignalR/README.md b/src/SignalR/README.md
index 4223ebe9c3..084b5fbf71 100644
--- a/src/SignalR/README.md
+++ b/src/SignalR/README.md
@@ -1,21 +1,10 @@
ASP.NET Core SignalR
-========
-
-**IMPORTANT**: This repository hosts code and project management for ASP.NET **Core** SignalR, for use in ASP.NET Core applications using `Microsoft.AspNetCore.App`. If you are looking for information on ASP.NET SignalR (used in .NET Framework applications using System.Web and/or Katana), see the https://github.com/SignalR/SignalR repository.
-
-[](https://dnceng.visualstudio.com/public/_build/latest?definitionId=26)
-[](https://badge.fury.io/nu/microsoft.aspnetcore.signalr)
-[](https://badge.fury.io/js/%40aspnet%2Fsignalr)
-[](https://maven-badges.herokuapp.com/maven-central/com.microsoft.signalr/signalr)
-
-[](https://gitter.im/aspnet/SignalR?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
+====================
ASP.NET Core SignalR is a new library for ASP.NET Core developers that makes it incredibly simple to add real-time web functionality to your applications. What is "real-time web" functionality? It's the ability to have your server-side code push content to the connected clients as it happens, in real-time.
You can watch an introductory presentation here - [ASP.NET Core SignalR: Build 2018](https://www.youtube.com/watch?v=Lws0zOaseIM)
-This project is part of ASP.NET Core. You can find samples, documentation and getting started instructions for ASP.NET Core at the [Home](https://github.com/aspnet/home) repo.
-
## Documentation
Documentation for ASP.NET Core SignalR can be found in the [Real-time Apps](https://docs.microsoft.com/en-us/aspnet/core/signalr/introduction?view=aspnetcore-2.1) section of the ASP.NET Core Documentation site.
@@ -61,11 +50,3 @@ npm install @aspnet/signalr-protocol-msgpack
## Deploying
Once you've installed the NPM modules, they will be located in the `node_modules/@aspnet/signalr` and `node_modules/@aspnet/signalr-protocol-msgpack` folders. If you are building a NodeJS application or using an ECMAScript module loader/bundler (such as [webpack](https://webpack.js.org)), you can load them directly. If you are building a browser application without using a module bundler, you can find UMD-compatible bundles in the `dist/browser` folder; minified versions are provided as well. Simply copy these to your project as appropriate and use a build task to keep them up-to-date.
-
-## Building from source
-
-To run a complete build on command line only, execute `build.cmd` or `build.sh` without arguments.
-
-If this is your first time building *SignalR* please see the [Getting Started](docs/GettingStarted.md) for more information about project dependencies and other build-related information specific to *SignalR*.
-
-See [developer documentation](https://github.com/aspnet/Home/wiki) for general information on building and contributing to this and other [aspnet](https://github.com/aspnet) repositories.
diff --git a/src/SignalR/SignalR.sln b/src/SignalR/SignalR.sln
index 7f925af865..3a5b0aa941 100644
--- a/src/SignalR/SignalR.sln
+++ b/src/SignalR/SignalR.sln
@@ -3,97 +3,115 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.27110.0
MinimumVisualStudioVersion = 15.0.26730.03
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{DA69F624-5398-4884-87E4-B816698CDE65}"
- ProjectSection(SolutionItems) = preProject
- src\Directory.Build.props = src\Directory.Build.props
- EndProjectSection
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{83B2C3EB-A3D8-4E6F-9A3C-A380B005EF31}"
- ProjectSection(SolutionItems) = preProject
- benchmarkapps\BenchmarkServer\BenchmarkServer.csproj = benchmarkapps\BenchmarkServer\BenchmarkServer.csproj
- build\dependencies.props = build\dependencies.props
- Directory.Build.props = Directory.Build.props
- Directory.Build.targets = Directory.Build.targets
- build\Key.snk = build\Key.snk
- NuGet.config = NuGet.config
- build\repo.props = build\repo.props
- build\repo.targets = build\repo.targets
- EndProjectSection
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{C4BC9889-B49F-41B6-806B-F84941B2549B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SignalRSamples", "samples\SignalRSamples\SignalRSamples.csproj", "{C4AEAB04-F341-4539-B6C0-52368FB4BF9E}"
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{6A35B453-52EC-48AF-89CA-D4A69800F131}"
- ProjectSection(SolutionItems) = preProject
- test\Directory.Build.props = test\Directory.Build.props
- EndProjectSection
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Http.Connections.Tests", "test\Microsoft.AspNetCore.Http.Connections.Tests\Microsoft.AspNetCore.Http.Connections.Tests.csproj", "{AAD719D5-5E31-4ED1-A60F-6EB92EFA66D9}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.Core", "src\Microsoft.AspNetCore.SignalR.Core\Microsoft.AspNetCore.SignalR.Core.csproj", "{42E76F87-92B6-45AB-BF07-6B811C0F2CAC}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.Redis", "src\Microsoft.AspNetCore.SignalR.Redis\Microsoft.AspNetCore.SignalR.Redis.csproj", "{59319B72-38BE-4041-8E5C-FF6938874CE8}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SocialWeather", "samples\SocialWeather\SocialWeather.csproj", "{8D789F94-CB74-45FD-ACE7-92AF6E55042E}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.Tests", "test\Microsoft.AspNetCore.SignalR.Tests\Microsoft.AspNetCore.SignalR.Tests.csproj", "{1CE2B3BE-056C-41E3-A5F5-6A1EF1D288BA}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClientSample", "samples\ClientSample\ClientSample.csproj", "{BA99C2A1-48F9-4FA5-B95A-9687A73B7CC9}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WebSocketSample", "samples\WebSocketSample\WebSocketSample.csproj", "{EE790D50-C632-46B9-A430-06FA2F2FDCD7}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.Client.Tests", "test\Microsoft.AspNetCore.SignalR.Client.Tests\Microsoft.AspNetCore.SignalR.Client.Tests.csproj", "{B19C15A5-F5EA-4CA7-936B-1166ABEE35C4}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.Common", "src\Microsoft.AspNetCore.SignalR.Common\Microsoft.AspNetCore.SignalR.Common.csproj", "{E37324FF-6BAF-4243-BA80-7C024CF5F29D}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.Client.Core", "src\Microsoft.AspNetCore.SignalR.Client.Core\Microsoft.AspNetCore.SignalR.Client.Core.csproj", "{354335AB-CEE9-4434-A641-78058F6EFE56}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.Client.FunctionalTests", "test\Microsoft.AspNetCore.SignalR.Client.FunctionalTests\Microsoft.AspNetCore.SignalR.Client.FunctionalTests.csproj", "{455B68D2-C5B6-4BF4-A685-964B07AFAAF8}"
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "clients", "clients", "{3A76C5A2-79ED-49BC-8BDC-6A3A766FFA1B}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.Microbenchmarks", "benchmarks\Microsoft.AspNetCore.SignalR.Microbenchmarks\Microsoft.AspNetCore.SignalR.Microbenchmarks.csproj", "{96771B3F-4D18-41A7-A75B-FF38E76AAC89}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.Common.Tests", "test\Microsoft.AspNetCore.SignalR.Common.Tests\Microsoft.AspNetCore.SignalR.Common.Tests.csproj", "{75E342F6-5445-4E7E-9143-6D9AE62C2B1E}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR", "src\Microsoft.AspNetCore.SignalR\Microsoft.AspNetCore.SignalR.csproj", "{FD80BB0F-0876-4F11-8D84-6657C8EF84CA}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Http.Connections", "src\Microsoft.AspNetCore.Http.Connections\Microsoft.AspNetCore.Http.Connections.csproj", "{9E403E93-3284-486F-9A5F-1E15FCE426A5}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Http.Connections.Client", "src\Microsoft.AspNetCore.Http.Connections.Client\Microsoft.AspNetCore.Http.Connections.Client.csproj", "{B0243F99-2D3F-4CC6-AD71-E3F891B64724}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Http.Connections.Common", "src\Microsoft.AspNetCore.Http.Connections.Common\Microsoft.AspNetCore.Http.Connections.Common.csproj", "{E081EE41-D95F-4AD2-BC0B-4B562C0A2A47}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "benchmarks", "benchmarks", "{8A4582C8-DC59-4B61-BCE7-119FBAA99EFB}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.Client", "src\Microsoft.AspNetCore.SignalR.Client\Microsoft.AspNetCore.SignalR.Client.csproj", "{BE982591-F4BB-42D9-ABD4-A5D44C65971E}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.Redis.Tests", "test\Microsoft.AspNetCore.SignalR.Redis.Tests\Microsoft.AspNetCore.SignalR.Redis.Tests.csproj", "{0B083AE6-86CA-4E0B-AE02-59154D1FD005}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JwtSample", "samples\JwtSample\JwtSample.csproj", "{6A7491D3-3C97-49BD-A71C-433AED657F30}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JwtClientSample", "samples\JwtClientSample\JwtClientSample.csproj", "{1A953296-E869-4DE2-A693-FD5FCDE27057}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.Tests.Utils", "test\Microsoft.AspNetCore.SignalR.Tests.Utils\Microsoft.AspNetCore.SignalR.Tests.Utils.csproj", "{0A0A6135-EA24-4307-95C2-CE1B7E164A5E}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.Protocols.MessagePack", "src\Microsoft.AspNetCore.SignalR.Protocols.MessagePack\Microsoft.AspNetCore.SignalR.Protocols.MessagePack.csproj", "{55DB4B6F-12E5-4A27-97F4-E97E135470FF}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FunctionalTests", "clients\ts\FunctionalTests\FunctionalTests.csproj", "{D0C7B22E-B0B6-4D62-BF7D-79EE4AAF1981}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.Protocols.Json", "src\Microsoft.AspNetCore.SignalR.Protocols.Json\Microsoft.AspNetCore.SignalR.Protocols.Json.csproj", "{896FA5EE-63A5-4EAC-9F09-346584BB4830}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Hosting", "..\Hosting\Hosting\src\Microsoft.AspNetCore.Hosting.csproj", "{3AC35C9A-3344-4BBB-B789-06CEE2CD093E}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BenchmarkServer", "benchmarkapps\BenchmarkServer\BenchmarkServer.csproj", "{8C75AC94-C980-4FE1-9F79-6CED3C8665CE}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.IntegrationTesting", "..\Hosting\Server.IntegrationTesting\src\Microsoft.AspNetCore.Server.IntegrationTesting.csproj", "{8312A1B0-6FA8-47FE-9299-A76202AC920B}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Crankier", "benchmarkapps\Crankier\Crankier.csproj", "{8D3E3E7D-452B-44F4-86CA-111003EA11ED}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.TestHost", "..\Hosting\TestHost\src\Microsoft.AspNetCore.TestHost.csproj", "{3ACAB196-DD18-4AD0-87BE-2F4CB062D2F7}"
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "benchmarkapps", "benchmarkapps", "{43F352F3-4E2B-4ED7-901B-36E6671251F5}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Authentication.Core", "..\Http\Authentication.Core\src\Microsoft.AspNetCore.Authentication.Core.csproj", "{9A9BE05B-1662-4A80-AE44-7D06071A1473}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.Specification.Tests", "src\Microsoft.AspNetCore.SignalR.Specification.Tests\Microsoft.AspNetCore.SignalR.Specification.Tests.csproj", "{2B03333F-3ACD-474C-862B-FA97D3BA03B5}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Http.Abstractions", "..\Http\Http.Abstractions\src\Microsoft.AspNetCore.Http.Abstractions.csproj", "{1758768B-81BC-434D-A4E6-4C821436373E}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.StackExchangeRedis", "src\Microsoft.AspNetCore.SignalR.StackExchangeRedis\Microsoft.AspNetCore.SignalR.StackExchangeRedis.csproj", "{D1334F29-5C19-4C7B-B62D-0A2F23AFB31C}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Http", "..\Http\Http\src\Microsoft.AspNetCore.Http.csproj", "{07137BC8-F3D8-425E-8A7F-1AAA383EA845}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests", "test\Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests\Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests.csproj", "{A5006087-81B0-4C62-B847-50ED5C37069D}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Cors", "..\Middleware\CORS\src\Microsoft.AspNetCore.Cors.csproj", "{9D500098-648F-4EC3-9B89-9BAB7278EDF1}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Diagnostics", "..\Middleware\Diagnostics\src\Microsoft.AspNetCore.Diagnostics.csproj", "{98B8D556-A024-42FA-B288-F6DA9EB2B338}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.StaticFiles", "..\Middleware\StaticFiles\src\Microsoft.AspNetCore.StaticFiles.csproj", "{6818EAB6-8D81-4FE9-8E5F-44D7EF18FF74}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Authentication.Cookies", "..\Security\Authentication\Cookies\src\Microsoft.AspNetCore.Authentication.Cookies.csproj", "{73C9A9F6-4254-450B-9BD0-B665DE298D9D}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Authentication", "..\Security\Authentication\Core\src\Microsoft.AspNetCore.Authentication.csproj", "{EBE99AF6-6F53-49DE-9B6C-0BF03731CD91}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Authentication.JwtBearer", "..\Security\Authentication\JwtBearer\src\Microsoft.AspNetCore.Authentication.JwtBearer.csproj", "{2F1FA614-9257-405F-815A-97EE72E046F4}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.IISIntegration", "..\Servers\IIS\IISIntegration\src\Microsoft.AspNetCore.Server.IISIntegration.csproj", "{39A4DA7A-6857-4594-8AE1-406F1F271B5C}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.Kestrel", "..\Servers\Kestrel\Kestrel\src\Microsoft.AspNetCore.Server.Kestrel.csproj", "{356D6B62-1EDE-43F9-B78E-E160F4EC02E7}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.Client.Core", "clients\csharp\Client.Core\src\Microsoft.AspNetCore.SignalR.Client.Core.csproj", "{1F83C880-645D-477B-A877-157F49660B0E}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.Client", "clients\csharp\Client\src\Microsoft.AspNetCore.SignalR.Client.csproj", "{903FDE03-F9A6-4969-9028-842A53580667}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.Client.FunctionalTests", "clients\csharp\Client\test\FunctionalTests\Microsoft.AspNetCore.SignalR.Client.FunctionalTests.csproj", "{A7C2BC93-DFB9-45B3-8CD9-EBA940BC23D1}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.Client.Tests", "clients\csharp\Client\test\UnitTests\Microsoft.AspNetCore.SignalR.Client.Tests.csproj", "{3012F7C4-0181-40B8-9391-04EF794DE9A3}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Http.Connections.Client", "clients\csharp\Http.Connections.Client\src\Microsoft.AspNetCore.Http.Connections.Client.csproj", "{EA5C411C-AC81-4C51-BB85-CBE8F0E7BE1E}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "common", "common", "{9FCD621E-E710-4991-B45C-1BABC977BEEC}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Http.Connections.Common", "common\Http.Connections.Common\src\Microsoft.AspNetCore.Http.Connections.Common.csproj", "{F3F532CF-BABD-4517-8C46-61869F814C58}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Http.Connections", "common\Http.Connections\src\Microsoft.AspNetCore.Http.Connections.csproj", "{9D9EAC92-0CDC-4648-BC14-E602BCDF71A3}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Http.Connections.Tests", "common\Http.Connections\test\Microsoft.AspNetCore.Http.Connections.Tests.csproj", "{126E8FB0-350D-4EA8-BDCD-708055112358}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.Protocols.Json", "common\Protocols.Json\src\Microsoft.AspNetCore.SignalR.Protocols.Json.csproj", "{0CD3CCCE-45CD-4CB0-820E-D6964A410FB9}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.Protocols.MessagePack", "common\Protocols.MessagePack\src\Microsoft.AspNetCore.SignalR.Protocols.MessagePack.csproj", "{0CD2E602-3B28-42DB-A71B-34C50E9663CE}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.Common", "common\SignalR.Common\src\Microsoft.AspNetCore.SignalR.Common.csproj", "{CE635283-EE95-4F8E-B80A-2DF0E8E530AE}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.Common.Tests", "common\SignalR.Common\test\Microsoft.AspNetCore.SignalR.Common.Tests.csproj", "{64D82C2D-4F93-4B4F-8FF5-5086C242F9D2}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "testassets", "testassets", "{6D9DF750-BA0D-4ED7-8137-732E52894B1C}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.Tests.Utils", "common\testassets\Tests.Utils\Microsoft.AspNetCore.SignalR.Tests.Utils.csproj", "{21C71457-3910-4BC1-937F-57B0172004CA}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "perf", "perf", "{AC3CD0BA-DE19-4333-9A42-3CFCC9FF0332}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "benchmarkapps", "benchmarkapps", "{1AF35754-036E-4D19-BE71-6144CEC0E1D5}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BenchmarkServer", "perf\benchmarkapps\BenchmarkServer\BenchmarkServer.csproj", "{35C0D65F-643E-42FA-9177-2BFFDE9AFA14}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Crankier", "perf\benchmarkapps\Crankier\Crankier.csproj", "{56563C41-59EA-4B7F-94DC-ADD5923EC087}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.Microbenchmarks", "perf\Microbenchmarks\Microsoft.AspNetCore.SignalR.Microbenchmarks.csproj", "{B34D6810-1A95-462F-A8DD-76E2B7FC5CEE}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "server", "server", "{37DDE730-33D7-4400-9F12-84F0F2C0F319}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.Core", "server\Core\src\Microsoft.AspNetCore.SignalR.Core.csproj", "{F7CF971E-4FD8-4E3C-9BA1-0A0C84E2E72A}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR", "server\SignalR\src\Microsoft.AspNetCore.SignalR.csproj", "{F98DC946-BB11-444E-BD87-13CB07E5E107}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.Tests", "server\SignalR\test\Microsoft.AspNetCore.SignalR.Tests.csproj", "{6089F7BD-6A47-4C8F-A55F-5B813BECA763}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.Redis", "server\Redis\src\Microsoft.AspNetCore.SignalR.Redis.csproj", "{1C1556CC-A91E-4B69-A5E8-644052B1CB7B}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.Redis.Tests", "server\Redis\test\Microsoft.AspNetCore.SignalR.Redis.Tests.csproj", "{44D6120C-A975-4551-9ED5-49A99047FEA8}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "dependencies", "dependencies", "{EDE8E45E-A5D0-4F0E-B72C-7CC14146C60A}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "testassets", "testassets", "{F2AB9C8F-CC30-495D-ACF4-9E4715F46C90}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.Specification.Tests", "server\Specification.Tests\src\Microsoft.AspNetCore.SignalR.Specification.Tests.csproj", "{2B03333F-3ACD-474C-862B-FA97D3BA03B5}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.StackExchangeRedis", "server\StackExchangeRedis\src\Microsoft.AspNetCore.SignalR.StackExchangeRedis.csproj", "{D1334F29-5C19-4C7B-B62D-0A2F23AFB31C}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests", "server\StackExchangeRedis\test\Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests.csproj", "{A5006087-81B0-4C62-B847-50ED5C37069D}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Hosting.Abstractions", "..\Hosting\Abstractions\src\Microsoft.AspNetCore.Hosting.Abstractions.csproj", "{C398E9E7-7FBF-4667-813C-D5E0DB3BE0B1}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -105,26 +123,10 @@ Global
{C4AEAB04-F341-4539-B6C0-52368FB4BF9E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C4AEAB04-F341-4539-B6C0-52368FB4BF9E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C4AEAB04-F341-4539-B6C0-52368FB4BF9E}.Release|Any CPU.Build.0 = Release|Any CPU
- {AAD719D5-5E31-4ED1-A60F-6EB92EFA66D9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {AAD719D5-5E31-4ED1-A60F-6EB92EFA66D9}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {AAD719D5-5E31-4ED1-A60F-6EB92EFA66D9}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {AAD719D5-5E31-4ED1-A60F-6EB92EFA66D9}.Release|Any CPU.Build.0 = Release|Any CPU
- {42E76F87-92B6-45AB-BF07-6B811C0F2CAC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {42E76F87-92B6-45AB-BF07-6B811C0F2CAC}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {42E76F87-92B6-45AB-BF07-6B811C0F2CAC}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {42E76F87-92B6-45AB-BF07-6B811C0F2CAC}.Release|Any CPU.Build.0 = Release|Any CPU
- {59319B72-38BE-4041-8E5C-FF6938874CE8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {59319B72-38BE-4041-8E5C-FF6938874CE8}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {59319B72-38BE-4041-8E5C-FF6938874CE8}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {59319B72-38BE-4041-8E5C-FF6938874CE8}.Release|Any CPU.Build.0 = Release|Any CPU
{8D789F94-CB74-45FD-ACE7-92AF6E55042E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8D789F94-CB74-45FD-ACE7-92AF6E55042E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8D789F94-CB74-45FD-ACE7-92AF6E55042E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8D789F94-CB74-45FD-ACE7-92AF6E55042E}.Release|Any CPU.Build.0 = Release|Any CPU
- {1CE2B3BE-056C-41E3-A5F5-6A1EF1D288BA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {1CE2B3BE-056C-41E3-A5F5-6A1EF1D288BA}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {1CE2B3BE-056C-41E3-A5F5-6A1EF1D288BA}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {1CE2B3BE-056C-41E3-A5F5-6A1EF1D288BA}.Release|Any CPU.Build.0 = Release|Any CPU
{BA99C2A1-48F9-4FA5-B95A-9687A73B7CC9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BA99C2A1-48F9-4FA5-B95A-9687A73B7CC9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BA99C2A1-48F9-4FA5-B95A-9687A73B7CC9}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -133,54 +135,6 @@ Global
{EE790D50-C632-46B9-A430-06FA2F2FDCD7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EE790D50-C632-46B9-A430-06FA2F2FDCD7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EE790D50-C632-46B9-A430-06FA2F2FDCD7}.Release|Any CPU.Build.0 = Release|Any CPU
- {B19C15A5-F5EA-4CA7-936B-1166ABEE35C4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {B19C15A5-F5EA-4CA7-936B-1166ABEE35C4}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {B19C15A5-F5EA-4CA7-936B-1166ABEE35C4}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {B19C15A5-F5EA-4CA7-936B-1166ABEE35C4}.Release|Any CPU.Build.0 = Release|Any CPU
- {E37324FF-6BAF-4243-BA80-7C024CF5F29D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {E37324FF-6BAF-4243-BA80-7C024CF5F29D}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {E37324FF-6BAF-4243-BA80-7C024CF5F29D}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {E37324FF-6BAF-4243-BA80-7C024CF5F29D}.Release|Any CPU.Build.0 = Release|Any CPU
- {354335AB-CEE9-4434-A641-78058F6EFE56}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {354335AB-CEE9-4434-A641-78058F6EFE56}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {354335AB-CEE9-4434-A641-78058F6EFE56}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {354335AB-CEE9-4434-A641-78058F6EFE56}.Release|Any CPU.Build.0 = Release|Any CPU
- {455B68D2-C5B6-4BF4-A685-964B07AFAAF8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {455B68D2-C5B6-4BF4-A685-964B07AFAAF8}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {455B68D2-C5B6-4BF4-A685-964B07AFAAF8}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {455B68D2-C5B6-4BF4-A685-964B07AFAAF8}.Release|Any CPU.Build.0 = Release|Any CPU
- {96771B3F-4D18-41A7-A75B-FF38E76AAC89}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {96771B3F-4D18-41A7-A75B-FF38E76AAC89}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {96771B3F-4D18-41A7-A75B-FF38E76AAC89}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {96771B3F-4D18-41A7-A75B-FF38E76AAC89}.Release|Any CPU.Build.0 = Release|Any CPU
- {75E342F6-5445-4E7E-9143-6D9AE62C2B1E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {75E342F6-5445-4E7E-9143-6D9AE62C2B1E}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {75E342F6-5445-4E7E-9143-6D9AE62C2B1E}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {75E342F6-5445-4E7E-9143-6D9AE62C2B1E}.Release|Any CPU.Build.0 = Release|Any CPU
- {FD80BB0F-0876-4F11-8D84-6657C8EF84CA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {FD80BB0F-0876-4F11-8D84-6657C8EF84CA}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {FD80BB0F-0876-4F11-8D84-6657C8EF84CA}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {FD80BB0F-0876-4F11-8D84-6657C8EF84CA}.Release|Any CPU.Build.0 = Release|Any CPU
- {9E403E93-3284-486F-9A5F-1E15FCE426A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {9E403E93-3284-486F-9A5F-1E15FCE426A5}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {9E403E93-3284-486F-9A5F-1E15FCE426A5}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {9E403E93-3284-486F-9A5F-1E15FCE426A5}.Release|Any CPU.Build.0 = Release|Any CPU
- {B0243F99-2D3F-4CC6-AD71-E3F891B64724}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {B0243F99-2D3F-4CC6-AD71-E3F891B64724}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {B0243F99-2D3F-4CC6-AD71-E3F891B64724}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {B0243F99-2D3F-4CC6-AD71-E3F891B64724}.Release|Any CPU.Build.0 = Release|Any CPU
- {E081EE41-D95F-4AD2-BC0B-4B562C0A2A47}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {E081EE41-D95F-4AD2-BC0B-4B562C0A2A47}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {E081EE41-D95F-4AD2-BC0B-4B562C0A2A47}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {E081EE41-D95F-4AD2-BC0B-4B562C0A2A47}.Release|Any CPU.Build.0 = Release|Any CPU
- {BE982591-F4BB-42D9-ABD4-A5D44C65971E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {BE982591-F4BB-42D9-ABD4-A5D44C65971E}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {BE982591-F4BB-42D9-ABD4-A5D44C65971E}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {BE982591-F4BB-42D9-ABD4-A5D44C65971E}.Release|Any CPU.Build.0 = Release|Any CPU
- {0B083AE6-86CA-4E0B-AE02-59154D1FD005}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {0B083AE6-86CA-4E0B-AE02-59154D1FD005}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {0B083AE6-86CA-4E0B-AE02-59154D1FD005}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {0B083AE6-86CA-4E0B-AE02-59154D1FD005}.Release|Any CPU.Build.0 = Release|Any CPU
{6A7491D3-3C97-49BD-A71C-433AED657F30}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6A7491D3-3C97-49BD-A71C-433AED657F30}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6A7491D3-3C97-49BD-A71C-433AED657F30}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -189,30 +143,150 @@ Global
{1A953296-E869-4DE2-A693-FD5FCDE27057}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1A953296-E869-4DE2-A693-FD5FCDE27057}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1A953296-E869-4DE2-A693-FD5FCDE27057}.Release|Any CPU.Build.0 = Release|Any CPU
- {0A0A6135-EA24-4307-95C2-CE1B7E164A5E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {0A0A6135-EA24-4307-95C2-CE1B7E164A5E}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {0A0A6135-EA24-4307-95C2-CE1B7E164A5E}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {0A0A6135-EA24-4307-95C2-CE1B7E164A5E}.Release|Any CPU.Build.0 = Release|Any CPU
- {55DB4B6F-12E5-4A27-97F4-E97E135470FF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {55DB4B6F-12E5-4A27-97F4-E97E135470FF}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {55DB4B6F-12E5-4A27-97F4-E97E135470FF}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {55DB4B6F-12E5-4A27-97F4-E97E135470FF}.Release|Any CPU.Build.0 = Release|Any CPU
{D0C7B22E-B0B6-4D62-BF7D-79EE4AAF1981}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D0C7B22E-B0B6-4D62-BF7D-79EE4AAF1981}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D0C7B22E-B0B6-4D62-BF7D-79EE4AAF1981}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D0C7B22E-B0B6-4D62-BF7D-79EE4AAF1981}.Release|Any CPU.Build.0 = Release|Any CPU
- {896FA5EE-63A5-4EAC-9F09-346584BB4830}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {896FA5EE-63A5-4EAC-9F09-346584BB4830}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {896FA5EE-63A5-4EAC-9F09-346584BB4830}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {896FA5EE-63A5-4EAC-9F09-346584BB4830}.Release|Any CPU.Build.0 = Release|Any CPU
- {8C75AC94-C980-4FE1-9F79-6CED3C8665CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {8C75AC94-C980-4FE1-9F79-6CED3C8665CE}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {8C75AC94-C980-4FE1-9F79-6CED3C8665CE}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {8C75AC94-C980-4FE1-9F79-6CED3C8665CE}.Release|Any CPU.Build.0 = Release|Any CPU
- {8D3E3E7D-452B-44F4-86CA-111003EA11ED}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {8D3E3E7D-452B-44F4-86CA-111003EA11ED}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {8D3E3E7D-452B-44F4-86CA-111003EA11ED}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {8D3E3E7D-452B-44F4-86CA-111003EA11ED}.Release|Any CPU.Build.0 = Release|Any CPU
+ {3AC35C9A-3344-4BBB-B789-06CEE2CD093E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {3AC35C9A-3344-4BBB-B789-06CEE2CD093E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {3AC35C9A-3344-4BBB-B789-06CEE2CD093E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {3AC35C9A-3344-4BBB-B789-06CEE2CD093E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {8312A1B0-6FA8-47FE-9299-A76202AC920B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {8312A1B0-6FA8-47FE-9299-A76202AC920B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {8312A1B0-6FA8-47FE-9299-A76202AC920B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {8312A1B0-6FA8-47FE-9299-A76202AC920B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {3ACAB196-DD18-4AD0-87BE-2F4CB062D2F7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {3ACAB196-DD18-4AD0-87BE-2F4CB062D2F7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {3ACAB196-DD18-4AD0-87BE-2F4CB062D2F7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {3ACAB196-DD18-4AD0-87BE-2F4CB062D2F7}.Release|Any CPU.Build.0 = Release|Any CPU
+ {9A9BE05B-1662-4A80-AE44-7D06071A1473}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9A9BE05B-1662-4A80-AE44-7D06071A1473}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9A9BE05B-1662-4A80-AE44-7D06071A1473}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {9A9BE05B-1662-4A80-AE44-7D06071A1473}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1758768B-81BC-434D-A4E6-4C821436373E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1758768B-81BC-434D-A4E6-4C821436373E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1758768B-81BC-434D-A4E6-4C821436373E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1758768B-81BC-434D-A4E6-4C821436373E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {07137BC8-F3D8-425E-8A7F-1AAA383EA845}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {07137BC8-F3D8-425E-8A7F-1AAA383EA845}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {07137BC8-F3D8-425E-8A7F-1AAA383EA845}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {07137BC8-F3D8-425E-8A7F-1AAA383EA845}.Release|Any CPU.Build.0 = Release|Any CPU
+ {9D500098-648F-4EC3-9B89-9BAB7278EDF1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9D500098-648F-4EC3-9B89-9BAB7278EDF1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9D500098-648F-4EC3-9B89-9BAB7278EDF1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {9D500098-648F-4EC3-9B89-9BAB7278EDF1}.Release|Any CPU.Build.0 = Release|Any CPU
+ {98B8D556-A024-42FA-B288-F6DA9EB2B338}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {98B8D556-A024-42FA-B288-F6DA9EB2B338}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {98B8D556-A024-42FA-B288-F6DA9EB2B338}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {98B8D556-A024-42FA-B288-F6DA9EB2B338}.Release|Any CPU.Build.0 = Release|Any CPU
+ {6818EAB6-8D81-4FE9-8E5F-44D7EF18FF74}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {6818EAB6-8D81-4FE9-8E5F-44D7EF18FF74}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {6818EAB6-8D81-4FE9-8E5F-44D7EF18FF74}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {6818EAB6-8D81-4FE9-8E5F-44D7EF18FF74}.Release|Any CPU.Build.0 = Release|Any CPU
+ {73C9A9F6-4254-450B-9BD0-B665DE298D9D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {73C9A9F6-4254-450B-9BD0-B665DE298D9D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {73C9A9F6-4254-450B-9BD0-B665DE298D9D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {73C9A9F6-4254-450B-9BD0-B665DE298D9D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {EBE99AF6-6F53-49DE-9B6C-0BF03731CD91}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {EBE99AF6-6F53-49DE-9B6C-0BF03731CD91}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {EBE99AF6-6F53-49DE-9B6C-0BF03731CD91}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {EBE99AF6-6F53-49DE-9B6C-0BF03731CD91}.Release|Any CPU.Build.0 = Release|Any CPU
+ {2F1FA614-9257-405F-815A-97EE72E046F4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {2F1FA614-9257-405F-815A-97EE72E046F4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {2F1FA614-9257-405F-815A-97EE72E046F4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {2F1FA614-9257-405F-815A-97EE72E046F4}.Release|Any CPU.Build.0 = Release|Any CPU
+ {39A4DA7A-6857-4594-8AE1-406F1F271B5C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {39A4DA7A-6857-4594-8AE1-406F1F271B5C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {39A4DA7A-6857-4594-8AE1-406F1F271B5C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {39A4DA7A-6857-4594-8AE1-406F1F271B5C}.Release|Any CPU.Build.0 = Release|Any CPU
+ {356D6B62-1EDE-43F9-B78E-E160F4EC02E7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {356D6B62-1EDE-43F9-B78E-E160F4EC02E7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {356D6B62-1EDE-43F9-B78E-E160F4EC02E7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {356D6B62-1EDE-43F9-B78E-E160F4EC02E7}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1F83C880-645D-477B-A877-157F49660B0E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1F83C880-645D-477B-A877-157F49660B0E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1F83C880-645D-477B-A877-157F49660B0E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1F83C880-645D-477B-A877-157F49660B0E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {903FDE03-F9A6-4969-9028-842A53580667}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {903FDE03-F9A6-4969-9028-842A53580667}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {903FDE03-F9A6-4969-9028-842A53580667}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {903FDE03-F9A6-4969-9028-842A53580667}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A7C2BC93-DFB9-45B3-8CD9-EBA940BC23D1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A7C2BC93-DFB9-45B3-8CD9-EBA940BC23D1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A7C2BC93-DFB9-45B3-8CD9-EBA940BC23D1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A7C2BC93-DFB9-45B3-8CD9-EBA940BC23D1}.Release|Any CPU.Build.0 = Release|Any CPU
+ {3012F7C4-0181-40B8-9391-04EF794DE9A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {3012F7C4-0181-40B8-9391-04EF794DE9A3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {3012F7C4-0181-40B8-9391-04EF794DE9A3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {3012F7C4-0181-40B8-9391-04EF794DE9A3}.Release|Any CPU.Build.0 = Release|Any CPU
+ {EA5C411C-AC81-4C51-BB85-CBE8F0E7BE1E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {EA5C411C-AC81-4C51-BB85-CBE8F0E7BE1E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {EA5C411C-AC81-4C51-BB85-CBE8F0E7BE1E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {EA5C411C-AC81-4C51-BB85-CBE8F0E7BE1E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F3F532CF-BABD-4517-8C46-61869F814C58}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F3F532CF-BABD-4517-8C46-61869F814C58}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F3F532CF-BABD-4517-8C46-61869F814C58}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F3F532CF-BABD-4517-8C46-61869F814C58}.Release|Any CPU.Build.0 = Release|Any CPU
+ {9D9EAC92-0CDC-4648-BC14-E602BCDF71A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9D9EAC92-0CDC-4648-BC14-E602BCDF71A3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9D9EAC92-0CDC-4648-BC14-E602BCDF71A3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {9D9EAC92-0CDC-4648-BC14-E602BCDF71A3}.Release|Any CPU.Build.0 = Release|Any CPU
+ {126E8FB0-350D-4EA8-BDCD-708055112358}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {126E8FB0-350D-4EA8-BDCD-708055112358}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {126E8FB0-350D-4EA8-BDCD-708055112358}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {126E8FB0-350D-4EA8-BDCD-708055112358}.Release|Any CPU.Build.0 = Release|Any CPU
+ {0CD3CCCE-45CD-4CB0-820E-D6964A410FB9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0CD3CCCE-45CD-4CB0-820E-D6964A410FB9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0CD3CCCE-45CD-4CB0-820E-D6964A410FB9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0CD3CCCE-45CD-4CB0-820E-D6964A410FB9}.Release|Any CPU.Build.0 = Release|Any CPU
+ {0CD2E602-3B28-42DB-A71B-34C50E9663CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0CD2E602-3B28-42DB-A71B-34C50E9663CE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0CD2E602-3B28-42DB-A71B-34C50E9663CE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0CD2E602-3B28-42DB-A71B-34C50E9663CE}.Release|Any CPU.Build.0 = Release|Any CPU
+ {CE635283-EE95-4F8E-B80A-2DF0E8E530AE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {CE635283-EE95-4F8E-B80A-2DF0E8E530AE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {CE635283-EE95-4F8E-B80A-2DF0E8E530AE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {CE635283-EE95-4F8E-B80A-2DF0E8E530AE}.Release|Any CPU.Build.0 = Release|Any CPU
+ {64D82C2D-4F93-4B4F-8FF5-5086C242F9D2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {64D82C2D-4F93-4B4F-8FF5-5086C242F9D2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {64D82C2D-4F93-4B4F-8FF5-5086C242F9D2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {64D82C2D-4F93-4B4F-8FF5-5086C242F9D2}.Release|Any CPU.Build.0 = Release|Any CPU
+ {21C71457-3910-4BC1-937F-57B0172004CA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {21C71457-3910-4BC1-937F-57B0172004CA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {21C71457-3910-4BC1-937F-57B0172004CA}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {21C71457-3910-4BC1-937F-57B0172004CA}.Release|Any CPU.Build.0 = Release|Any CPU
+ {35C0D65F-643E-42FA-9177-2BFFDE9AFA14}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {35C0D65F-643E-42FA-9177-2BFFDE9AFA14}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {35C0D65F-643E-42FA-9177-2BFFDE9AFA14}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {35C0D65F-643E-42FA-9177-2BFFDE9AFA14}.Release|Any CPU.Build.0 = Release|Any CPU
+ {56563C41-59EA-4B7F-94DC-ADD5923EC087}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {56563C41-59EA-4B7F-94DC-ADD5923EC087}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {56563C41-59EA-4B7F-94DC-ADD5923EC087}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {56563C41-59EA-4B7F-94DC-ADD5923EC087}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B34D6810-1A95-462F-A8DD-76E2B7FC5CEE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B34D6810-1A95-462F-A8DD-76E2B7FC5CEE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B34D6810-1A95-462F-A8DD-76E2B7FC5CEE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B34D6810-1A95-462F-A8DD-76E2B7FC5CEE}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F7CF971E-4FD8-4E3C-9BA1-0A0C84E2E72A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F7CF971E-4FD8-4E3C-9BA1-0A0C84E2E72A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F7CF971E-4FD8-4E3C-9BA1-0A0C84E2E72A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F7CF971E-4FD8-4E3C-9BA1-0A0C84E2E72A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F98DC946-BB11-444E-BD87-13CB07E5E107}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F98DC946-BB11-444E-BD87-13CB07E5E107}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F98DC946-BB11-444E-BD87-13CB07E5E107}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F98DC946-BB11-444E-BD87-13CB07E5E107}.Release|Any CPU.Build.0 = Release|Any CPU
+ {6089F7BD-6A47-4C8F-A55F-5B813BECA763}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {6089F7BD-6A47-4C8F-A55F-5B813BECA763}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {6089F7BD-6A47-4C8F-A55F-5B813BECA763}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {6089F7BD-6A47-4C8F-A55F-5B813BECA763}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1C1556CC-A91E-4B69-A5E8-644052B1CB7B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1C1556CC-A91E-4B69-A5E8-644052B1CB7B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1C1556CC-A91E-4B69-A5E8-644052B1CB7B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1C1556CC-A91E-4B69-A5E8-644052B1CB7B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {44D6120C-A975-4551-9ED5-49A99047FEA8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {44D6120C-A975-4551-9ED5-49A99047FEA8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {44D6120C-A975-4551-9ED5-49A99047FEA8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {44D6120C-A975-4551-9ED5-49A99047FEA8}.Release|Any CPU.Build.0 = Release|Any CPU
{2B03333F-3ACD-474C-862B-FA97D3BA03B5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2B03333F-3ACD-474C-862B-FA97D3BA03B5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2B03333F-3ACD-474C-862B-FA97D3BA03B5}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -225,42 +299,64 @@ Global
{A5006087-81B0-4C62-B847-50ED5C37069D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A5006087-81B0-4C62-B847-50ED5C37069D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A5006087-81B0-4C62-B847-50ED5C37069D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C398E9E7-7FBF-4667-813C-D5E0DB3BE0B1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C398E9E7-7FBF-4667-813C-D5E0DB3BE0B1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C398E9E7-7FBF-4667-813C-D5E0DB3BE0B1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C398E9E7-7FBF-4667-813C-D5E0DB3BE0B1}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{C4AEAB04-F341-4539-B6C0-52368FB4BF9E} = {C4BC9889-B49F-41B6-806B-F84941B2549B}
- {AAD719D5-5E31-4ED1-A60F-6EB92EFA66D9} = {6A35B453-52EC-48AF-89CA-D4A69800F131}
- {42E76F87-92B6-45AB-BF07-6B811C0F2CAC} = {DA69F624-5398-4884-87E4-B816698CDE65}
- {59319B72-38BE-4041-8E5C-FF6938874CE8} = {DA69F624-5398-4884-87E4-B816698CDE65}
{8D789F94-CB74-45FD-ACE7-92AF6E55042E} = {C4BC9889-B49F-41B6-806B-F84941B2549B}
- {1CE2B3BE-056C-41E3-A5F5-6A1EF1D288BA} = {6A35B453-52EC-48AF-89CA-D4A69800F131}
{BA99C2A1-48F9-4FA5-B95A-9687A73B7CC9} = {C4BC9889-B49F-41B6-806B-F84941B2549B}
{EE790D50-C632-46B9-A430-06FA2F2FDCD7} = {C4BC9889-B49F-41B6-806B-F84941B2549B}
- {B19C15A5-F5EA-4CA7-936B-1166ABEE35C4} = {6A35B453-52EC-48AF-89CA-D4A69800F131}
- {E37324FF-6BAF-4243-BA80-7C024CF5F29D} = {DA69F624-5398-4884-87E4-B816698CDE65}
- {354335AB-CEE9-4434-A641-78058F6EFE56} = {DA69F624-5398-4884-87E4-B816698CDE65}
- {455B68D2-C5B6-4BF4-A685-964B07AFAAF8} = {6A35B453-52EC-48AF-89CA-D4A69800F131}
- {96771B3F-4D18-41A7-A75B-FF38E76AAC89} = {8A4582C8-DC59-4B61-BCE7-119FBAA99EFB}
- {75E342F6-5445-4E7E-9143-6D9AE62C2B1E} = {6A35B453-52EC-48AF-89CA-D4A69800F131}
- {FD80BB0F-0876-4F11-8D84-6657C8EF84CA} = {DA69F624-5398-4884-87E4-B816698CDE65}
- {9E403E93-3284-486F-9A5F-1E15FCE426A5} = {DA69F624-5398-4884-87E4-B816698CDE65}
- {B0243F99-2D3F-4CC6-AD71-E3F891B64724} = {DA69F624-5398-4884-87E4-B816698CDE65}
- {E081EE41-D95F-4AD2-BC0B-4B562C0A2A47} = {DA69F624-5398-4884-87E4-B816698CDE65}
- {BE982591-F4BB-42D9-ABD4-A5D44C65971E} = {DA69F624-5398-4884-87E4-B816698CDE65}
- {0B083AE6-86CA-4E0B-AE02-59154D1FD005} = {6A35B453-52EC-48AF-89CA-D4A69800F131}
{6A7491D3-3C97-49BD-A71C-433AED657F30} = {C4BC9889-B49F-41B6-806B-F84941B2549B}
{1A953296-E869-4DE2-A693-FD5FCDE27057} = {C4BC9889-B49F-41B6-806B-F84941B2549B}
- {0A0A6135-EA24-4307-95C2-CE1B7E164A5E} = {6A35B453-52EC-48AF-89CA-D4A69800F131}
- {55DB4B6F-12E5-4A27-97F4-E97E135470FF} = {DA69F624-5398-4884-87E4-B816698CDE65}
- {D0C7B22E-B0B6-4D62-BF7D-79EE4AAF1981} = {3A76C5A2-79ED-49BC-8BDC-6A3A766FFA1B}
- {896FA5EE-63A5-4EAC-9F09-346584BB4830} = {DA69F624-5398-4884-87E4-B816698CDE65}
- {8C75AC94-C980-4FE1-9F79-6CED3C8665CE} = {43F352F3-4E2B-4ED7-901B-36E6671251F5}
- {8D3E3E7D-452B-44F4-86CA-111003EA11ED} = {43F352F3-4E2B-4ED7-901B-36E6671251F5}
- {2B03333F-3ACD-474C-862B-FA97D3BA03B5} = {DA69F624-5398-4884-87E4-B816698CDE65}
- {D1334F29-5C19-4C7B-B62D-0A2F23AFB31C} = {DA69F624-5398-4884-87E4-B816698CDE65}
- {A5006087-81B0-4C62-B847-50ED5C37069D} = {6A35B453-52EC-48AF-89CA-D4A69800F131}
+ {D0C7B22E-B0B6-4D62-BF7D-79EE4AAF1981} = {F2AB9C8F-CC30-495D-ACF4-9E4715F46C90}
+ {3AC35C9A-3344-4BBB-B789-06CEE2CD093E} = {EDE8E45E-A5D0-4F0E-B72C-7CC14146C60A}
+ {8312A1B0-6FA8-47FE-9299-A76202AC920B} = {EDE8E45E-A5D0-4F0E-B72C-7CC14146C60A}
+ {3ACAB196-DD18-4AD0-87BE-2F4CB062D2F7} = {EDE8E45E-A5D0-4F0E-B72C-7CC14146C60A}
+ {9A9BE05B-1662-4A80-AE44-7D06071A1473} = {EDE8E45E-A5D0-4F0E-B72C-7CC14146C60A}
+ {1758768B-81BC-434D-A4E6-4C821436373E} = {EDE8E45E-A5D0-4F0E-B72C-7CC14146C60A}
+ {07137BC8-F3D8-425E-8A7F-1AAA383EA845} = {EDE8E45E-A5D0-4F0E-B72C-7CC14146C60A}
+ {9D500098-648F-4EC3-9B89-9BAB7278EDF1} = {EDE8E45E-A5D0-4F0E-B72C-7CC14146C60A}
+ {98B8D556-A024-42FA-B288-F6DA9EB2B338} = {EDE8E45E-A5D0-4F0E-B72C-7CC14146C60A}
+ {6818EAB6-8D81-4FE9-8E5F-44D7EF18FF74} = {EDE8E45E-A5D0-4F0E-B72C-7CC14146C60A}
+ {73C9A9F6-4254-450B-9BD0-B665DE298D9D} = {EDE8E45E-A5D0-4F0E-B72C-7CC14146C60A}
+ {EBE99AF6-6F53-49DE-9B6C-0BF03731CD91} = {EDE8E45E-A5D0-4F0E-B72C-7CC14146C60A}
+ {2F1FA614-9257-405F-815A-97EE72E046F4} = {EDE8E45E-A5D0-4F0E-B72C-7CC14146C60A}
+ {39A4DA7A-6857-4594-8AE1-406F1F271B5C} = {EDE8E45E-A5D0-4F0E-B72C-7CC14146C60A}
+ {356D6B62-1EDE-43F9-B78E-E160F4EC02E7} = {EDE8E45E-A5D0-4F0E-B72C-7CC14146C60A}
+ {1F83C880-645D-477B-A877-157F49660B0E} = {3A76C5A2-79ED-49BC-8BDC-6A3A766FFA1B}
+ {903FDE03-F9A6-4969-9028-842A53580667} = {3A76C5A2-79ED-49BC-8BDC-6A3A766FFA1B}
+ {A7C2BC93-DFB9-45B3-8CD9-EBA940BC23D1} = {3A76C5A2-79ED-49BC-8BDC-6A3A766FFA1B}
+ {3012F7C4-0181-40B8-9391-04EF794DE9A3} = {3A76C5A2-79ED-49BC-8BDC-6A3A766FFA1B}
+ {EA5C411C-AC81-4C51-BB85-CBE8F0E7BE1E} = {3A76C5A2-79ED-49BC-8BDC-6A3A766FFA1B}
+ {F3F532CF-BABD-4517-8C46-61869F814C58} = {9FCD621E-E710-4991-B45C-1BABC977BEEC}
+ {9D9EAC92-0CDC-4648-BC14-E602BCDF71A3} = {9FCD621E-E710-4991-B45C-1BABC977BEEC}
+ {126E8FB0-350D-4EA8-BDCD-708055112358} = {9FCD621E-E710-4991-B45C-1BABC977BEEC}
+ {0CD3CCCE-45CD-4CB0-820E-D6964A410FB9} = {9FCD621E-E710-4991-B45C-1BABC977BEEC}
+ {0CD2E602-3B28-42DB-A71B-34C50E9663CE} = {9FCD621E-E710-4991-B45C-1BABC977BEEC}
+ {CE635283-EE95-4F8E-B80A-2DF0E8E530AE} = {9FCD621E-E710-4991-B45C-1BABC977BEEC}
+ {64D82C2D-4F93-4B4F-8FF5-5086C242F9D2} = {9FCD621E-E710-4991-B45C-1BABC977BEEC}
+ {6D9DF750-BA0D-4ED7-8137-732E52894B1C} = {9FCD621E-E710-4991-B45C-1BABC977BEEC}
+ {21C71457-3910-4BC1-937F-57B0172004CA} = {6D9DF750-BA0D-4ED7-8137-732E52894B1C}
+ {1AF35754-036E-4D19-BE71-6144CEC0E1D5} = {AC3CD0BA-DE19-4333-9A42-3CFCC9FF0332}
+ {35C0D65F-643E-42FA-9177-2BFFDE9AFA14} = {1AF35754-036E-4D19-BE71-6144CEC0E1D5}
+ {56563C41-59EA-4B7F-94DC-ADD5923EC087} = {1AF35754-036E-4D19-BE71-6144CEC0E1D5}
+ {B34D6810-1A95-462F-A8DD-76E2B7FC5CEE} = {AC3CD0BA-DE19-4333-9A42-3CFCC9FF0332}
+ {F7CF971E-4FD8-4E3C-9BA1-0A0C84E2E72A} = {37DDE730-33D7-4400-9F12-84F0F2C0F319}
+ {F98DC946-BB11-444E-BD87-13CB07E5E107} = {37DDE730-33D7-4400-9F12-84F0F2C0F319}
+ {6089F7BD-6A47-4C8F-A55F-5B813BECA763} = {37DDE730-33D7-4400-9F12-84F0F2C0F319}
+ {1C1556CC-A91E-4B69-A5E8-644052B1CB7B} = {37DDE730-33D7-4400-9F12-84F0F2C0F319}
+ {44D6120C-A975-4551-9ED5-49A99047FEA8} = {37DDE730-33D7-4400-9F12-84F0F2C0F319}
+ {F2AB9C8F-CC30-495D-ACF4-9E4715F46C90} = {3A76C5A2-79ED-49BC-8BDC-6A3A766FFA1B}
+ {2B03333F-3ACD-474C-862B-FA97D3BA03B5} = {37DDE730-33D7-4400-9F12-84F0F2C0F319}
+ {D1334F29-5C19-4C7B-B62D-0A2F23AFB31C} = {37DDE730-33D7-4400-9F12-84F0F2C0F319}
+ {A5006087-81B0-4C62-B847-50ED5C37069D} = {37DDE730-33D7-4400-9F12-84F0F2C0F319}
+ {C398E9E7-7FBF-4667-813C-D5E0DB3BE0B1} = {EDE8E45E-A5D0-4F0E-B72C-7CC14146C60A}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {7945A4E4-ACDB-4F6E-95CA-6AC6E7C2CD59}
diff --git a/src/SignalR/benchmarkapps/Crankier/Crankier.csproj b/src/SignalR/benchmarkapps/Crankier/Crankier.csproj
deleted file mode 100644
index d73db04ff4..0000000000
--- a/src/SignalR/benchmarkapps/Crankier/Crankier.csproj
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
- Exe
- netcoreapp2.2
- Microsoft.AspNetCore.SignalR.CranksRevenge
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks.csproj b/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks.csproj
deleted file mode 100644
index 0143f5ffae..0000000000
--- a/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks.csproj
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
- Exe
- netcoreapp2.2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/SignalR/build.cmd b/src/SignalR/build.cmd
new file mode 100644
index 0000000000..f22573197f
--- /dev/null
+++ b/src/SignalR/build.cmd
@@ -0,0 +1,3 @@
+@ECHO OFF
+SET RepoRoot=%~dp0..\..
+%RepoRoot%\build.cmd -LockFile %RepoRoot%\korebuild-lock.txt -projects %~dp0**\*.*proj %*
diff --git a/src/SignalR/build/Key.snk b/src/SignalR/build/Key.snk
deleted file mode 100644
index e10e4889c1..0000000000
Binary files a/src/SignalR/build/Key.snk and /dev/null differ
diff --git a/src/SignalR/build/dependencies.props b/src/SignalR/build/dependencies.props
deleted file mode 100644
index 34fc6c4be9..0000000000
--- a/src/SignalR/build/dependencies.props
+++ /dev/null
@@ -1,80 +0,0 @@
-
-
- $(MSBuildAllProjects);$(MSBuildThisFileFullPath)
-
-
- 0.10.13
- 3.1.0
- 2.2.0-rtm-181106-13
- 2.2.0-preview2-20181011.2
- 1.7.3.4
- 2.2.0-rtm-35661
- 2.2.0-rtm-35661
- 2.2.0-rtm-35661
- 2.2.0-rtm-35661
- 2.2.0-rtm-35661
- 2.2.0-rtm-35661
- 2.2.0-rtm-181106-13
- 2.2.0-rtm-35661
- 2.2.0-preview3-35457
- 2.2.0-rtm-35661
- 2.2.0-rtm-35661
- 2.2.0-rtm-35661
- 2.2.0-rtm-35661
- 2.2.0-rtm-35661
- 2.2.0-rtm-35661
- 2.2.0-rtm-35661
- 2.2.0-rtm-35661
- 2.2.0-rtm-35661
- 2.2.0-rtm-35661
- 2.2.0-rtm-35661
- 2.2.0-rtm-35661
- 2.2.0-rtm-35661
- 2.2.0-rtm-35661
- 2.2.0-rtm-181106-13
- 2.2.0-rtm-35661
- 4.5.0
- 2.2.0-rtm-35661
- 2.2.0-rtm-35661
- 2.2.0-rtm-35661
- 2.2.0-rtm-35661
- 2.2.0-rtm-181106-13
- 2.2.0-rtm-181106-13
- 2.2.0-rtm-181106-13
- 2.2.0-rtm-181106-13
- 2.2.0-rtm-181106-13
- 2.2.0-rtm-181106-13
- 2.2.0-rtm-181106-13
- 2.2.0-rtm-181106-13
- 2.2.0-rtm-181106-13
- 2.2.0-rtm-181106-13
- 2.2.0-rtm-181106-13
- 2.2.0-rtm-181106-13
- 2.2.0-rtm-181106-13
- 2.2.0-rtm-181106-13
- 2.2.0-rtm-181106-13
- 2.2.0-rtm-27105-02
- 15.6.1
- 4.10.0
- 2.0.3
- 11.0.2
- 2.0.513
- 1.2.6
- 4.5.0
- 4.5.2
- 4.5.1
- 4.5.0
- 3.1.1
- 4.3.0
- 4.5.1
- 4.5.0
- 4.5.0
- 4.5.1
- 2.3.1
- 2.3.1
- 2.3.1
- 2.4.0
-
-
-
-
diff --git a/src/SignalR/build/repo.props b/src/SignalR/build/repo.props
deleted file mode 100644
index f26fb1576c..0000000000
--- a/src/SignalR/build/repo.props
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/SignalR/build/repo.targets b/src/SignalR/build/repo.targets
deleted file mode 100644
index 6cdce57f88..0000000000
--- a/src/SignalR/build/repo.targets
+++ /dev/null
@@ -1,156 +0,0 @@
-
-
-
- aspnet-signalr
- @aspnet/signalr
-
-
- aspnet-signalr-protocol-msgpack
- @aspnet/signalr-protocol-msgpack
-
-
-
-
-
- -PpackageVersion="$(JavaPackageVersion)"
-
- $(GradleOptions) -Dorg.gradle.daemon=false
-
- true
-
-
-
- $(RestoreDependsOn);RestoreNpm
-
-
-
-
-
-
-
-
-
-
- $(TestDependsOn);RunTSClientNodeTests;RunBrowserTests;RunJavaTests
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- $(GetArtifactInfoDependsOn);GetNpmArtifactInfo;GetJavaArtifactInfo
-
-
-
-
-
- $([System.IO.Path]::Combine(%(NPMPackage.FullPath), 'package.json'))
- $([System.IO.Path]::Combine(%(NPMPackage.FullPath), '%(NPMPackage.TarName)-$(PackageVersion).tgz'))
- $([System.IO.Path]::Combine($(BuildDir), '%(NPMPackage.TarName)-$(PackageVersion).tgz'))
-
-
-
- NpmPackage
- %(NPMPackage.PackageId)
- $(PackageVersion)
- ship
-
-
-
-
-
-
-
-
-
-
-
- JavaJar
- $(JavaClientVersion)
- ship
-
-
- MavenPOM
- $(JavaClientVersion)
- ship
-
-
-
-
-
-
-
-
- DetectJava;$(PrepareDependsOn)
-
-
-
-
-
-
-
-
-
-
-
-
- true
-
-
-
-
- Restore;BuildNPMPackages;$(CompileDependsOn);BuildJavaClient
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Compile;PackNPMPackages;$(PackageDependsOn);PackJavaClient
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/SignalR/build/sources.props b/src/SignalR/build/sources.props
deleted file mode 100644
index 9215df9751..0000000000
--- a/src/SignalR/build/sources.props
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
- $(DotNetRestoreSources)
-
- $(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);
- https://api.nuget.org/v3/index.json;
-
-
-
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnection.Log.cs b/src/SignalR/clients/csharp/Client.Core/src/HubConnection.Log.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnection.Log.cs
rename to src/SignalR/clients/csharp/Client.Core/src/HubConnection.Log.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnection.cs b/src/SignalR/clients/csharp/Client.Core/src/HubConnection.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnection.cs
rename to src/SignalR/clients/csharp/Client.Core/src/HubConnection.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionBuilder.cs b/src/SignalR/clients/csharp/Client.Core/src/HubConnectionBuilder.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionBuilder.cs
rename to src/SignalR/clients/csharp/Client.Core/src/HubConnectionBuilder.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionBuilderExtensions.cs b/src/SignalR/clients/csharp/Client.Core/src/HubConnectionBuilderExtensions.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionBuilderExtensions.cs
rename to src/SignalR/clients/csharp/Client.Core/src/HubConnectionBuilderExtensions.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionExtensions.InvokeAsync.cs b/src/SignalR/clients/csharp/Client.Core/src/HubConnectionExtensions.InvokeAsync.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionExtensions.InvokeAsync.cs
rename to src/SignalR/clients/csharp/Client.Core/src/HubConnectionExtensions.InvokeAsync.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionExtensions.InvokeAsyncGeneric.cs b/src/SignalR/clients/csharp/Client.Core/src/HubConnectionExtensions.InvokeAsyncGeneric.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionExtensions.InvokeAsyncGeneric.cs
rename to src/SignalR/clients/csharp/Client.Core/src/HubConnectionExtensions.InvokeAsyncGeneric.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionExtensions.SendAsync.cs b/src/SignalR/clients/csharp/Client.Core/src/HubConnectionExtensions.SendAsync.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionExtensions.SendAsync.cs
rename to src/SignalR/clients/csharp/Client.Core/src/HubConnectionExtensions.SendAsync.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionExtensions.StreamAsChannelAsync.cs b/src/SignalR/clients/csharp/Client.Core/src/HubConnectionExtensions.StreamAsChannelAsync.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionExtensions.StreamAsChannelAsync.cs
rename to src/SignalR/clients/csharp/Client.Core/src/HubConnectionExtensions.StreamAsChannelAsync.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionExtensions.cs b/src/SignalR/clients/csharp/Client.Core/src/HubConnectionExtensions.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionExtensions.cs
rename to src/SignalR/clients/csharp/Client.Core/src/HubConnectionExtensions.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionState.cs b/src/SignalR/clients/csharp/Client.Core/src/HubConnectionState.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/HubConnectionState.cs
rename to src/SignalR/clients/csharp/Client.Core/src/HubConnectionState.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/IConnectionFactory.cs b/src/SignalR/clients/csharp/Client.Core/src/IConnectionFactory.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/IConnectionFactory.cs
rename to src/SignalR/clients/csharp/Client.Core/src/IConnectionFactory.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/IHubConnectionBuilder.cs b/src/SignalR/clients/csharp/Client.Core/src/IHubConnectionBuilder.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/IHubConnectionBuilder.cs
rename to src/SignalR/clients/csharp/Client.Core/src/IHubConnectionBuilder.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/Internal/ConnectionLogScope.cs b/src/SignalR/clients/csharp/Client.Core/src/Internal/ConnectionLogScope.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/Internal/ConnectionLogScope.cs
rename to src/SignalR/clients/csharp/Client.Core/src/Internal/ConnectionLogScope.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/Internal/InvocationRequest.cs b/src/SignalR/clients/csharp/Client.Core/src/Internal/InvocationRequest.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/Internal/InvocationRequest.cs
rename to src/SignalR/clients/csharp/Client.Core/src/Internal/InvocationRequest.cs
diff --git a/src/SignalR/clients/csharp/Client.Core/src/Microsoft.AspNetCore.SignalR.Client.Core.csproj b/src/SignalR/clients/csharp/Client.Core/src/Microsoft.AspNetCore.SignalR.Client.Core.csproj
new file mode 100644
index 0000000000..a184bff1cc
--- /dev/null
+++ b/src/SignalR/clients/csharp/Client.Core/src/Microsoft.AspNetCore.SignalR.Client.Core.csproj
@@ -0,0 +1,24 @@
+
+
+
+ Client for ASP.NET Core SignalR
+ netstandard2.0
+ Microsoft.AspNetCore.SignalR.Client
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/Properties/AssemblyInfo.cs b/src/SignalR/clients/csharp/Client.Core/src/Properties/AssemblyInfo.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/Properties/AssemblyInfo.cs
rename to src/SignalR/clients/csharp/Client.Core/src/Properties/AssemblyInfo.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/baseline.netcore.json b/src/SignalR/clients/csharp/Client.Core/src/baseline.netcore.json
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/baseline.netcore.json
rename to src/SignalR/clients/csharp/Client.Core/src/baseline.netcore.json
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client/HttpConnectionFactory.cs b/src/SignalR/clients/csharp/Client/src/HttpConnectionFactory.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Client/HttpConnectionFactory.cs
rename to src/SignalR/clients/csharp/Client/src/HttpConnectionFactory.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client/HubConnectionBuilderHttpExtensions.cs b/src/SignalR/clients/csharp/Client/src/HubConnectionBuilderHttpExtensions.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Client/HubConnectionBuilderHttpExtensions.cs
rename to src/SignalR/clients/csharp/Client/src/HubConnectionBuilderHttpExtensions.cs
diff --git a/src/SignalR/clients/csharp/Client/src/Microsoft.AspNetCore.SignalR.Client.csproj b/src/SignalR/clients/csharp/Client/src/Microsoft.AspNetCore.SignalR.Client.csproj
new file mode 100644
index 0000000000..7b3428fa49
--- /dev/null
+++ b/src/SignalR/clients/csharp/Client/src/Microsoft.AspNetCore.SignalR.Client.csproj
@@ -0,0 +1,13 @@
+
+
+
+ Client for ASP.NET Core SignalR
+ netstandard2.0
+
+
+
+
+
+
+
+
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client/baseline.netcore.json b/src/SignalR/clients/csharp/Client/src/baseline.netcore.json
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Client/baseline.netcore.json
rename to src/SignalR/clients/csharp/Client/src/baseline.netcore.json
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/HeaderUserIdProvider.cs b/src/SignalR/clients/csharp/Client/test/FunctionalTests/HeaderUserIdProvider.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/HeaderUserIdProvider.cs
rename to src/SignalR/clients/csharp/Client/test/FunctionalTests/HeaderUserIdProvider.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/HubConnectionTests.cs b/src/SignalR/clients/csharp/Client/test/FunctionalTests/HubConnectionTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/HubConnectionTests.cs
rename to src/SignalR/clients/csharp/Client/test/FunctionalTests/HubConnectionTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/HubProtocolVersionTests.cs b/src/SignalR/clients/csharp/Client/test/FunctionalTests/HubProtocolVersionTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/HubProtocolVersionTests.cs
rename to src/SignalR/clients/csharp/Client/test/FunctionalTests/HubProtocolVersionTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/Hubs.cs b/src/SignalR/clients/csharp/Client/test/FunctionalTests/Hubs.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/Hubs.cs
rename to src/SignalR/clients/csharp/Client/test/FunctionalTests/Hubs.cs
diff --git a/src/SignalR/clients/csharp/Client/test/FunctionalTests/Microsoft.AspNetCore.SignalR.Client.FunctionalTests.csproj b/src/SignalR/clients/csharp/Client/test/FunctionalTests/Microsoft.AspNetCore.SignalR.Client.FunctionalTests.csproj
new file mode 100644
index 0000000000..45ed947914
--- /dev/null
+++ b/src/SignalR/clients/csharp/Client/test/FunctionalTests/Microsoft.AspNetCore.SignalR.Client.FunctionalTests.csproj
@@ -0,0 +1,25 @@
+
+
+
+ netcoreapp2.2;net461
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/Startup.cs b/src/SignalR/clients/csharp/Client/test/FunctionalTests/Startup.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/Startup.cs
rename to src/SignalR/clients/csharp/Client/test/FunctionalTests/Startup.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/VersionJsonHubProtocol.cs b/src/SignalR/clients/csharp/Client/test/FunctionalTests/VersionJsonHubProtocol.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/VersionJsonHubProtocol.cs
rename to src/SignalR/clients/csharp/Client/test/FunctionalTests/VersionJsonHubProtocol.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/VersionStartup.cs b/src/SignalR/clients/csharp/Client/test/FunctionalTests/VersionStartup.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/VersionStartup.cs
rename to src/SignalR/clients/csharp/Client/test/FunctionalTests/VersionStartup.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionFactoryTests.cs b/src/SignalR/clients/csharp/Client/test/UnitTests/HttpConnectionFactoryTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionFactoryTests.cs
rename to src/SignalR/clients/csharp/Client/test/UnitTests/HttpConnectionFactoryTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.ConnectionLifecycle.cs b/src/SignalR/clients/csharp/Client/test/UnitTests/HttpConnectionTests.ConnectionLifecycle.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.ConnectionLifecycle.cs
rename to src/SignalR/clients/csharp/Client/test/UnitTests/HttpConnectionTests.ConnectionLifecycle.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.Helpers.cs b/src/SignalR/clients/csharp/Client/test/UnitTests/HttpConnectionTests.Helpers.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.Helpers.cs
rename to src/SignalR/clients/csharp/Client/test/UnitTests/HttpConnectionTests.Helpers.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.Negotiate.cs b/src/SignalR/clients/csharp/Client/test/UnitTests/HttpConnectionTests.Negotiate.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.Negotiate.cs
rename to src/SignalR/clients/csharp/Client/test/UnitTests/HttpConnectionTests.Negotiate.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.Transport.cs b/src/SignalR/clients/csharp/Client/test/UnitTests/HttpConnectionTests.Transport.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.Transport.cs
rename to src/SignalR/clients/csharp/Client/test/UnitTests/HttpConnectionTests.Transport.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.cs b/src/SignalR/clients/csharp/Client/test/UnitTests/HttpConnectionTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HttpConnectionTests.cs
rename to src/SignalR/clients/csharp/Client/test/UnitTests/HttpConnectionTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionBuilderExtensionsTests.cs b/src/SignalR/clients/csharp/Client/test/UnitTests/HubConnectionBuilderExtensionsTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionBuilderExtensionsTests.cs
rename to src/SignalR/clients/csharp/Client/test/UnitTests/HubConnectionBuilderExtensionsTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionBuilderTests.cs b/src/SignalR/clients/csharp/Client/test/UnitTests/HubConnectionBuilderTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionBuilderTests.cs
rename to src/SignalR/clients/csharp/Client/test/UnitTests/HubConnectionBuilderTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionTests.ConnectionLifecycle.cs b/src/SignalR/clients/csharp/Client/test/UnitTests/HubConnectionTests.ConnectionLifecycle.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionTests.ConnectionLifecycle.cs
rename to src/SignalR/clients/csharp/Client/test/UnitTests/HubConnectionTests.ConnectionLifecycle.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionTests.Extensions.cs b/src/SignalR/clients/csharp/Client/test/UnitTests/HubConnectionTests.Extensions.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionTests.Extensions.cs
rename to src/SignalR/clients/csharp/Client/test/UnitTests/HubConnectionTests.Extensions.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionTests.Helpers.cs b/src/SignalR/clients/csharp/Client/test/UnitTests/HubConnectionTests.Helpers.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionTests.Helpers.cs
rename to src/SignalR/clients/csharp/Client/test/UnitTests/HubConnectionTests.Helpers.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionTests.Protocol.cs b/src/SignalR/clients/csharp/Client/test/UnitTests/HubConnectionTests.Protocol.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionTests.Protocol.cs
rename to src/SignalR/clients/csharp/Client/test/UnitTests/HubConnectionTests.Protocol.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionTests.cs b/src/SignalR/clients/csharp/Client/test/UnitTests/HubConnectionTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/HubConnectionTests.cs
rename to src/SignalR/clients/csharp/Client/test/UnitTests/HubConnectionTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/LongPollingTransportTests.cs b/src/SignalR/clients/csharp/Client/test/UnitTests/LongPollingTransportTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/LongPollingTransportTests.cs
rename to src/SignalR/clients/csharp/Client/test/UnitTests/LongPollingTransportTests.cs
diff --git a/src/SignalR/clients/csharp/Client/test/UnitTests/Microsoft.AspNetCore.SignalR.Client.Tests.csproj b/src/SignalR/clients/csharp/Client/test/UnitTests/Microsoft.AspNetCore.SignalR.Client.Tests.csproj
new file mode 100644
index 0000000000..aad161633f
--- /dev/null
+++ b/src/SignalR/clients/csharp/Client/test/UnitTests/Microsoft.AspNetCore.SignalR.Client.Tests.csproj
@@ -0,0 +1,22 @@
+
+
+
+ netcoreapp2.2;net461
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/ResponseUtils.cs b/src/SignalR/clients/csharp/Client/test/UnitTests/ResponseUtils.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/ResponseUtils.cs
rename to src/SignalR/clients/csharp/Client/test/UnitTests/ResponseUtils.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/ServerSentEventsParserTests.cs b/src/SignalR/clients/csharp/Client/test/UnitTests/ServerSentEventsParserTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/ServerSentEventsParserTests.cs
rename to src/SignalR/clients/csharp/Client/test/UnitTests/ServerSentEventsParserTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/ServerSentEventsTransportTests.cs b/src/SignalR/clients/csharp/Client/test/UnitTests/ServerSentEventsTransportTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/ServerSentEventsTransportTests.cs
rename to src/SignalR/clients/csharp/Client/test/UnitTests/ServerSentEventsTransportTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/TestConnection.cs b/src/SignalR/clients/csharp/Client/test/UnitTests/TestConnection.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/TestConnection.cs
rename to src/SignalR/clients/csharp/Client/test/UnitTests/TestConnection.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/TestHttpMessageHandler.cs b/src/SignalR/clients/csharp/Client/test/UnitTests/TestHttpMessageHandler.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/TestHttpMessageHandler.cs
rename to src/SignalR/clients/csharp/Client/test/UnitTests/TestHttpMessageHandler.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/TestTransport.cs b/src/SignalR/clients/csharp/Client/test/UnitTests/TestTransport.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/TestTransport.cs
rename to src/SignalR/clients/csharp/Client/test/UnitTests/TestTransport.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/TestTransportFactory.cs b/src/SignalR/clients/csharp/Client/test/UnitTests/TestTransportFactory.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/TestTransportFactory.cs
rename to src/SignalR/clients/csharp/Client/test/UnitTests/TestTransportFactory.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/HttpConnection.Log.cs b/src/SignalR/clients/csharp/Http.Connections.Client/src/HttpConnection.Log.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/HttpConnection.Log.cs
rename to src/SignalR/clients/csharp/Http.Connections.Client/src/HttpConnection.Log.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/HttpConnection.cs b/src/SignalR/clients/csharp/Http.Connections.Client/src/HttpConnection.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/HttpConnection.cs
rename to src/SignalR/clients/csharp/Http.Connections.Client/src/HttpConnection.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/HttpConnectionOptions.cs b/src/SignalR/clients/csharp/Http.Connections.Client/src/HttpConnectionOptions.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/HttpConnectionOptions.cs
rename to src/SignalR/clients/csharp/Http.Connections.Client/src/HttpConnectionOptions.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/AccessTokenHttpMessageHandler.cs b/src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/AccessTokenHttpMessageHandler.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/AccessTokenHttpMessageHandler.cs
rename to src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/AccessTokenHttpMessageHandler.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ClientPipeOptions.cs b/src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/ClientPipeOptions.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ClientPipeOptions.cs
rename to src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/ClientPipeOptions.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ConnectionLogScope.cs b/src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/ConnectionLogScope.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ConnectionLogScope.cs
rename to src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/ConnectionLogScope.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/Constants.cs b/src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/Constants.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/Constants.cs
rename to src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/Constants.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/DefaultTransportFactory.cs b/src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/DefaultTransportFactory.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/DefaultTransportFactory.cs
rename to src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/DefaultTransportFactory.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ITransport.cs b/src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/ITransport.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ITransport.cs
rename to src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/ITransport.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ITransportFactory.cs b/src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/ITransportFactory.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ITransportFactory.cs
rename to src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/ITransportFactory.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/LoggingHttpMessageHandler.cs b/src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/LoggingHttpMessageHandler.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/LoggingHttpMessageHandler.cs
rename to src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/LoggingHttpMessageHandler.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/LongPollingTransport.Log.cs b/src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/LongPollingTransport.Log.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/LongPollingTransport.Log.cs
rename to src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/LongPollingTransport.Log.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/LongPollingTransport.cs b/src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/LongPollingTransport.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/LongPollingTransport.cs
rename to src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/LongPollingTransport.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/PipeReaderFactory.cs b/src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/PipeReaderFactory.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/PipeReaderFactory.cs
rename to src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/PipeReaderFactory.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/SendUtils.cs b/src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/SendUtils.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/SendUtils.cs
rename to src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/SendUtils.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ServerSentEventsMessageParser.cs b/src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/ServerSentEventsMessageParser.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ServerSentEventsMessageParser.cs
rename to src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/ServerSentEventsMessageParser.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ServerSentEventsTransport.Log.cs b/src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/ServerSentEventsTransport.Log.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ServerSentEventsTransport.Log.cs
rename to src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/ServerSentEventsTransport.Log.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ServerSentEventsTransport.cs b/src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/ServerSentEventsTransport.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/ServerSentEventsTransport.cs
rename to src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/ServerSentEventsTransport.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/TaskExtensions.cs b/src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/TaskExtensions.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/TaskExtensions.cs
rename to src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/TaskExtensions.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/Utils.cs b/src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/Utils.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/Utils.cs
rename to src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/Utils.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/WebSocketsTransport.Log.cs b/src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/WebSocketsTransport.Log.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/WebSocketsTransport.Log.cs
rename to src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/WebSocketsTransport.Log.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/WebSocketsTransport.cs b/src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/WebSocketsTransport.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Internal/WebSocketsTransport.cs
rename to src/SignalR/clients/csharp/Http.Connections.Client/src/Internal/WebSocketsTransport.cs
diff --git a/src/SignalR/clients/csharp/Http.Connections.Client/src/Microsoft.AspNetCore.Http.Connections.Client.csproj b/src/SignalR/clients/csharp/Http.Connections.Client/src/Microsoft.AspNetCore.Http.Connections.Client.csproj
new file mode 100644
index 0000000000..47bc03e439
--- /dev/null
+++ b/src/SignalR/clients/csharp/Http.Connections.Client/src/Microsoft.AspNetCore.Http.Connections.Client.csproj
@@ -0,0 +1,21 @@
+
+
+
+ Client for ASP.NET Core Connection Handlers
+ netstandard2.0;netcoreapp2.2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Properties/AssemblyInfo.cs b/src/SignalR/clients/csharp/Http.Connections.Client/src/Properties/AssemblyInfo.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Properties/AssemblyInfo.cs
rename to src/SignalR/clients/csharp/Http.Connections.Client/src/Properties/AssemblyInfo.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/baseline.netcore.json b/src/SignalR/clients/csharp/Http.Connections.Client/src/baseline.netcore.json
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/baseline.netcore.json
rename to src/SignalR/clients/csharp/Http.Connections.Client/src/baseline.netcore.json
diff --git a/src/SignalR/clients/java/signalr/signalr.javaproj b/src/SignalR/clients/java/signalr/signalr.javaproj
new file mode 100644
index 0000000000..97450dd31c
--- /dev/null
+++ b/src/SignalR/clients/java/signalr/signalr.javaproj
@@ -0,0 +1,75 @@
+
+
+
+
+ 1.0.$(AspNetCorePatchVersion)
+ $(VersionPrefix)
+ $(VersionPrefix)-$(VersionSuffix)
+
+
+ java:signalr
+
+
+ true
+
+
+ -PpackageVersion="$(PackageVersion)"
+
+ $(GradleOptions) -Dorg.gradle.daemon=false
+
+
+
+
+
+
+
+
+
+
+
+
+ $(PackDependsOn);
+ Build
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JavaJar
+ $(PackageVersion)
+ ship
+
+
+ MavenPOM
+ $(PackageVersion)
+ ship
+
+
+
+
+
+
+
+
+
diff --git a/src/SignalR/clients/ts/FunctionalTests/FunctionalTests.csproj b/src/SignalR/clients/ts/FunctionalTests/FunctionalTests.csproj
index 06948653fc..6907ae0e38 100644
--- a/src/SignalR/clients/ts/FunctionalTests/FunctionalTests.csproj
+++ b/src/SignalR/clients/ts/FunctionalTests/FunctionalTests.csproj
@@ -4,6 +4,10 @@
netcoreapp2.2
True
2.8
+
+
+ true
+ false
@@ -20,19 +24,16 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
diff --git a/src/SignalR/clients/ts/FunctionalTests/SignalR.Npm.FunctionalTests.npmproj b/src/SignalR/clients/ts/FunctionalTests/SignalR.Npm.FunctionalTests.npmproj
new file mode 100644
index 0000000000..947b7fe094
--- /dev/null
+++ b/src/SignalR/clients/ts/FunctionalTests/SignalR.Npm.FunctionalTests.npmproj
@@ -0,0 +1,16 @@
+
+
+
+
+ false
+ true
+ run test:local -- --no-color --configuration $(Configuration)
+
+
+
+
+
+
+
+
+
diff --git a/src/SignalR/clients/ts/FunctionalTests/package.json b/src/SignalR/clients/ts/FunctionalTests/package.json
index 0d8e28af8a..9aed26a4ba 100644
--- a/src/SignalR/clients/ts/FunctionalTests/package.json
+++ b/src/SignalR/clients/ts/FunctionalTests/package.json
@@ -40,9 +40,9 @@
"build:lint": "node ../common/node_modules/tslint/bin/tslint -c ../tslint.json -p ./tsconfig.json",
"build:webpack": "node ../common/node_modules/webpack-cli/bin/cli.js",
"build:parent": "cd .. && npm run build",
- "pretest": "npm run build:parent && npm run build && dotnet build --no-restore",
+ "pretest": "npm run build:parent && npm run build && dotnet build --no-restore FunctionalTests.csproj",
"test": "tsc --noEmit && npm run test:local --",
- "test:inner": "npm run build && dotnet build && npm run test:local --",
+ "test:inner": "npm run build && dotnet build FunctionalTests.csproj && npm run test:local --",
"test:local": "ts-node --project ./scripts/tsconfig.json ./scripts/run-tests.ts",
"test:all": "npm run pretest && ts-node --project ./scripts/tsconfig.json ./scripts/run-tests.ts --all-browsers",
"test:sauce": "ts-node --project ./scripts/tsconfig.json ./scripts/run-tests.ts --sauce",
diff --git a/src/SignalR/clients/ts/build.cmd b/src/SignalR/clients/ts/build.cmd
new file mode 100644
index 0000000000..eea93e562b
--- /dev/null
+++ b/src/SignalR/clients/ts/build.cmd
@@ -0,0 +1,3 @@
+@ECHO OFF
+SET RepoRoot=%~dp0..\..\..\..
+%RepoRoot%\build.cmd -LockFile %RepoRoot%\korebuild-lock.txt -projects %~dp0**\*.*proj %*
diff --git a/src/SignalR/clients/ts/client-ts.npmproj b/src/SignalR/clients/ts/client-ts.npmproj
new file mode 100644
index 0000000000..1e6bad50b1
--- /dev/null
+++ b/src/SignalR/clients/ts/client-ts.npmproj
@@ -0,0 +1,10 @@
+
+
+
+
+ false
+ true
+
+
+
+
diff --git a/src/SignalR/clients/ts/common/common.npmproj b/src/SignalR/clients/ts/common/common.npmproj
new file mode 100644
index 0000000000..647ed15fb1
--- /dev/null
+++ b/src/SignalR/clients/ts/common/common.npmproj
@@ -0,0 +1,11 @@
+
+
+
+
+ false
+ false
+ false
+
+
+
+
diff --git a/src/SignalR/clients/ts/common/package-lock.json b/src/SignalR/clients/ts/common/package-lock.json
index 8b3564efc7..64f49215ce 100644
--- a/src/SignalR/clients/ts/common/package-lock.json
+++ b/src/SignalR/clients/ts/common/package-lock.json
@@ -2622,14 +2622,12 @@
"balanced-match": {
"version": "1.0.0",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"brace-expansion": {
"version": "1.1.11",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -2644,20 +2642,17 @@
"code-point-at": {
"version": "1.1.0",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"concat-map": {
"version": "0.0.1",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"console-control-strings": {
"version": "1.1.0",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"core-util-is": {
"version": "1.0.2",
@@ -2774,8 +2769,7 @@
"inherits": {
"version": "2.0.3",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"ini": {
"version": "1.3.5",
@@ -2787,7 +2781,6 @@
"version": "1.0.0",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"number-is-nan": "^1.0.0"
}
@@ -2802,7 +2795,6 @@
"version": "3.0.4",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"brace-expansion": "^1.1.7"
}
@@ -2810,14 +2802,12 @@
"minimist": {
"version": "0.0.8",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"minipass": {
"version": "2.2.4",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"safe-buffer": "^5.1.1",
"yallist": "^3.0.0"
@@ -2836,7 +2826,6 @@
"version": "0.5.1",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"minimist": "0.0.8"
}
@@ -2917,8 +2906,7 @@
"number-is-nan": {
"version": "1.0.1",
"bundled": true,
- "dev": true,
- "optional": true
+ "dev": true
},
"object-assign": {
"version": "4.1.1",
@@ -2930,7 +2918,6 @@
"version": "1.4.0",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"wrappy": "1"
}
@@ -3052,7 +3039,6 @@
"version": "1.0.2",
"bundled": true,
"dev": true,
- "optional": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
diff --git a/src/SignalR/clients/ts/signalr-protocol-msgpack/signalr-protocol-msgpack.npmproj b/src/SignalR/clients/ts/signalr-protocol-msgpack/signalr-protocol-msgpack.npmproj
new file mode 100644
index 0000000000..5862e1618d
--- /dev/null
+++ b/src/SignalR/clients/ts/signalr-protocol-msgpack/signalr-protocol-msgpack.npmproj
@@ -0,0 +1,15 @@
+
+
+
+
+ @aspnet/signalr-protocol-msgpack
+ true
+ false
+
+
+
+
+
+
+
+
diff --git a/src/SignalR/clients/ts/signalr/signalr.npmproj b/src/SignalR/clients/ts/signalr/signalr.npmproj
new file mode 100644
index 0000000000..c97c514f41
--- /dev/null
+++ b/src/SignalR/clients/ts/signalr/signalr.npmproj
@@ -0,0 +1,11 @@
+
+
+
+
+ @aspnet/signalr
+ true
+ false
+
+
+
+
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Common/AvailableTransport.cs b/src/SignalR/common/Http.Connections.Common/src/AvailableTransport.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Common/AvailableTransport.cs
rename to src/SignalR/common/Http.Connections.Common/src/AvailableTransport.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Common/HttpTransportType.cs b/src/SignalR/common/Http.Connections.Common/src/HttpTransportType.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Common/HttpTransportType.cs
rename to src/SignalR/common/Http.Connections.Common/src/HttpTransportType.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Common/HttpTransports.cs b/src/SignalR/common/Http.Connections.Common/src/HttpTransports.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Common/HttpTransports.cs
rename to src/SignalR/common/Http.Connections.Common/src/HttpTransports.cs
diff --git a/src/SignalR/common/Http.Connections.Common/src/Microsoft.AspNetCore.Http.Connections.Common.csproj b/src/SignalR/common/Http.Connections.Common/src/Microsoft.AspNetCore.Http.Connections.Common.csproj
new file mode 100644
index 0000000000..185ede5334
--- /dev/null
+++ b/src/SignalR/common/Http.Connections.Common/src/Microsoft.AspNetCore.Http.Connections.Common.csproj
@@ -0,0 +1,20 @@
+
+
+
+ Common primitives for ASP.NET Connection Handlers and clients
+ netstandard2.0
+ Microsoft.AspNetCore.Http.Connections
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Common/NegotiateProtocol.cs b/src/SignalR/common/Http.Connections.Common/src/NegotiateProtocol.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Common/NegotiateProtocol.cs
rename to src/SignalR/common/Http.Connections.Common/src/NegotiateProtocol.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Common/NegotiationResponse.cs b/src/SignalR/common/Http.Connections.Common/src/NegotiationResponse.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Common/NegotiationResponse.cs
rename to src/SignalR/common/Http.Connections.Common/src/NegotiationResponse.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Common/baseline.netcore.json b/src/SignalR/common/Http.Connections.Common/src/baseline.netcore.json
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Common/baseline.netcore.json
rename to src/SignalR/common/Http.Connections.Common/src/baseline.netcore.json
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/ConnectionsAppBuilderExtensions.cs b/src/SignalR/common/Http.Connections/src/ConnectionsAppBuilderExtensions.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections/ConnectionsAppBuilderExtensions.cs
rename to src/SignalR/common/Http.Connections/src/ConnectionsAppBuilderExtensions.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/ConnectionsDependencyInjectionExtensions.cs b/src/SignalR/common/Http.Connections/src/ConnectionsDependencyInjectionExtensions.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections/ConnectionsDependencyInjectionExtensions.cs
rename to src/SignalR/common/Http.Connections/src/ConnectionsDependencyInjectionExtensions.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/ConnectionsRouteBuilder.cs b/src/SignalR/common/Http.Connections/src/ConnectionsRouteBuilder.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections/ConnectionsRouteBuilder.cs
rename to src/SignalR/common/Http.Connections/src/ConnectionsRouteBuilder.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Features/IHttpContextFeature.cs b/src/SignalR/common/Http.Connections/src/Features/IHttpContextFeature.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Features/IHttpContextFeature.cs
rename to src/SignalR/common/Http.Connections/src/Features/IHttpContextFeature.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Features/IHttpTransportFeature.cs b/src/SignalR/common/Http.Connections/src/Features/IHttpTransportFeature.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Features/IHttpTransportFeature.cs
rename to src/SignalR/common/Http.Connections/src/Features/IHttpTransportFeature.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/HttpConnectionContextExtensions.cs b/src/SignalR/common/Http.Connections/src/HttpConnectionContextExtensions.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections/HttpConnectionContextExtensions.cs
rename to src/SignalR/common/Http.Connections/src/HttpConnectionContextExtensions.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/HttpConnectionDispatcherOptions.cs b/src/SignalR/common/Http.Connections/src/HttpConnectionDispatcherOptions.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections/HttpConnectionDispatcherOptions.cs
rename to src/SignalR/common/Http.Connections/src/HttpConnectionDispatcherOptions.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/AuthorizeHelper.cs b/src/SignalR/common/Http.Connections/src/Internal/AuthorizeHelper.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/AuthorizeHelper.cs
rename to src/SignalR/common/Http.Connections/src/Internal/AuthorizeHelper.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/ConnectionLogScope.cs b/src/SignalR/common/Http.Connections/src/Internal/ConnectionLogScope.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/ConnectionLogScope.cs
rename to src/SignalR/common/Http.Connections/src/Internal/ConnectionLogScope.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionContext.cs b/src/SignalR/common/Http.Connections/src/Internal/HttpConnectionContext.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionContext.cs
rename to src/SignalR/common/Http.Connections/src/Internal/HttpConnectionContext.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionDispatcher.Log.cs b/src/SignalR/common/Http.Connections/src/Internal/HttpConnectionDispatcher.Log.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionDispatcher.Log.cs
rename to src/SignalR/common/Http.Connections/src/Internal/HttpConnectionDispatcher.Log.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionDispatcher.cs b/src/SignalR/common/Http.Connections/src/Internal/HttpConnectionDispatcher.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionDispatcher.cs
rename to src/SignalR/common/Http.Connections/src/Internal/HttpConnectionDispatcher.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionManager.Log.cs b/src/SignalR/common/Http.Connections/src/Internal/HttpConnectionManager.Log.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionManager.Log.cs
rename to src/SignalR/common/Http.Connections/src/Internal/HttpConnectionManager.Log.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionManager.cs b/src/SignalR/common/Http.Connections/src/Internal/HttpConnectionManager.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionManager.cs
rename to src/SignalR/common/Http.Connections/src/Internal/HttpConnectionManager.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionStatus.cs b/src/SignalR/common/Http.Connections/src/Internal/HttpConnectionStatus.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionStatus.cs
rename to src/SignalR/common/Http.Connections/src/Internal/HttpConnectionStatus.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionsEventSource.cs b/src/SignalR/common/Http.Connections/src/Internal/HttpConnectionsEventSource.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/HttpConnectionsEventSource.cs
rename to src/SignalR/common/Http.Connections/src/Internal/HttpConnectionsEventSource.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/Transports/IHttpTransport.cs b/src/SignalR/common/Http.Connections/src/Internal/Transports/IHttpTransport.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/Transports/IHttpTransport.cs
rename to src/SignalR/common/Http.Connections/src/Internal/Transports/IHttpTransport.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/Transports/LongPollingTransport.cs b/src/SignalR/common/Http.Connections/src/Internal/Transports/LongPollingTransport.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/Transports/LongPollingTransport.cs
rename to src/SignalR/common/Http.Connections/src/Internal/Transports/LongPollingTransport.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/Transports/ServerSentEventsMessageFormatter.cs b/src/SignalR/common/Http.Connections/src/Internal/Transports/ServerSentEventsMessageFormatter.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/Transports/ServerSentEventsMessageFormatter.cs
rename to src/SignalR/common/Http.Connections/src/Internal/Transports/ServerSentEventsMessageFormatter.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/Transports/ServerSentEventsTransport.cs b/src/SignalR/common/Http.Connections/src/Internal/Transports/ServerSentEventsTransport.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/Transports/ServerSentEventsTransport.cs
rename to src/SignalR/common/Http.Connections/src/Internal/Transports/ServerSentEventsTransport.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/Transports/WebSocketsTransport.Log.cs b/src/SignalR/common/Http.Connections/src/Internal/Transports/WebSocketsTransport.Log.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/Transports/WebSocketsTransport.Log.cs
rename to src/SignalR/common/Http.Connections/src/Internal/Transports/WebSocketsTransport.Log.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/Transports/WebSocketsTransport.cs b/src/SignalR/common/Http.Connections/src/Internal/Transports/WebSocketsTransport.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Internal/Transports/WebSocketsTransport.cs
rename to src/SignalR/common/Http.Connections/src/Internal/Transports/WebSocketsTransport.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/LongPollingOptions.cs b/src/SignalR/common/Http.Connections/src/LongPollingOptions.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections/LongPollingOptions.cs
rename to src/SignalR/common/Http.Connections/src/LongPollingOptions.cs
diff --git a/src/SignalR/common/Http.Connections/src/Microsoft.AspNetCore.Http.Connections.csproj b/src/SignalR/common/Http.Connections/src/Microsoft.AspNetCore.Http.Connections.csproj
new file mode 100644
index 0000000000..cc396f77a5
--- /dev/null
+++ b/src/SignalR/common/Http.Connections/src/Microsoft.AspNetCore.Http.Connections.csproj
@@ -0,0 +1,36 @@
+
+
+
+ Components for providing real-time bi-directional communication across the Web.
+ netstandard2.0;netcoreapp2.2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Properties/AssemblyInfo.cs b/src/SignalR/common/Http.Connections/src/Properties/AssemblyInfo.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Properties/AssemblyInfo.cs
rename to src/SignalR/common/Http.Connections/src/Properties/AssemblyInfo.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/WebSocketOptions.cs b/src/SignalR/common/Http.Connections/src/WebSocketOptions.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections/WebSocketOptions.cs
rename to src/SignalR/common/Http.Connections/src/WebSocketOptions.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/baseline.netcore.json b/src/SignalR/common/Http.Connections/src/baseline.netcore.json
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.Http.Connections/baseline.netcore.json
rename to src/SignalR/common/Http.Connections/src/baseline.netcore.json
diff --git a/src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/ApplicationLifetime.cs b/src/SignalR/common/Http.Connections/test/ApplicationLifetime.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/ApplicationLifetime.cs
rename to src/SignalR/common/Http.Connections/test/ApplicationLifetime.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/HttpConnectionDispatcherTests.cs b/src/SignalR/common/Http.Connections/test/HttpConnectionDispatcherTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/HttpConnectionDispatcherTests.cs
rename to src/SignalR/common/Http.Connections/test/HttpConnectionDispatcherTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/HttpConnectionManagerTests.cs b/src/SignalR/common/Http.Connections/test/HttpConnectionManagerTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/HttpConnectionManagerTests.cs
rename to src/SignalR/common/Http.Connections/test/HttpConnectionManagerTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/LongPollingTests.cs b/src/SignalR/common/Http.Connections/test/LongPollingTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/LongPollingTests.cs
rename to src/SignalR/common/Http.Connections/test/LongPollingTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/MapConnectionHandlerTests.cs b/src/SignalR/common/Http.Connections/test/MapConnectionHandlerTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/MapConnectionHandlerTests.cs
rename to src/SignalR/common/Http.Connections/test/MapConnectionHandlerTests.cs
diff --git a/src/SignalR/common/Http.Connections/test/Microsoft.AspNetCore.Http.Connections.Tests.csproj b/src/SignalR/common/Http.Connections/test/Microsoft.AspNetCore.Http.Connections.Tests.csproj
new file mode 100644
index 0000000000..c7d52bbf6a
--- /dev/null
+++ b/src/SignalR/common/Http.Connections/test/Microsoft.AspNetCore.Http.Connections.Tests.csproj
@@ -0,0 +1,23 @@
+
+
+
+ netcoreapp2.2;net461
+ win7-x86
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/NegotiateProtocolTests.cs b/src/SignalR/common/Http.Connections/test/NegotiateProtocolTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/NegotiateProtocolTests.cs
rename to src/SignalR/common/Http.Connections/test/NegotiateProtocolTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/ServerSentEventsMessageFormatterTests.cs b/src/SignalR/common/Http.Connections/test/ServerSentEventsMessageFormatterTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/ServerSentEventsMessageFormatterTests.cs
rename to src/SignalR/common/Http.Connections/test/ServerSentEventsMessageFormatterTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/ServerSentEventsTests.cs b/src/SignalR/common/Http.Connections/test/ServerSentEventsTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/ServerSentEventsTests.cs
rename to src/SignalR/common/Http.Connections/test/ServerSentEventsTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/TestWebSocketConnectionFeature.cs b/src/SignalR/common/Http.Connections/test/TestWebSocketConnectionFeature.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/TestWebSocketConnectionFeature.cs
rename to src/SignalR/common/Http.Connections/test/TestWebSocketConnectionFeature.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/WebSocketsTests.cs b/src/SignalR/common/Http.Connections/test/WebSocketsTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/WebSocketsTests.cs
rename to src/SignalR/common/Http.Connections/test/WebSocketsTests.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.Json/JsonHubProtocolOptions.cs b/src/SignalR/common/Protocols.Json/src/JsonHubProtocolOptions.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.Json/JsonHubProtocolOptions.cs
rename to src/SignalR/common/Protocols.Json/src/JsonHubProtocolOptions.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.Json/JsonProtocolDependencyInjectionExtensions.cs b/src/SignalR/common/Protocols.Json/src/JsonProtocolDependencyInjectionExtensions.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.Json/JsonProtocolDependencyInjectionExtensions.cs
rename to src/SignalR/common/Protocols.Json/src/JsonProtocolDependencyInjectionExtensions.cs
diff --git a/src/SignalR/common/Protocols.Json/src/Microsoft.AspNetCore.SignalR.Protocols.Json.csproj b/src/SignalR/common/Protocols.Json/src/Microsoft.AspNetCore.SignalR.Protocols.Json.csproj
new file mode 100644
index 0000000000..5e9de5a764
--- /dev/null
+++ b/src/SignalR/common/Protocols.Json/src/Microsoft.AspNetCore.SignalR.Protocols.Json.csproj
@@ -0,0 +1,23 @@
+
+
+
+ Implements the SignalR Hub Protocol over JSON.
+ netstandard2.0
+ Microsoft.AspNetCore.SignalR
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.Json/Protocol/JsonHubProtocol.cs b/src/SignalR/common/Protocols.Json/src/Protocol/JsonHubProtocol.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.Json/Protocol/JsonHubProtocol.cs
rename to src/SignalR/common/Protocols.Json/src/Protocol/JsonHubProtocol.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.Json/baseline.netcore.json b/src/SignalR/common/Protocols.Json/src/baseline.netcore.json
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.Json/baseline.netcore.json
rename to src/SignalR/common/Protocols.Json/src/baseline.netcore.json
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.MessagePack/MessagePackHubProtocolOptions.cs b/src/SignalR/common/Protocols.MessagePack/src/MessagePackHubProtocolOptions.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.MessagePack/MessagePackHubProtocolOptions.cs
rename to src/SignalR/common/Protocols.MessagePack/src/MessagePackHubProtocolOptions.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.MessagePack/MessagePackProtocolDependencyInjectionExtensions.cs b/src/SignalR/common/Protocols.MessagePack/src/MessagePackProtocolDependencyInjectionExtensions.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.MessagePack/MessagePackProtocolDependencyInjectionExtensions.cs
rename to src/SignalR/common/Protocols.MessagePack/src/MessagePackProtocolDependencyInjectionExtensions.cs
diff --git a/src/SignalR/common/Protocols.MessagePack/src/Microsoft.AspNetCore.SignalR.Protocols.MessagePack.csproj b/src/SignalR/common/Protocols.MessagePack/src/Microsoft.AspNetCore.SignalR.Protocols.MessagePack.csproj
new file mode 100644
index 0000000000..db97623b10
--- /dev/null
+++ b/src/SignalR/common/Protocols.MessagePack/src/Microsoft.AspNetCore.SignalR.Protocols.MessagePack.csproj
@@ -0,0 +1,21 @@
+
+
+
+ Implements the SignalR Hub Protocol over MsgPack.
+ netstandard2.0
+ Microsoft.AspNetCore.SignalR
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.MessagePack/Protocol/MessagePackHubProtocol.cs b/src/SignalR/common/Protocols.MessagePack/src/Protocol/MessagePackHubProtocol.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.MessagePack/Protocol/MessagePackHubProtocol.cs
rename to src/SignalR/common/Protocols.MessagePack/src/Protocol/MessagePackHubProtocol.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.MessagePack/baseline.netcore.json b/src/SignalR/common/Protocols.MessagePack/src/baseline.netcore.json
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.MessagePack/baseline.netcore.json
rename to src/SignalR/common/Protocols.MessagePack/src/baseline.netcore.json
diff --git a/src/SignalR/src/Common/AwaitableThreadPool.cs b/src/SignalR/common/Shared/AwaitableThreadPool.cs
similarity index 100%
rename from src/SignalR/src/Common/AwaitableThreadPool.cs
rename to src/SignalR/common/Shared/AwaitableThreadPool.cs
diff --git a/src/SignalR/src/Common/BinaryMessageFormatter.cs b/src/SignalR/common/Shared/BinaryMessageFormatter.cs
similarity index 100%
rename from src/SignalR/src/Common/BinaryMessageFormatter.cs
rename to src/SignalR/common/Shared/BinaryMessageFormatter.cs
diff --git a/src/SignalR/src/Common/BinaryMessageParser.cs b/src/SignalR/common/Shared/BinaryMessageParser.cs
similarity index 100%
rename from src/SignalR/src/Common/BinaryMessageParser.cs
rename to src/SignalR/common/Shared/BinaryMessageParser.cs
diff --git a/src/SignalR/src/Common/DuplexPipe.cs b/src/SignalR/common/Shared/DuplexPipe.cs
similarity index 100%
rename from src/SignalR/src/Common/DuplexPipe.cs
rename to src/SignalR/common/Shared/DuplexPipe.cs
diff --git a/src/SignalR/src/Common/ForceAsyncAwaiter.cs b/src/SignalR/common/Shared/ForceAsyncAwaiter.cs
similarity index 100%
rename from src/SignalR/src/Common/ForceAsyncAwaiter.cs
rename to src/SignalR/common/Shared/ForceAsyncAwaiter.cs
diff --git a/src/SignalR/src/Common/JsonUtils.cs b/src/SignalR/common/Shared/JsonUtils.cs
similarity index 100%
rename from src/SignalR/src/Common/JsonUtils.cs
rename to src/SignalR/common/Shared/JsonUtils.cs
diff --git a/src/SignalR/src/Common/MemoryBufferWriter.cs b/src/SignalR/common/Shared/MemoryBufferWriter.cs
similarity index 100%
rename from src/SignalR/src/Common/MemoryBufferWriter.cs
rename to src/SignalR/common/Shared/MemoryBufferWriter.cs
diff --git a/src/SignalR/src/Common/PipeWriterStream.cs b/src/SignalR/common/Shared/PipeWriterStream.cs
similarity index 100%
rename from src/SignalR/src/Common/PipeWriterStream.cs
rename to src/SignalR/common/Shared/PipeWriterStream.cs
diff --git a/src/SignalR/src/Common/StreamExtensions.cs b/src/SignalR/common/Shared/StreamExtensions.cs
similarity index 100%
rename from src/SignalR/src/Common/StreamExtensions.cs
rename to src/SignalR/common/Shared/StreamExtensions.cs
diff --git a/src/SignalR/src/Common/TextMessageFormatter.cs b/src/SignalR/common/Shared/TextMessageFormatter.cs
similarity index 100%
rename from src/SignalR/src/Common/TextMessageFormatter.cs
rename to src/SignalR/common/Shared/TextMessageFormatter.cs
diff --git a/src/SignalR/src/Common/TextMessageParser.cs b/src/SignalR/common/Shared/TextMessageParser.cs
similarity index 100%
rename from src/SignalR/src/Common/TextMessageParser.cs
rename to src/SignalR/common/Shared/TextMessageParser.cs
diff --git a/src/SignalR/src/Common/TimerAwaitable.cs b/src/SignalR/common/Shared/TimerAwaitable.cs
similarity index 100%
rename from src/SignalR/src/Common/TimerAwaitable.cs
rename to src/SignalR/common/Shared/TimerAwaitable.cs
diff --git a/src/SignalR/src/Common/Utf8BufferTextReader.cs b/src/SignalR/common/Shared/Utf8BufferTextReader.cs
similarity index 100%
rename from src/SignalR/src/Common/Utf8BufferTextReader.cs
rename to src/SignalR/common/Shared/Utf8BufferTextReader.cs
diff --git a/src/SignalR/src/Common/Utf8BufferTextWriter.cs b/src/SignalR/common/Shared/Utf8BufferTextWriter.cs
similarity index 100%
rename from src/SignalR/src/Common/Utf8BufferTextWriter.cs
rename to src/SignalR/common/Shared/Utf8BufferTextWriter.cs
diff --git a/src/SignalR/src/Common/WebSocketExtensions.cs b/src/SignalR/common/Shared/WebSocketExtensions.cs
similarity index 100%
rename from src/SignalR/src/Common/WebSocketExtensions.cs
rename to src/SignalR/common/Shared/WebSocketExtensions.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/HubException.cs b/src/SignalR/common/SignalR.Common/src/HubException.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/HubException.cs
rename to src/SignalR/common/SignalR.Common/src/HubException.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/IInvocationBinder.cs b/src/SignalR/common/SignalR.Common/src/IInvocationBinder.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/IInvocationBinder.cs
rename to src/SignalR/common/SignalR.Common/src/IInvocationBinder.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/ISignalRBuilder.cs b/src/SignalR/common/SignalR.Common/src/ISignalRBuilder.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/ISignalRBuilder.cs
rename to src/SignalR/common/SignalR.Common/src/ISignalRBuilder.cs
diff --git a/src/SignalR/common/SignalR.Common/src/Microsoft.AspNetCore.SignalR.Common.csproj b/src/SignalR/common/SignalR.Common/src/Microsoft.AspNetCore.SignalR.Common.csproj
new file mode 100644
index 0000000000..2f7e1224f2
--- /dev/null
+++ b/src/SignalR/common/SignalR.Common/src/Microsoft.AspNetCore.SignalR.Common.csproj
@@ -0,0 +1,26 @@
+
+
+
+ Common serialiation primitives for SignalR Clients Servers
+ netstandard2.0;netcoreapp2.2
+ Microsoft.AspNetCore.SignalR
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Properties/AssemblyInfo.cs b/src/SignalR/common/SignalR.Common/src/Properties/AssemblyInfo.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Properties/AssemblyInfo.cs
rename to src/SignalR/common/SignalR.Common/src/Properties/AssemblyInfo.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/CancelInvocationMessage.cs b/src/SignalR/common/SignalR.Common/src/Protocol/CancelInvocationMessage.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/CancelInvocationMessage.cs
rename to src/SignalR/common/SignalR.Common/src/Protocol/CancelInvocationMessage.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/CloseMessage.cs b/src/SignalR/common/SignalR.Common/src/Protocol/CloseMessage.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/CloseMessage.cs
rename to src/SignalR/common/SignalR.Common/src/Protocol/CloseMessage.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/CompletionMessage.cs b/src/SignalR/common/SignalR.Common/src/Protocol/CompletionMessage.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/CompletionMessage.cs
rename to src/SignalR/common/SignalR.Common/src/Protocol/CompletionMessage.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/HandshakeProtocol.cs b/src/SignalR/common/SignalR.Common/src/Protocol/HandshakeProtocol.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/HandshakeProtocol.cs
rename to src/SignalR/common/SignalR.Common/src/Protocol/HandshakeProtocol.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/HandshakeRequestMessage.cs b/src/SignalR/common/SignalR.Common/src/Protocol/HandshakeRequestMessage.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/HandshakeRequestMessage.cs
rename to src/SignalR/common/SignalR.Common/src/Protocol/HandshakeRequestMessage.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/HandshakeResponseMessage.cs b/src/SignalR/common/SignalR.Common/src/Protocol/HandshakeResponseMessage.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/HandshakeResponseMessage.cs
rename to src/SignalR/common/SignalR.Common/src/Protocol/HandshakeResponseMessage.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/HubInvocationMessage.cs b/src/SignalR/common/SignalR.Common/src/Protocol/HubInvocationMessage.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/HubInvocationMessage.cs
rename to src/SignalR/common/SignalR.Common/src/Protocol/HubInvocationMessage.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/HubMessage.cs b/src/SignalR/common/SignalR.Common/src/Protocol/HubMessage.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/HubMessage.cs
rename to src/SignalR/common/SignalR.Common/src/Protocol/HubMessage.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/HubMethodInvocationMessage.cs b/src/SignalR/common/SignalR.Common/src/Protocol/HubMethodInvocationMessage.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/HubMethodInvocationMessage.cs
rename to src/SignalR/common/SignalR.Common/src/Protocol/HubMethodInvocationMessage.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/HubProtocolConstants.cs b/src/SignalR/common/SignalR.Common/src/Protocol/HubProtocolConstants.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/HubProtocolConstants.cs
rename to src/SignalR/common/SignalR.Common/src/Protocol/HubProtocolConstants.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/HubProtocolExtensions.cs b/src/SignalR/common/SignalR.Common/src/Protocol/HubProtocolExtensions.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/HubProtocolExtensions.cs
rename to src/SignalR/common/SignalR.Common/src/Protocol/HubProtocolExtensions.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/IHubProtocol.cs b/src/SignalR/common/SignalR.Common/src/Protocol/IHubProtocol.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/IHubProtocol.cs
rename to src/SignalR/common/SignalR.Common/src/Protocol/IHubProtocol.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/InvocationBindingFailureMessage.cs b/src/SignalR/common/SignalR.Common/src/Protocol/InvocationBindingFailureMessage.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/InvocationBindingFailureMessage.cs
rename to src/SignalR/common/SignalR.Common/src/Protocol/InvocationBindingFailureMessage.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/PingMessage.cs b/src/SignalR/common/SignalR.Common/src/Protocol/PingMessage.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/PingMessage.cs
rename to src/SignalR/common/SignalR.Common/src/Protocol/PingMessage.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/StreamItemMessage.cs b/src/SignalR/common/SignalR.Common/src/Protocol/StreamItemMessage.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Protocol/StreamItemMessage.cs
rename to src/SignalR/common/SignalR.Common/src/Protocol/StreamItemMessage.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/baseline.netcore.json b/src/SignalR/common/SignalR.Common/src/baseline.netcore.json
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/baseline.netcore.json
rename to src/SignalR/common/SignalR.Common/src/baseline.netcore.json
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Formatters/BinaryMessageFormatterTests.cs b/src/SignalR/common/SignalR.Common/test/Internal/Formatters/BinaryMessageFormatterTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Formatters/BinaryMessageFormatterTests.cs
rename to src/SignalR/common/SignalR.Common/test/Internal/Formatters/BinaryMessageFormatterTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Formatters/BinaryMessageParserTests.cs b/src/SignalR/common/SignalR.Common/test/Internal/Formatters/BinaryMessageParserTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Formatters/BinaryMessageParserTests.cs
rename to src/SignalR/common/SignalR.Common/test/Internal/Formatters/BinaryMessageParserTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Formatters/TextMessageFormatterTests.cs b/src/SignalR/common/SignalR.Common/test/Internal/Formatters/TextMessageFormatterTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Formatters/TextMessageFormatterTests.cs
rename to src/SignalR/common/SignalR.Common/test/Internal/Formatters/TextMessageFormatterTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Formatters/TextMessageParserTests.cs b/src/SignalR/common/SignalR.Common/test/Internal/Formatters/TextMessageParserTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Formatters/TextMessageParserTests.cs
rename to src/SignalR/common/SignalR.Common/test/Internal/Formatters/TextMessageParserTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/CompositeTestBinder.cs b/src/SignalR/common/SignalR.Common/test/Internal/Protocol/CompositeTestBinder.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/CompositeTestBinder.cs
rename to src/SignalR/common/SignalR.Common/test/Internal/Protocol/CompositeTestBinder.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/CustomObject.cs b/src/SignalR/common/SignalR.Common/test/Internal/Protocol/CustomObject.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/CustomObject.cs
rename to src/SignalR/common/SignalR.Common/test/Internal/Protocol/CustomObject.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/HandshakeProtocolTests.cs b/src/SignalR/common/SignalR.Common/test/Internal/Protocol/HandshakeProtocolTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/HandshakeProtocolTests.cs
rename to src/SignalR/common/SignalR.Common/test/Internal/Protocol/HandshakeProtocolTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/HubMessageHelpers.cs b/src/SignalR/common/SignalR.Common/test/Internal/Protocol/HubMessageHelpers.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/HubMessageHelpers.cs
rename to src/SignalR/common/SignalR.Common/test/Internal/Protocol/HubMessageHelpers.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/JsonHubProtocolTests.cs b/src/SignalR/common/SignalR.Common/test/Internal/Protocol/JsonHubProtocolTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/JsonHubProtocolTests.cs
rename to src/SignalR/common/SignalR.Common/test/Internal/Protocol/JsonHubProtocolTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/MemoryBufferWriterTests.cs b/src/SignalR/common/SignalR.Common/test/Internal/Protocol/MemoryBufferWriterTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/MemoryBufferWriterTests.cs
rename to src/SignalR/common/SignalR.Common/test/Internal/Protocol/MemoryBufferWriterTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/MessagePackHubProtocolTests.cs b/src/SignalR/common/SignalR.Common/test/Internal/Protocol/MessagePackHubProtocolTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/MessagePackHubProtocolTests.cs
rename to src/SignalR/common/SignalR.Common/test/Internal/Protocol/MessagePackHubProtocolTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/TestBinder.cs b/src/SignalR/common/SignalR.Common/test/Internal/Protocol/TestBinder.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/TestBinder.cs
rename to src/SignalR/common/SignalR.Common/test/Internal/Protocol/TestBinder.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/TestHubMessageEqualityComparer.cs b/src/SignalR/common/SignalR.Common/test/Internal/Protocol/TestHubMessageEqualityComparer.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/TestHubMessageEqualityComparer.cs
rename to src/SignalR/common/SignalR.Common/test/Internal/Protocol/TestHubMessageEqualityComparer.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/Utf8BufferTextReaderTests.cs b/src/SignalR/common/SignalR.Common/test/Internal/Protocol/Utf8BufferTextReaderTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/Utf8BufferTextReaderTests.cs
rename to src/SignalR/common/SignalR.Common/test/Internal/Protocol/Utf8BufferTextReaderTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/Utf8BufferTextWriterTests.cs b/src/SignalR/common/SignalR.Common/test/Internal/Protocol/Utf8BufferTextWriterTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Internal/Protocol/Utf8BufferTextWriterTests.cs
rename to src/SignalR/common/SignalR.Common/test/Internal/Protocol/Utf8BufferTextWriterTests.cs
diff --git a/src/SignalR/common/SignalR.Common/test/Microsoft.AspNetCore.SignalR.Common.Tests.csproj b/src/SignalR/common/SignalR.Common/test/Microsoft.AspNetCore.SignalR.Common.Tests.csproj
new file mode 100644
index 0000000000..3e9f2d832b
--- /dev/null
+++ b/src/SignalR/common/SignalR.Common/test/Microsoft.AspNetCore.SignalR.Common.Tests.csproj
@@ -0,0 +1,20 @@
+
+
+
+ netcoreapp2.2;net461
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/CancellationTokenExtensions.cs b/src/SignalR/common/testassets/Tests.Utils/CancellationTokenExtensions.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/CancellationTokenExtensions.cs
rename to src/SignalR/common/testassets/Tests.Utils/CancellationTokenExtensions.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/ChannelExtensions.cs b/src/SignalR/common/testassets/Tests.Utils/ChannelExtensions.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/ChannelExtensions.cs
rename to src/SignalR/common/testassets/Tests.Utils/ChannelExtensions.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/DelegateConnectionFactory.cs b/src/SignalR/common/testassets/Tests.Utils/DelegateConnectionFactory.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/DelegateConnectionFactory.cs
rename to src/SignalR/common/testassets/Tests.Utils/DelegateConnectionFactory.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/DummyHubProtocol.cs b/src/SignalR/common/testassets/Tests.Utils/DummyHubProtocol.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/DummyHubProtocol.cs
rename to src/SignalR/common/testassets/Tests.Utils/DummyHubProtocol.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/ExceptionMessageExtensions.cs b/src/SignalR/common/testassets/Tests.Utils/ExceptionMessageExtensions.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/ExceptionMessageExtensions.cs
rename to src/SignalR/common/testassets/Tests.Utils/ExceptionMessageExtensions.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/FunctionalTestBase.cs b/src/SignalR/common/testassets/Tests.Utils/FunctionalTestBase.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/FunctionalTestBase.cs
rename to src/SignalR/common/testassets/Tests.Utils/FunctionalTestBase.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/HubConnectionBuilderTestExtensions.cs b/src/SignalR/common/testassets/Tests.Utils/HubConnectionBuilderTestExtensions.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/HubConnectionBuilderTestExtensions.cs
rename to src/SignalR/common/testassets/Tests.Utils/HubConnectionBuilderTestExtensions.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/HubConnectionContextUtils.cs b/src/SignalR/common/testassets/Tests.Utils/HubConnectionContextUtils.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/HubConnectionContextUtils.cs
rename to src/SignalR/common/testassets/Tests.Utils/HubConnectionContextUtils.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/HubProtocolHelpers.cs b/src/SignalR/common/testassets/Tests.Utils/HubProtocolHelpers.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/HubProtocolHelpers.cs
rename to src/SignalR/common/testassets/Tests.Utils/HubProtocolHelpers.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/InProcessTestServer.cs b/src/SignalR/common/testassets/Tests.Utils/InProcessTestServer.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/InProcessTestServer.cs
rename to src/SignalR/common/testassets/Tests.Utils/InProcessTestServer.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/LogRecord.cs b/src/SignalR/common/testassets/Tests.Utils/LogRecord.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/LogRecord.cs
rename to src/SignalR/common/testassets/Tests.Utils/LogRecord.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/LogSinkProvider.cs b/src/SignalR/common/testassets/Tests.Utils/LogSinkProvider.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/LogSinkProvider.cs
rename to src/SignalR/common/testassets/Tests.Utils/LogSinkProvider.cs
diff --git a/src/SignalR/common/testassets/Tests.Utils/Microsoft.AspNetCore.SignalR.Tests.Utils.csproj b/src/SignalR/common/testassets/Tests.Utils/Microsoft.AspNetCore.SignalR.Tests.Utils.csproj
new file mode 100644
index 0000000000..2402d2ef73
--- /dev/null
+++ b/src/SignalR/common/testassets/Tests.Utils/Microsoft.AspNetCore.SignalR.Tests.Utils.csproj
@@ -0,0 +1,24 @@
+
+
+
+ netcoreapp2.2;net461
+ Microsoft.AspNetCore.SignalR.Tests
+ $(DefineConstants);TESTUTILS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/PipeCompletionExtensions.cs b/src/SignalR/common/testassets/Tests.Utils/PipeCompletionExtensions.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/PipeCompletionExtensions.cs
rename to src/SignalR/common/testassets/Tests.Utils/PipeCompletionExtensions.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/PipeReaderExtensions.cs b/src/SignalR/common/testassets/Tests.Utils/PipeReaderExtensions.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/PipeReaderExtensions.cs
rename to src/SignalR/common/testassets/Tests.Utils/PipeReaderExtensions.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/ServerLogScope.cs b/src/SignalR/common/testassets/Tests.Utils/ServerLogScope.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/ServerLogScope.cs
rename to src/SignalR/common/testassets/Tests.Utils/ServerLogScope.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/SyncPoint.cs b/src/SignalR/common/testassets/Tests.Utils/SyncPoint.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/SyncPoint.cs
rename to src/SignalR/common/testassets/Tests.Utils/SyncPoint.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/TaskExtensions.cs b/src/SignalR/common/testassets/Tests.Utils/TaskExtensions.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/TaskExtensions.cs
rename to src/SignalR/common/testassets/Tests.Utils/TaskExtensions.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/TestClient.cs b/src/SignalR/common/testassets/Tests.Utils/TestClient.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/TestClient.cs
rename to src/SignalR/common/testassets/Tests.Utils/TestClient.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/TestHelpers.cs b/src/SignalR/common/testassets/Tests.Utils/TestHelpers.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/TestHelpers.cs
rename to src/SignalR/common/testassets/Tests.Utils/TestHelpers.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/VerifiableLoggedTest.cs b/src/SignalR/common/testassets/Tests.Utils/VerifiableLoggedTest.cs
similarity index 72%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/VerifiableLoggedTest.cs
rename to src/SignalR/common/testassets/Tests.Utils/VerifiableLoggedTest.cs
index 08e924ce98..691338e3f9 100644
--- a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/VerifiableLoggedTest.cs
+++ b/src/SignalR/common/testassets/Tests.Utils/VerifiableLoggedTest.cs
@@ -2,12 +2,20 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System;
+using Microsoft.Extensions.Logging.Abstractions;
using Microsoft.Extensions.Logging.Testing;
namespace Microsoft.AspNetCore.SignalR.Tests
{
public class VerifiableLoggedTest : LoggedTest
{
+ public VerifiableLoggedTest()
+ {
+ // Ensures this isn't null in case the logged test framework
+ // doesn't initialize it correctly.
+ LoggerFactory = NullLoggerFactory.Instance;
+ }
+
public virtual IDisposable StartVerifiableLog(Func expectedErrorsFilter = null)
{
return CreateScope(expectedErrorsFilter);
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/VerifyNoErrorsScope.cs b/src/SignalR/common/testassets/Tests.Utils/VerifyNoErrorsScope.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/VerifyNoErrorsScope.cs
rename to src/SignalR/common/testassets/Tests.Utils/VerifyNoErrorsScope.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/WebSocketsSupportedConditionAttribute.cs b/src/SignalR/common/testassets/Tests.Utils/WebSocketsSupportedConditionAttribute.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/WebSocketsSupportedConditionAttribute.cs
rename to src/SignalR/common/testassets/Tests.Utils/WebSocketsSupportedConditionAttribute.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/WrappingLoggerFactory.cs b/src/SignalR/common/testassets/Tests.Utils/WrappingLoggerFactory.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/WrappingLoggerFactory.cs
rename to src/SignalR/common/testassets/Tests.Utils/WrappingLoggerFactory.cs
diff --git a/src/SignalR/docs/GettingStarted.md b/src/SignalR/docs/GettingStarted.md
index dd0a0111a7..f0111dc869 100644
--- a/src/SignalR/docs/GettingStarted.md
+++ b/src/SignalR/docs/GettingStarted.md
@@ -6,16 +6,16 @@ In order to successfully build and test *SignalR* you'll need to ensure that you
* NPM *(typically bundled with NodeJS)*
## How To Build
-Full instructions for how to build repositories within the [aspnet](https://github.com/aspnet) family of repositories can be found [in the Home repository](https://github.com/aspnet/Home/wiki/Building-from-source).
+Full instructions for how to build this repository are in [/docs/BuildFromSource.md](/docs/BuildFromSource.md).
-The short-hand version of that is to simply run the `build.cmd` or `build.sh` script that's in the root of the *SignalR* repository. The build script will automatically install the necessary .NET SDK version.
+The short-hand version of that is to simply run the `build.cmd` or `build.sh` script that's in the root of the *SignalR* folder. The build script will automatically install the necessary .NET SDK version.
If, after running `build.cmd` or `build.sh`, you did not get a successful build, please refer to the [Troubleshooting](#troubleshooting) section below. If your problem isn't covered, please check that you've met all of the prerequisites. If you still can't get the solution to build successfully, please open an issue so that we might assist and please consider updating this documentation to help others in the future.
## Troubleshooting
Below are some tips for troubleshooting common issues.
-### Project Load Failures in Visual Studio
+### Project Load Failures in Visual Studio
In order to property load several of the projects in the solution, it is necessary that `%USERPROFILE%\.dotnet\x64` be in your `PATH` variable. If you experience issues loading projects in Visual Studio, please ensure that your `PATH` is configured correctly.
### NPM Errors
diff --git a/src/SignalR/specs/HubProtocol.md b/src/SignalR/docs/specs/HubProtocol.md
similarity index 100%
rename from src/SignalR/specs/HubProtocol.md
rename to src/SignalR/docs/specs/HubProtocol.md
diff --git a/src/SignalR/specs/TransportProtocols.md b/src/SignalR/docs/specs/TransportProtocols.md
similarity index 100%
rename from src/SignalR/specs/TransportProtocols.md
rename to src/SignalR/docs/specs/TransportProtocols.md
diff --git a/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/AssemblyInfo.cs b/src/SignalR/perf/Microbenchmarks/AssemblyInfo.cs
similarity index 100%
rename from src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/AssemblyInfo.cs
rename to src/SignalR/perf/Microbenchmarks/AssemblyInfo.cs
diff --git a/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/BroadcastBenchmark.cs b/src/SignalR/perf/Microbenchmarks/BroadcastBenchmark.cs
similarity index 100%
rename from src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/BroadcastBenchmark.cs
rename to src/SignalR/perf/Microbenchmarks/BroadcastBenchmark.cs
diff --git a/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/DefaultHubActivatorBenchmark.cs b/src/SignalR/perf/Microbenchmarks/DefaultHubActivatorBenchmark.cs
similarity index 100%
rename from src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/DefaultHubActivatorBenchmark.cs
rename to src/SignalR/perf/Microbenchmarks/DefaultHubActivatorBenchmark.cs
diff --git a/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/DefaultHubDispatcherBenchmark.cs b/src/SignalR/perf/Microbenchmarks/DefaultHubDispatcherBenchmark.cs
similarity index 100%
rename from src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/DefaultHubDispatcherBenchmark.cs
rename to src/SignalR/perf/Microbenchmarks/DefaultHubDispatcherBenchmark.cs
diff --git a/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/DefaultHubLifetimeManagerBenchmark.cs b/src/SignalR/perf/Microbenchmarks/DefaultHubLifetimeManagerBenchmark.cs
similarity index 100%
rename from src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/DefaultHubLifetimeManagerBenchmark.cs
rename to src/SignalR/perf/Microbenchmarks/DefaultHubLifetimeManagerBenchmark.cs
diff --git a/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/HubConnectionContextBenchmark.cs b/src/SignalR/perf/Microbenchmarks/HubConnectionContextBenchmark.cs
similarity index 100%
rename from src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/HubConnectionContextBenchmark.cs
rename to src/SignalR/perf/Microbenchmarks/HubConnectionContextBenchmark.cs
diff --git a/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/HubConnectionReceiveBenchmark.cs b/src/SignalR/perf/Microbenchmarks/HubConnectionReceiveBenchmark.cs
similarity index 100%
rename from src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/HubConnectionReceiveBenchmark.cs
rename to src/SignalR/perf/Microbenchmarks/HubConnectionReceiveBenchmark.cs
diff --git a/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/HubConnectionSendBenchmark.cs b/src/SignalR/perf/Microbenchmarks/HubConnectionSendBenchmark.cs
similarity index 100%
rename from src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/HubConnectionSendBenchmark.cs
rename to src/SignalR/perf/Microbenchmarks/HubConnectionSendBenchmark.cs
diff --git a/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/HubConnectionStartBenchmark.cs b/src/SignalR/perf/Microbenchmarks/HubConnectionStartBenchmark.cs
similarity index 100%
rename from src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/HubConnectionStartBenchmark.cs
rename to src/SignalR/perf/Microbenchmarks/HubConnectionStartBenchmark.cs
diff --git a/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/HubProtocolBenchmark.cs b/src/SignalR/perf/Microbenchmarks/HubProtocolBenchmark.cs
similarity index 100%
rename from src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/HubProtocolBenchmark.cs
rename to src/SignalR/perf/Microbenchmarks/HubProtocolBenchmark.cs
diff --git a/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/MessageParserBenchmark.cs b/src/SignalR/perf/Microbenchmarks/MessageParserBenchmark.cs
similarity index 100%
rename from src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/MessageParserBenchmark.cs
rename to src/SignalR/perf/Microbenchmarks/MessageParserBenchmark.cs
diff --git a/src/SignalR/perf/Microbenchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks.csproj b/src/SignalR/perf/Microbenchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks.csproj
new file mode 100644
index 0000000000..072ef2a4d0
--- /dev/null
+++ b/src/SignalR/perf/Microbenchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks.csproj
@@ -0,0 +1,36 @@
+
+
+
+ Exe
+ netcoreapp2.2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/NegotiateProtocolBenchmark.cs b/src/SignalR/perf/Microbenchmarks/NegotiateProtocolBenchmark.cs
similarity index 100%
rename from src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/NegotiateProtocolBenchmark.cs
rename to src/SignalR/perf/Microbenchmarks/NegotiateProtocolBenchmark.cs
diff --git a/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/RedisHubLifetimeManagerBenchmark.cs b/src/SignalR/perf/Microbenchmarks/RedisHubLifetimeManagerBenchmark.cs
similarity index 100%
rename from src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/RedisHubLifetimeManagerBenchmark.cs
rename to src/SignalR/perf/Microbenchmarks/RedisHubLifetimeManagerBenchmark.cs
diff --git a/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/RedisProtocolBenchmark.cs b/src/SignalR/perf/Microbenchmarks/RedisProtocolBenchmark.cs
similarity index 100%
rename from src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/RedisProtocolBenchmark.cs
rename to src/SignalR/perf/Microbenchmarks/RedisProtocolBenchmark.cs
diff --git a/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/ServerSentEventsBenchmark.cs b/src/SignalR/perf/Microbenchmarks/ServerSentEventsBenchmark.cs
similarity index 100%
rename from src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/ServerSentEventsBenchmark.cs
rename to src/SignalR/perf/Microbenchmarks/ServerSentEventsBenchmark.cs
diff --git a/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/Shared/TestConnectionContext.cs b/src/SignalR/perf/Microbenchmarks/Shared/TestConnectionContext.cs
similarity index 100%
rename from src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/Shared/TestConnectionContext.cs
rename to src/SignalR/perf/Microbenchmarks/Shared/TestConnectionContext.cs
diff --git a/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/Shared/TestDuplexPipe.cs b/src/SignalR/perf/Microbenchmarks/Shared/TestDuplexPipe.cs
similarity index 100%
rename from src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/Shared/TestDuplexPipe.cs
rename to src/SignalR/perf/Microbenchmarks/Shared/TestDuplexPipe.cs
diff --git a/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/Shared/TestPipeReader.cs b/src/SignalR/perf/Microbenchmarks/Shared/TestPipeReader.cs
similarity index 100%
rename from src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/Shared/TestPipeReader.cs
rename to src/SignalR/perf/Microbenchmarks/Shared/TestPipeReader.cs
diff --git a/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/Shared/TestPipeWriter.cs b/src/SignalR/perf/Microbenchmarks/Shared/TestPipeWriter.cs
similarity index 100%
rename from src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/Shared/TestPipeWriter.cs
rename to src/SignalR/perf/Microbenchmarks/Shared/TestPipeWriter.cs
diff --git a/src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/TestBinder.cs b/src/SignalR/perf/Microbenchmarks/TestBinder.cs
similarity index 100%
rename from src/SignalR/benchmarks/Microsoft.AspNetCore.SignalR.Microbenchmarks/TestBinder.cs
rename to src/SignalR/perf/Microbenchmarks/TestBinder.cs
diff --git a/src/SignalR/benchmarkapps/BenchmarkServer/BenchmarkServer.csproj b/src/SignalR/perf/benchmarkapps/BenchmarkServer/BenchmarkServer.csproj
similarity index 54%
rename from src/SignalR/benchmarkapps/BenchmarkServer/BenchmarkServer.csproj
rename to src/SignalR/perf/benchmarkapps/BenchmarkServer/BenchmarkServer.csproj
index 8fe04f5103..96426269ce 100644
--- a/src/SignalR/benchmarkapps/BenchmarkServer/BenchmarkServer.csproj
+++ b/src/SignalR/perf/benchmarkapps/BenchmarkServer/BenchmarkServer.csproj
@@ -12,13 +12,12 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/src/SignalR/benchmarkapps/BenchmarkServer/Hubs/EchoHub.cs b/src/SignalR/perf/benchmarkapps/BenchmarkServer/Hubs/EchoHub.cs
similarity index 100%
rename from src/SignalR/benchmarkapps/BenchmarkServer/Hubs/EchoHub.cs
rename to src/SignalR/perf/benchmarkapps/BenchmarkServer/Hubs/EchoHub.cs
diff --git a/src/SignalR/benchmarkapps/BenchmarkServer/Program.cs b/src/SignalR/perf/benchmarkapps/BenchmarkServer/Program.cs
similarity index 100%
rename from src/SignalR/benchmarkapps/BenchmarkServer/Program.cs
rename to src/SignalR/perf/benchmarkapps/BenchmarkServer/Program.cs
diff --git a/src/SignalR/benchmarkapps/BenchmarkServer/README.md b/src/SignalR/perf/benchmarkapps/BenchmarkServer/README.md
similarity index 100%
rename from src/SignalR/benchmarkapps/BenchmarkServer/README.md
rename to src/SignalR/perf/benchmarkapps/BenchmarkServer/README.md
diff --git a/src/SignalR/benchmarkapps/BenchmarkServer/Startup.cs b/src/SignalR/perf/benchmarkapps/BenchmarkServer/Startup.cs
similarity index 100%
rename from src/SignalR/benchmarkapps/BenchmarkServer/Startup.cs
rename to src/SignalR/perf/benchmarkapps/BenchmarkServer/Startup.cs
diff --git a/src/SignalR/benchmarkapps/BenchmarkServer/signalr.json b/src/SignalR/perf/benchmarkapps/BenchmarkServer/signalr.json
similarity index 100%
rename from src/SignalR/benchmarkapps/BenchmarkServer/signalr.json
rename to src/SignalR/perf/benchmarkapps/BenchmarkServer/signalr.json
diff --git a/src/SignalR/benchmarkapps/Crankier/Agent.cs b/src/SignalR/perf/benchmarkapps/Crankier/Agent.cs
similarity index 100%
rename from src/SignalR/benchmarkapps/Crankier/Agent.cs
rename to src/SignalR/perf/benchmarkapps/Crankier/Agent.cs
diff --git a/src/SignalR/benchmarkapps/Crankier/AgentHeartbeatInformation.cs b/src/SignalR/perf/benchmarkapps/Crankier/AgentHeartbeatInformation.cs
similarity index 100%
rename from src/SignalR/benchmarkapps/Crankier/AgentHeartbeatInformation.cs
rename to src/SignalR/perf/benchmarkapps/Crankier/AgentHeartbeatInformation.cs
diff --git a/src/SignalR/benchmarkapps/Crankier/AgentReceiver.cs b/src/SignalR/perf/benchmarkapps/Crankier/AgentReceiver.cs
similarity index 100%
rename from src/SignalR/benchmarkapps/Crankier/AgentReceiver.cs
rename to src/SignalR/perf/benchmarkapps/Crankier/AgentReceiver.cs
diff --git a/src/SignalR/benchmarkapps/Crankier/AgentSender.cs b/src/SignalR/perf/benchmarkapps/Crankier/AgentSender.cs
similarity index 100%
rename from src/SignalR/benchmarkapps/Crankier/AgentSender.cs
rename to src/SignalR/perf/benchmarkapps/Crankier/AgentSender.cs
diff --git a/src/SignalR/benchmarkapps/Crankier/AgentWorker.cs b/src/SignalR/perf/benchmarkapps/Crankier/AgentWorker.cs
similarity index 100%
rename from src/SignalR/benchmarkapps/Crankier/AgentWorker.cs
rename to src/SignalR/perf/benchmarkapps/Crankier/AgentWorker.cs
diff --git a/src/SignalR/benchmarkapps/Crankier/Client.cs b/src/SignalR/perf/benchmarkapps/Crankier/Client.cs
similarity index 100%
rename from src/SignalR/benchmarkapps/Crankier/Client.cs
rename to src/SignalR/perf/benchmarkapps/Crankier/Client.cs
diff --git a/src/SignalR/benchmarkapps/Crankier/Commands/AgentCommand.cs b/src/SignalR/perf/benchmarkapps/Crankier/Commands/AgentCommand.cs
similarity index 100%
rename from src/SignalR/benchmarkapps/Crankier/Commands/AgentCommand.cs
rename to src/SignalR/perf/benchmarkapps/Crankier/Commands/AgentCommand.cs
diff --git a/src/SignalR/benchmarkapps/Crankier/Commands/CommandLineUtilities.cs b/src/SignalR/perf/benchmarkapps/Crankier/Commands/CommandLineUtilities.cs
similarity index 100%
rename from src/SignalR/benchmarkapps/Crankier/Commands/CommandLineUtilities.cs
rename to src/SignalR/perf/benchmarkapps/Crankier/Commands/CommandLineUtilities.cs
diff --git a/src/SignalR/benchmarkapps/Crankier/Commands/Defaults.cs b/src/SignalR/perf/benchmarkapps/Crankier/Commands/Defaults.cs
similarity index 100%
rename from src/SignalR/benchmarkapps/Crankier/Commands/Defaults.cs
rename to src/SignalR/perf/benchmarkapps/Crankier/Commands/Defaults.cs
diff --git a/src/SignalR/benchmarkapps/Crankier/Commands/LocalCommand.cs b/src/SignalR/perf/benchmarkapps/Crankier/Commands/LocalCommand.cs
similarity index 100%
rename from src/SignalR/benchmarkapps/Crankier/Commands/LocalCommand.cs
rename to src/SignalR/perf/benchmarkapps/Crankier/Commands/LocalCommand.cs
diff --git a/src/SignalR/benchmarkapps/Crankier/Commands/WorkerCommand.cs b/src/SignalR/perf/benchmarkapps/Crankier/Commands/WorkerCommand.cs
similarity index 100%
rename from src/SignalR/benchmarkapps/Crankier/Commands/WorkerCommand.cs
rename to src/SignalR/perf/benchmarkapps/Crankier/Commands/WorkerCommand.cs
diff --git a/src/SignalR/benchmarkapps/Crankier/ConnectionState.cs b/src/SignalR/perf/benchmarkapps/Crankier/ConnectionState.cs
similarity index 100%
rename from src/SignalR/benchmarkapps/Crankier/ConnectionState.cs
rename to src/SignalR/perf/benchmarkapps/Crankier/ConnectionState.cs
diff --git a/src/SignalR/perf/benchmarkapps/Crankier/Crankier.csproj b/src/SignalR/perf/benchmarkapps/Crankier/Crankier.csproj
new file mode 100644
index 0000000000..16b16845fc
--- /dev/null
+++ b/src/SignalR/perf/benchmarkapps/Crankier/Crankier.csproj
@@ -0,0 +1,15 @@
+
+
+
+ Exe
+ netcoreapp2.2
+ Microsoft.AspNetCore.SignalR.CranksRevenge
+
+
+
+
+
+
+
+
+
diff --git a/src/SignalR/benchmarkapps/Crankier/IAgent.cs b/src/SignalR/perf/benchmarkapps/Crankier/IAgent.cs
similarity index 100%
rename from src/SignalR/benchmarkapps/Crankier/IAgent.cs
rename to src/SignalR/perf/benchmarkapps/Crankier/IAgent.cs
diff --git a/src/SignalR/benchmarkapps/Crankier/IRunner.cs b/src/SignalR/perf/benchmarkapps/Crankier/IRunner.cs
similarity index 100%
rename from src/SignalR/benchmarkapps/Crankier/IRunner.cs
rename to src/SignalR/perf/benchmarkapps/Crankier/IRunner.cs
diff --git a/src/SignalR/benchmarkapps/Crankier/IWorker.cs b/src/SignalR/perf/benchmarkapps/Crankier/IWorker.cs
similarity index 100%
rename from src/SignalR/benchmarkapps/Crankier/IWorker.cs
rename to src/SignalR/perf/benchmarkapps/Crankier/IWorker.cs
diff --git a/src/SignalR/benchmarkapps/Crankier/Message.cs b/src/SignalR/perf/benchmarkapps/Crankier/Message.cs
similarity index 100%
rename from src/SignalR/benchmarkapps/Crankier/Message.cs
rename to src/SignalR/perf/benchmarkapps/Crankier/Message.cs
diff --git a/src/SignalR/benchmarkapps/Crankier/Program.cs b/src/SignalR/perf/benchmarkapps/Crankier/Program.cs
similarity index 100%
rename from src/SignalR/benchmarkapps/Crankier/Program.cs
rename to src/SignalR/perf/benchmarkapps/Crankier/Program.cs
diff --git a/src/SignalR/benchmarkapps/Crankier/Runner.cs b/src/SignalR/perf/benchmarkapps/Crankier/Runner.cs
similarity index 100%
rename from src/SignalR/benchmarkapps/Crankier/Runner.cs
rename to src/SignalR/perf/benchmarkapps/Crankier/Runner.cs
diff --git a/src/SignalR/benchmarkapps/Crankier/StatusInformation.cs b/src/SignalR/perf/benchmarkapps/Crankier/StatusInformation.cs
similarity index 100%
rename from src/SignalR/benchmarkapps/Crankier/StatusInformation.cs
rename to src/SignalR/perf/benchmarkapps/Crankier/StatusInformation.cs
diff --git a/src/SignalR/benchmarkapps/Crankier/Worker.cs b/src/SignalR/perf/benchmarkapps/Crankier/Worker.cs
similarity index 100%
rename from src/SignalR/benchmarkapps/Crankier/Worker.cs
rename to src/SignalR/perf/benchmarkapps/Crankier/Worker.cs
diff --git a/src/SignalR/benchmarkapps/Crankier/WorkerHeartbeatInformation.cs b/src/SignalR/perf/benchmarkapps/Crankier/WorkerHeartbeatInformation.cs
similarity index 100%
rename from src/SignalR/benchmarkapps/Crankier/WorkerHeartbeatInformation.cs
rename to src/SignalR/perf/benchmarkapps/Crankier/WorkerHeartbeatInformation.cs
diff --git a/src/SignalR/benchmarkapps/Crankier/WorkerReceiver.cs b/src/SignalR/perf/benchmarkapps/Crankier/WorkerReceiver.cs
similarity index 100%
rename from src/SignalR/benchmarkapps/Crankier/WorkerReceiver.cs
rename to src/SignalR/perf/benchmarkapps/Crankier/WorkerReceiver.cs
diff --git a/src/SignalR/benchmarkapps/Crankier/WorkerSender.cs b/src/SignalR/perf/benchmarkapps/Crankier/WorkerSender.cs
similarity index 100%
rename from src/SignalR/benchmarkapps/Crankier/WorkerSender.cs
rename to src/SignalR/perf/benchmarkapps/Crankier/WorkerSender.cs
diff --git a/src/SignalR/build/publish-apps.ps1 b/src/SignalR/publish-apps.ps1
similarity index 100%
rename from src/SignalR/build/publish-apps.ps1
rename to src/SignalR/publish-apps.ps1
diff --git a/src/SignalR/samples/ClientSample/ClientSample.csproj b/src/SignalR/samples/ClientSample/ClientSample.csproj
index b38755fe73..dd2d3205ae 100644
--- a/src/SignalR/samples/ClientSample/ClientSample.csproj
+++ b/src/SignalR/samples/ClientSample/ClientSample.csproj
@@ -2,23 +2,18 @@
netcoreapp2.2;net461
-
- false
Exe
-
+
-
-
-
-
-
-
-
+
+
+
+
diff --git a/src/SignalR/samples/JwtClientSample/JwtClientSample.csproj b/src/SignalR/samples/JwtClientSample/JwtClientSample.csproj
index 9c0dd69015..7d5e81dced 100644
--- a/src/SignalR/samples/JwtClientSample/JwtClientSample.csproj
+++ b/src/SignalR/samples/JwtClientSample/JwtClientSample.csproj
@@ -2,13 +2,11 @@
netcoreapp2.2
-
- false
Exe
-
+
diff --git a/src/SignalR/samples/JwtSample/JwtSample.csproj b/src/SignalR/samples/JwtSample/JwtSample.csproj
index dfadf14bef..ba7c33f26c 100644
--- a/src/SignalR/samples/JwtSample/JwtSample.csproj
+++ b/src/SignalR/samples/JwtSample/JwtSample.csproj
@@ -9,18 +9,15 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
diff --git a/src/SignalR/samples/SignalRSamples/SignalRSamples.csproj b/src/SignalR/samples/SignalRSamples/SignalRSamples.csproj
index 76733a4496..9f6dba2774 100644
--- a/src/SignalR/samples/SignalRSamples/SignalRSamples.csproj
+++ b/src/SignalR/samples/SignalRSamples/SignalRSamples.csproj
@@ -2,27 +2,24 @@
netcoreapp2.2;net461
-
- false
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/SignalR/samples/SocialWeather/SocialWeather.csproj b/src/SignalR/samples/SocialWeather/SocialWeather.csproj
index e96e794705..cd2081a1ff 100644
--- a/src/SignalR/samples/SocialWeather/SocialWeather.csproj
+++ b/src/SignalR/samples/SocialWeather/SocialWeather.csproj
@@ -2,23 +2,18 @@
netcoreapp2.2;net461
-
- false
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
diff --git a/src/SignalR/samples/WebSocketSample/WebSocketSample.csproj b/src/SignalR/samples/WebSocketSample/WebSocketSample.csproj
index 8227ddf127..9ffffad35c 100644
--- a/src/SignalR/samples/WebSocketSample/WebSocketSample.csproj
+++ b/src/SignalR/samples/WebSocketSample/WebSocketSample.csproj
@@ -3,7 +3,5 @@
netcoreapp2.2;net461
Exe
-
- false
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/ClientProxyExtensions.cs b/src/SignalR/server/Core/src/ClientProxyExtensions.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/ClientProxyExtensions.cs
rename to src/SignalR/server/Core/src/ClientProxyExtensions.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/DefaultHubLifetimeManager.cs b/src/SignalR/server/Core/src/DefaultHubLifetimeManager.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/DefaultHubLifetimeManager.cs
rename to src/SignalR/server/Core/src/DefaultHubLifetimeManager.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/DefaultUserIdProvider.cs b/src/SignalR/server/Core/src/DefaultUserIdProvider.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/DefaultUserIdProvider.cs
rename to src/SignalR/server/Core/src/DefaultUserIdProvider.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/DynamicHub.cs b/src/SignalR/server/Core/src/DynamicHub.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/DynamicHub.cs
rename to src/SignalR/server/Core/src/DynamicHub.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/DynamicHubClients.cs b/src/SignalR/server/Core/src/DynamicHubClients.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/DynamicHubClients.cs
rename to src/SignalR/server/Core/src/DynamicHubClients.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Hub.cs b/src/SignalR/server/Core/src/Hub.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Hub.cs
rename to src/SignalR/server/Core/src/Hub.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/HubCallerContext.cs b/src/SignalR/server/Core/src/HubCallerContext.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/HubCallerContext.cs
rename to src/SignalR/server/Core/src/HubCallerContext.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/HubClientsExtensions.cs b/src/SignalR/server/Core/src/HubClientsExtensions.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/HubClientsExtensions.cs
rename to src/SignalR/server/Core/src/HubClientsExtensions.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/HubConnectionContext.cs b/src/SignalR/server/Core/src/HubConnectionContext.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/HubConnectionContext.cs
rename to src/SignalR/server/Core/src/HubConnectionContext.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/HubConnectionHandler.cs b/src/SignalR/server/Core/src/HubConnectionHandler.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/HubConnectionHandler.cs
rename to src/SignalR/server/Core/src/HubConnectionHandler.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/HubConnectionStore.cs b/src/SignalR/server/Core/src/HubConnectionStore.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/HubConnectionStore.cs
rename to src/SignalR/server/Core/src/HubConnectionStore.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/HubLifetimeManager.cs b/src/SignalR/server/Core/src/HubLifetimeManager.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/HubLifetimeManager.cs
rename to src/SignalR/server/Core/src/HubLifetimeManager.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/HubMethodNameAttribute.cs b/src/SignalR/server/Core/src/HubMethodNameAttribute.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/HubMethodNameAttribute.cs
rename to src/SignalR/server/Core/src/HubMethodNameAttribute.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/HubOptions.cs b/src/SignalR/server/Core/src/HubOptions.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/HubOptions.cs
rename to src/SignalR/server/Core/src/HubOptions.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/HubOptions`T.cs b/src/SignalR/server/Core/src/HubOptions`T.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/HubOptions`T.cs
rename to src/SignalR/server/Core/src/HubOptions`T.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Hub`T.cs b/src/SignalR/server/Core/src/Hub`T.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Hub`T.cs
rename to src/SignalR/server/Core/src/Hub`T.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IClientProxy.cs b/src/SignalR/server/Core/src/IClientProxy.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IClientProxy.cs
rename to src/SignalR/server/Core/src/IClientProxy.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IGroupManager.cs b/src/SignalR/server/Core/src/IGroupManager.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IGroupManager.cs
rename to src/SignalR/server/Core/src/IGroupManager.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IHubActivator.cs b/src/SignalR/server/Core/src/IHubActivator.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IHubActivator.cs
rename to src/SignalR/server/Core/src/IHubActivator.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IHubCallerClients.cs b/src/SignalR/server/Core/src/IHubCallerClients.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IHubCallerClients.cs
rename to src/SignalR/server/Core/src/IHubCallerClients.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IHubCallerClients`T.cs b/src/SignalR/server/Core/src/IHubCallerClients`T.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IHubCallerClients`T.cs
rename to src/SignalR/server/Core/src/IHubCallerClients`T.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IHubClients.cs b/src/SignalR/server/Core/src/IHubClients.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IHubClients.cs
rename to src/SignalR/server/Core/src/IHubClients.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IHubClients`T.cs b/src/SignalR/server/Core/src/IHubClients`T.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IHubClients`T.cs
rename to src/SignalR/server/Core/src/IHubClients`T.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IHubContext.cs b/src/SignalR/server/Core/src/IHubContext.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IHubContext.cs
rename to src/SignalR/server/Core/src/IHubContext.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IHubContext`T.cs b/src/SignalR/server/Core/src/IHubContext`T.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IHubContext`T.cs
rename to src/SignalR/server/Core/src/IHubContext`T.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IHubProtocolResolver.cs b/src/SignalR/server/Core/src/IHubProtocolResolver.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IHubProtocolResolver.cs
rename to src/SignalR/server/Core/src/IHubProtocolResolver.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/ISignalRServerBuilder.cs b/src/SignalR/server/Core/src/ISignalRServerBuilder.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/ISignalRServerBuilder.cs
rename to src/SignalR/server/Core/src/ISignalRServerBuilder.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IUserIdProvider.cs b/src/SignalR/server/Core/src/IUserIdProvider.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/IUserIdProvider.cs
rename to src/SignalR/server/Core/src/IUserIdProvider.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/AsyncEnumeratorAdapters.cs b/src/SignalR/server/Core/src/Internal/AsyncEnumeratorAdapters.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/AsyncEnumeratorAdapters.cs
rename to src/SignalR/server/Core/src/Internal/AsyncEnumeratorAdapters.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/DefaultHubActivator.cs b/src/SignalR/server/Core/src/Internal/DefaultHubActivator.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/DefaultHubActivator.cs
rename to src/SignalR/server/Core/src/Internal/DefaultHubActivator.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/DefaultHubCallerContext.cs b/src/SignalR/server/Core/src/Internal/DefaultHubCallerContext.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/DefaultHubCallerContext.cs
rename to src/SignalR/server/Core/src/Internal/DefaultHubCallerContext.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/DefaultHubDispatcher.Log.cs b/src/SignalR/server/Core/src/Internal/DefaultHubDispatcher.Log.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/DefaultHubDispatcher.Log.cs
rename to src/SignalR/server/Core/src/Internal/DefaultHubDispatcher.Log.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/DefaultHubDispatcher.cs b/src/SignalR/server/Core/src/Internal/DefaultHubDispatcher.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/DefaultHubDispatcher.cs
rename to src/SignalR/server/Core/src/Internal/DefaultHubDispatcher.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/DefaultHubProtocolResolver.cs b/src/SignalR/server/Core/src/Internal/DefaultHubProtocolResolver.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/DefaultHubProtocolResolver.cs
rename to src/SignalR/server/Core/src/Internal/DefaultHubProtocolResolver.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/DynamicClientProxy.cs b/src/SignalR/server/Core/src/Internal/DynamicClientProxy.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/DynamicClientProxy.cs
rename to src/SignalR/server/Core/src/Internal/DynamicClientProxy.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/ErrorMessageHelper.cs b/src/SignalR/server/Core/src/Internal/ErrorMessageHelper.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/ErrorMessageHelper.cs
rename to src/SignalR/server/Core/src/Internal/ErrorMessageHelper.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/GroupManager.cs b/src/SignalR/server/Core/src/Internal/GroupManager.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/GroupManager.cs
rename to src/SignalR/server/Core/src/Internal/GroupManager.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubCallerClients.cs b/src/SignalR/server/Core/src/Internal/HubCallerClients.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubCallerClients.cs
rename to src/SignalR/server/Core/src/Internal/HubCallerClients.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubClients.cs b/src/SignalR/server/Core/src/Internal/HubClients.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubClients.cs
rename to src/SignalR/server/Core/src/Internal/HubClients.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubClients`T.cs b/src/SignalR/server/Core/src/Internal/HubClients`T.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubClients`T.cs
rename to src/SignalR/server/Core/src/Internal/HubClients`T.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubContext.cs b/src/SignalR/server/Core/src/Internal/HubContext.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubContext.cs
rename to src/SignalR/server/Core/src/Internal/HubContext.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubContext`T.cs b/src/SignalR/server/Core/src/Internal/HubContext`T.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubContext`T.cs
rename to src/SignalR/server/Core/src/Internal/HubContext`T.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubDispatcher.cs b/src/SignalR/server/Core/src/Internal/HubDispatcher.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubDispatcher.cs
rename to src/SignalR/server/Core/src/Internal/HubDispatcher.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubGroupList.cs b/src/SignalR/server/Core/src/Internal/HubGroupList.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubGroupList.cs
rename to src/SignalR/server/Core/src/Internal/HubGroupList.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubMethodDescriptor.cs b/src/SignalR/server/Core/src/Internal/HubMethodDescriptor.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubMethodDescriptor.cs
rename to src/SignalR/server/Core/src/Internal/HubMethodDescriptor.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubOptionsSetup.cs b/src/SignalR/server/Core/src/Internal/HubOptionsSetup.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubOptionsSetup.cs
rename to src/SignalR/server/Core/src/Internal/HubOptionsSetup.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubOptionsSetup`T.cs b/src/SignalR/server/Core/src/Internal/HubOptionsSetup`T.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubOptionsSetup`T.cs
rename to src/SignalR/server/Core/src/Internal/HubOptionsSetup`T.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubReflectionHelper.cs b/src/SignalR/server/Core/src/Internal/HubReflectionHelper.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/HubReflectionHelper.cs
rename to src/SignalR/server/Core/src/Internal/HubReflectionHelper.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/Proxies.cs b/src/SignalR/server/Core/src/Internal/Proxies.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/Proxies.cs
rename to src/SignalR/server/Core/src/Internal/Proxies.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/SignalRBuilder.cs b/src/SignalR/server/Core/src/Internal/SignalRBuilder.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/SignalRBuilder.cs
rename to src/SignalR/server/Core/src/Internal/SignalRBuilder.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/SignalRCoreMarkerService.cs b/src/SignalR/server/Core/src/Internal/SignalRCoreMarkerService.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/SignalRCoreMarkerService.cs
rename to src/SignalR/server/Core/src/Internal/SignalRCoreMarkerService.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/TaskCache.cs b/src/SignalR/server/Core/src/Internal/TaskCache.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/TaskCache.cs
rename to src/SignalR/server/Core/src/Internal/TaskCache.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/TypeBaseEnumerationExtensions.cs b/src/SignalR/server/Core/src/Internal/TypeBaseEnumerationExtensions.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/TypeBaseEnumerationExtensions.cs
rename to src/SignalR/server/Core/src/Internal/TypeBaseEnumerationExtensions.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/TypedClientBuilder.cs b/src/SignalR/server/Core/src/Internal/TypedClientBuilder.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/TypedClientBuilder.cs
rename to src/SignalR/server/Core/src/Internal/TypedClientBuilder.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/TypedHubClients.cs b/src/SignalR/server/Core/src/Internal/TypedHubClients.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Internal/TypedHubClients.cs
rename to src/SignalR/server/Core/src/Internal/TypedHubClients.cs
diff --git a/src/SignalR/server/Core/src/Microsoft.AspNetCore.SignalR.Core.csproj b/src/SignalR/server/Core/src/Microsoft.AspNetCore.SignalR.Core.csproj
new file mode 100644
index 0000000000..f329f57904
--- /dev/null
+++ b/src/SignalR/server/Core/src/Microsoft.AspNetCore.SignalR.Core.csproj
@@ -0,0 +1,24 @@
+
+
+
+ Real-time communication framework for ASP.NET Core.
+ netstandard2.0
+ Microsoft.AspNetCore.SignalR
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Properties/AssemblyInfo.cs b/src/SignalR/server/Core/src/Properties/AssemblyInfo.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Properties/AssemblyInfo.cs
rename to src/SignalR/server/Core/src/Properties/AssemblyInfo.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/SerializedHubMessage.cs b/src/SignalR/server/Core/src/SerializedHubMessage.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/SerializedHubMessage.cs
rename to src/SignalR/server/Core/src/SerializedHubMessage.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/SerializedMessage.cs b/src/SignalR/server/Core/src/SerializedMessage.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/SerializedMessage.cs
rename to src/SignalR/server/Core/src/SerializedMessage.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/SignalRConnectionBuilderExtensions.cs b/src/SignalR/server/Core/src/SignalRConnectionBuilderExtensions.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/SignalRConnectionBuilderExtensions.cs
rename to src/SignalR/server/Core/src/SignalRConnectionBuilderExtensions.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/SignalRDependencyInjectionExtensions.cs b/src/SignalR/server/Core/src/SignalRDependencyInjectionExtensions.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/SignalRDependencyInjectionExtensions.cs
rename to src/SignalR/server/Core/src/SignalRDependencyInjectionExtensions.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/baseline.netcore.json b/src/SignalR/server/Core/src/baseline.netcore.json
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/baseline.netcore.json
rename to src/SignalR/server/Core/src/baseline.netcore.json
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Redis/Internal/AckHandler.cs b/src/SignalR/server/Redis/src/Internal/AckHandler.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Redis/Internal/AckHandler.cs
rename to src/SignalR/server/Redis/src/Internal/AckHandler.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Redis/Internal/GroupAction.cs b/src/SignalR/server/Redis/src/Internal/GroupAction.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Redis/Internal/GroupAction.cs
rename to src/SignalR/server/Redis/src/Internal/GroupAction.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Redis/Internal/MessagePackUtil.cs b/src/SignalR/server/Redis/src/Internal/MessagePackUtil.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Redis/Internal/MessagePackUtil.cs
rename to src/SignalR/server/Redis/src/Internal/MessagePackUtil.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Redis/Internal/RedisChannels.cs b/src/SignalR/server/Redis/src/Internal/RedisChannels.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Redis/Internal/RedisChannels.cs
rename to src/SignalR/server/Redis/src/Internal/RedisChannels.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Redis/Internal/RedisGroupCommand.cs b/src/SignalR/server/Redis/src/Internal/RedisGroupCommand.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Redis/Internal/RedisGroupCommand.cs
rename to src/SignalR/server/Redis/src/Internal/RedisGroupCommand.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Redis/Internal/RedisInvocation.cs b/src/SignalR/server/Redis/src/Internal/RedisInvocation.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Redis/Internal/RedisInvocation.cs
rename to src/SignalR/server/Redis/src/Internal/RedisInvocation.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Redis/Internal/RedisLog.cs b/src/SignalR/server/Redis/src/Internal/RedisLog.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Redis/Internal/RedisLog.cs
rename to src/SignalR/server/Redis/src/Internal/RedisLog.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Redis/Internal/RedisProtocol.cs b/src/SignalR/server/Redis/src/Internal/RedisProtocol.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Redis/Internal/RedisProtocol.cs
rename to src/SignalR/server/Redis/src/Internal/RedisProtocol.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Redis/Internal/RedisSubscriptionManager.cs b/src/SignalR/server/Redis/src/Internal/RedisSubscriptionManager.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Redis/Internal/RedisSubscriptionManager.cs
rename to src/SignalR/server/Redis/src/Internal/RedisSubscriptionManager.cs
diff --git a/src/SignalR/server/Redis/src/Microsoft.AspNetCore.SignalR.Redis.csproj b/src/SignalR/server/Redis/src/Microsoft.AspNetCore.SignalR.Redis.csproj
new file mode 100644
index 0000000000..c14fa3605c
--- /dev/null
+++ b/src/SignalR/server/Redis/src/Microsoft.AspNetCore.SignalR.Redis.csproj
@@ -0,0 +1,20 @@
+
+
+
+ Redis for ASP.NET Core SignalR.
+ netstandard2.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Redis/RedisDependencyInjectionExtensions.cs b/src/SignalR/server/Redis/src/RedisDependencyInjectionExtensions.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Redis/RedisDependencyInjectionExtensions.cs
rename to src/SignalR/server/Redis/src/RedisDependencyInjectionExtensions.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Redis/RedisHubLifetimeManager.cs b/src/SignalR/server/Redis/src/RedisHubLifetimeManager.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Redis/RedisHubLifetimeManager.cs
rename to src/SignalR/server/Redis/src/RedisHubLifetimeManager.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Redis/RedisOptions.cs b/src/SignalR/server/Redis/src/RedisOptions.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Redis/RedisOptions.cs
rename to src/SignalR/server/Redis/src/RedisOptions.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Redis/baseline.netcore.json b/src/SignalR/server/Redis/src/baseline.netcore.json
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Redis/baseline.netcore.json
rename to src/SignalR/server/Redis/src/baseline.netcore.json
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Redis.Tests/Docker.cs b/src/SignalR/server/Redis/test/Docker.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Redis.Tests/Docker.cs
rename to src/SignalR/server/Redis/test/Docker.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Redis.Tests/EchoHub.cs b/src/SignalR/server/Redis/test/EchoHub.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Redis.Tests/EchoHub.cs
rename to src/SignalR/server/Redis/test/EchoHub.cs
diff --git a/src/SignalR/server/Redis/test/Microsoft.AspNetCore.SignalR.Redis.Tests.csproj b/src/SignalR/server/Redis/test/Microsoft.AspNetCore.SignalR.Redis.Tests.csproj
new file mode 100644
index 0000000000..5b6cdfed95
--- /dev/null
+++ b/src/SignalR/server/Redis/test/Microsoft.AspNetCore.SignalR.Redis.Tests.csproj
@@ -0,0 +1,20 @@
+
+
+
+ netcoreapp2.2;net461
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Redis.Tests/RedisDependencyInjectionExtensionsTests.cs b/src/SignalR/server/Redis/test/RedisDependencyInjectionExtensionsTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Redis.Tests/RedisDependencyInjectionExtensionsTests.cs
rename to src/SignalR/server/Redis/test/RedisDependencyInjectionExtensionsTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Redis.Tests/RedisEndToEnd.cs b/src/SignalR/server/Redis/test/RedisEndToEnd.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Redis.Tests/RedisEndToEnd.cs
rename to src/SignalR/server/Redis/test/RedisEndToEnd.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Redis.Tests/RedisHubLifetimeManagerTests.cs b/src/SignalR/server/Redis/test/RedisHubLifetimeManagerTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Redis.Tests/RedisHubLifetimeManagerTests.cs
rename to src/SignalR/server/Redis/test/RedisHubLifetimeManagerTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Redis.Tests/RedisProtocolTests.cs b/src/SignalR/server/Redis/test/RedisProtocolTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Redis.Tests/RedisProtocolTests.cs
rename to src/SignalR/server/Redis/test/RedisProtocolTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Redis.Tests/RedisServerFixture.cs b/src/SignalR/server/Redis/test/RedisServerFixture.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Redis.Tests/RedisServerFixture.cs
rename to src/SignalR/server/Redis/test/RedisServerFixture.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Redis.Tests/SkipIfDockerNotPresentAttribute.cs b/src/SignalR/server/Redis/test/SkipIfDockerNotPresentAttribute.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Redis.Tests/SkipIfDockerNotPresentAttribute.cs
rename to src/SignalR/server/Redis/test/SkipIfDockerNotPresentAttribute.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Redis.Tests/Startup.cs b/src/SignalR/server/Redis/test/Startup.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Redis.Tests/Startup.cs
rename to src/SignalR/server/Redis/test/Startup.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Redis.Tests/TestConnectionMultiplexer.cs b/src/SignalR/server/Redis/test/TestConnectionMultiplexer.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Redis.Tests/TestConnectionMultiplexer.cs
rename to src/SignalR/server/Redis/test/TestConnectionMultiplexer.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR/GetHttpContextExtensions.cs b/src/SignalR/server/SignalR/src/GetHttpContextExtensions.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR/GetHttpContextExtensions.cs
rename to src/SignalR/server/SignalR/src/GetHttpContextExtensions.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR/HubRouteBuilder.cs b/src/SignalR/server/SignalR/src/HubRouteBuilder.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR/HubRouteBuilder.cs
rename to src/SignalR/server/SignalR/src/HubRouteBuilder.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR/Microsoft.AspNetCore.SignalR.csproj b/src/SignalR/server/SignalR/src/Microsoft.AspNetCore.SignalR.csproj
similarity index 54%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR/Microsoft.AspNetCore.SignalR.csproj
rename to src/SignalR/server/SignalR/src/Microsoft.AspNetCore.SignalR.csproj
index 885b476430..8ead9e77f7 100644
--- a/src/SignalR/src/Microsoft.AspNetCore.SignalR/Microsoft.AspNetCore.SignalR.csproj
+++ b/src/SignalR/server/SignalR/src/Microsoft.AspNetCore.SignalR.csproj
@@ -5,8 +5,8 @@
-
-
+
+
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR/SignalRAppBuilderExtensions.cs b/src/SignalR/server/SignalR/src/SignalRAppBuilderExtensions.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR/SignalRAppBuilderExtensions.cs
rename to src/SignalR/server/SignalR/src/SignalRAppBuilderExtensions.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR/SignalRDependencyInjectionExtensions.cs b/src/SignalR/server/SignalR/src/SignalRDependencyInjectionExtensions.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR/SignalRDependencyInjectionExtensions.cs
rename to src/SignalR/server/SignalR/src/SignalRDependencyInjectionExtensions.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR/SignalRMarkerService.cs b/src/SignalR/server/SignalR/src/SignalRMarkerService.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR/SignalRMarkerService.cs
rename to src/SignalR/server/SignalR/src/SignalRMarkerService.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR/baseline.netcore.json b/src/SignalR/server/SignalR/src/baseline.netcore.json
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR/baseline.netcore.json
rename to src/SignalR/server/SignalR/src/baseline.netcore.json
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/AddSignalRTests.cs b/src/SignalR/server/SignalR/test/AddSignalRTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/AddSignalRTests.cs
rename to src/SignalR/server/SignalR/test/AddSignalRTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/AuthConnectionHandler.cs b/src/SignalR/server/SignalR/test/AuthConnectionHandler.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/AuthConnectionHandler.cs
rename to src/SignalR/server/SignalR/test/AuthConnectionHandler.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/CancellationDisposable.cs b/src/SignalR/server/SignalR/test/CancellationDisposable.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/CancellationDisposable.cs
rename to src/SignalR/server/SignalR/test/CancellationDisposable.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/ClientProxyTests.cs b/src/SignalR/server/SignalR/test/ClientProxyTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/ClientProxyTests.cs
rename to src/SignalR/server/SignalR/test/ClientProxyTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/DefaultHubActivatorTests.cs b/src/SignalR/server/SignalR/test/DefaultHubActivatorTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/DefaultHubActivatorTests.cs
rename to src/SignalR/server/SignalR/test/DefaultHubActivatorTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/DefaultHubLifetimeManagerTests.cs b/src/SignalR/server/SignalR/test/DefaultHubLifetimeManagerTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/DefaultHubLifetimeManagerTests.cs
rename to src/SignalR/server/SignalR/test/DefaultHubLifetimeManagerTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/DefaultTransportFactoryTests.cs b/src/SignalR/server/SignalR/test/DefaultTransportFactoryTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/DefaultTransportFactoryTests.cs
rename to src/SignalR/server/SignalR/test/DefaultTransportFactoryTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/EchoConnectionHandler.cs b/src/SignalR/server/SignalR/test/EchoConnectionHandler.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/EchoConnectionHandler.cs
rename to src/SignalR/server/SignalR/test/EchoConnectionHandler.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/EndToEndTests.cs b/src/SignalR/server/SignalR/test/EndToEndTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/EndToEndTests.cs
rename to src/SignalR/server/SignalR/test/EndToEndTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/HttpHeaderConnectionHandler.cs b/src/SignalR/server/SignalR/test/HttpHeaderConnectionHandler.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/HttpHeaderConnectionHandler.cs
rename to src/SignalR/server/SignalR/test/HttpHeaderConnectionHandler.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/HubConnectionHandlerTestUtils/Hubs.cs b/src/SignalR/server/SignalR/test/HubConnectionHandlerTestUtils/Hubs.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/HubConnectionHandlerTestUtils/Hubs.cs
rename to src/SignalR/server/SignalR/test/HubConnectionHandlerTestUtils/Hubs.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/HubConnectionHandlerTestUtils/Utils.cs b/src/SignalR/server/SignalR/test/HubConnectionHandlerTestUtils/Utils.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/HubConnectionHandlerTestUtils/Utils.cs
rename to src/SignalR/server/SignalR/test/HubConnectionHandlerTestUtils/Utils.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/HubConnectionHandlerTests.cs b/src/SignalR/server/SignalR/test/HubConnectionHandlerTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/HubConnectionHandlerTests.cs
rename to src/SignalR/server/SignalR/test/HubConnectionHandlerTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/HubReflectionHelperTests.cs b/src/SignalR/server/SignalR/test/HubReflectionHelperTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/HubReflectionHelperTests.cs
rename to src/SignalR/server/SignalR/test/HubReflectionHelperTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/Internal/DefaultHubProtocolResolverTests.cs b/src/SignalR/server/SignalR/test/Internal/DefaultHubProtocolResolverTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/Internal/DefaultHubProtocolResolverTests.cs
rename to src/SignalR/server/SignalR/test/Internal/DefaultHubProtocolResolverTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/Internal/TypedClientBuilderTests.cs b/src/SignalR/server/SignalR/test/Internal/TypedClientBuilderTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/Internal/TypedClientBuilderTests.cs
rename to src/SignalR/server/SignalR/test/Internal/TypedClientBuilderTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/MapSignalRTests.cs b/src/SignalR/server/SignalR/test/MapSignalRTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/MapSignalRTests.cs
rename to src/SignalR/server/SignalR/test/MapSignalRTests.cs
diff --git a/src/SignalR/server/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.csproj b/src/SignalR/server/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.csproj
new file mode 100644
index 0000000000..69f6e671e9
--- /dev/null
+++ b/src/SignalR/server/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.csproj
@@ -0,0 +1,38 @@
+
+
+
+ netcoreapp2.2;net461
+
+
+ true
+ win7-x86
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/SerializedHubMessageTests.cs b/src/SignalR/server/SignalR/test/SerializedHubMessageTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/SerializedHubMessageTests.cs
rename to src/SignalR/server/SignalR/test/SerializedHubMessageTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/Startup.cs b/src/SignalR/server/SignalR/test/Startup.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/Startup.cs
rename to src/SignalR/server/SignalR/test/Startup.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/UncreatableHub.cs b/src/SignalR/server/SignalR/test/UncreatableHub.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/UncreatableHub.cs
rename to src/SignalR/server/SignalR/test/UncreatableHub.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/WebSocketsTransportTests.cs b/src/SignalR/server/SignalR/test/WebSocketsTransportTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/WebSocketsTransportTests.cs
rename to src/SignalR/server/SignalR/test/WebSocketsTransportTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/WriteThenCloseConnectionHandler.cs b/src/SignalR/server/SignalR/test/WriteThenCloseConnectionHandler.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/WriteThenCloseConnectionHandler.cs
rename to src/SignalR/server/SignalR/test/WriteThenCloseConnectionHandler.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Specification.Tests/HubLifetimeManagerTestBase.cs b/src/SignalR/server/Specification.Tests/src/HubLifetimeManagerTestBase.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Specification.Tests/HubLifetimeManagerTestBase.cs
rename to src/SignalR/server/Specification.Tests/src/HubLifetimeManagerTestBase.cs
diff --git a/src/SignalR/server/Specification.Tests/src/Microsoft.AspNetCore.SignalR.Specification.Tests.csproj b/src/SignalR/server/Specification.Tests/src/Microsoft.AspNetCore.SignalR.Specification.Tests.csproj
new file mode 100644
index 0000000000..f49bd9ac99
--- /dev/null
+++ b/src/SignalR/server/Specification.Tests/src/Microsoft.AspNetCore.SignalR.Specification.Tests.csproj
@@ -0,0 +1,25 @@
+
+
+
+ Tests for users to verify their own implementations of SignalR types
+ netcoreapp2.2;net461
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Specification.Tests/ScaleoutHubLifetimeManagerTests.cs b/src/SignalR/server/Specification.Tests/src/ScaleoutHubLifetimeManagerTests.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.Specification.Tests/ScaleoutHubLifetimeManagerTests.cs
rename to src/SignalR/server/Specification.Tests/src/ScaleoutHubLifetimeManagerTests.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/AckHandler.cs b/src/SignalR/server/StackExchangeRedis/src/Internal/AckHandler.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/AckHandler.cs
rename to src/SignalR/server/StackExchangeRedis/src/Internal/AckHandler.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/GroupAction.cs b/src/SignalR/server/StackExchangeRedis/src/Internal/GroupAction.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/GroupAction.cs
rename to src/SignalR/server/StackExchangeRedis/src/Internal/GroupAction.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/MessagePackUtil.cs b/src/SignalR/server/StackExchangeRedis/src/Internal/MessagePackUtil.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/MessagePackUtil.cs
rename to src/SignalR/server/StackExchangeRedis/src/Internal/MessagePackUtil.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/RedisChannels.cs b/src/SignalR/server/StackExchangeRedis/src/Internal/RedisChannels.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/RedisChannels.cs
rename to src/SignalR/server/StackExchangeRedis/src/Internal/RedisChannels.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/RedisGroupCommand.cs b/src/SignalR/server/StackExchangeRedis/src/Internal/RedisGroupCommand.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/RedisGroupCommand.cs
rename to src/SignalR/server/StackExchangeRedis/src/Internal/RedisGroupCommand.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/RedisInvocation.cs b/src/SignalR/server/StackExchangeRedis/src/Internal/RedisInvocation.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/RedisInvocation.cs
rename to src/SignalR/server/StackExchangeRedis/src/Internal/RedisInvocation.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/RedisLog.cs b/src/SignalR/server/StackExchangeRedis/src/Internal/RedisLog.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/RedisLog.cs
rename to src/SignalR/server/StackExchangeRedis/src/Internal/RedisLog.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/RedisProtocol.cs b/src/SignalR/server/StackExchangeRedis/src/Internal/RedisProtocol.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/RedisProtocol.cs
rename to src/SignalR/server/StackExchangeRedis/src/Internal/RedisProtocol.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/RedisSubscriptionManager.cs b/src/SignalR/server/StackExchangeRedis/src/Internal/RedisSubscriptionManager.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Internal/RedisSubscriptionManager.cs
rename to src/SignalR/server/StackExchangeRedis/src/Internal/RedisSubscriptionManager.cs
diff --git a/src/SignalR/server/StackExchangeRedis/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis.csproj b/src/SignalR/server/StackExchangeRedis/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis.csproj
new file mode 100644
index 0000000000..1d4e20b74d
--- /dev/null
+++ b/src/SignalR/server/StackExchangeRedis/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis.csproj
@@ -0,0 +1,20 @@
+
+
+
+ Provides scale-out support for ASP.NET Core SignalR using a Redis server and the StackExchange.Redis client.
+ netstandard2.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/RedisDependencyInjectionExtensions.cs b/src/SignalR/server/StackExchangeRedis/src/RedisDependencyInjectionExtensions.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/RedisDependencyInjectionExtensions.cs
rename to src/SignalR/server/StackExchangeRedis/src/RedisDependencyInjectionExtensions.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/RedisHubLifetimeManager.cs b/src/SignalR/server/StackExchangeRedis/src/RedisHubLifetimeManager.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/RedisHubLifetimeManager.cs
rename to src/SignalR/server/StackExchangeRedis/src/RedisHubLifetimeManager.cs
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/RedisOptions.cs b/src/SignalR/server/StackExchangeRedis/src/RedisOptions.cs
similarity index 100%
rename from src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/RedisOptions.cs
rename to src/SignalR/server/StackExchangeRedis/src/RedisOptions.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/Docker.cs b/src/SignalR/server/StackExchangeRedis/test/Docker.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/Docker.cs
rename to src/SignalR/server/StackExchangeRedis/test/Docker.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/EchoHub.cs b/src/SignalR/server/StackExchangeRedis/test/EchoHub.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/EchoHub.cs
rename to src/SignalR/server/StackExchangeRedis/test/EchoHub.cs
diff --git a/src/SignalR/server/StackExchangeRedis/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests.csproj b/src/SignalR/server/StackExchangeRedis/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests.csproj
new file mode 100644
index 0000000000..e53e8b95a3
--- /dev/null
+++ b/src/SignalR/server/StackExchangeRedis/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests.csproj
@@ -0,0 +1,20 @@
+
+
+
+ netcoreapp2.2;net461
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/RedisDependencyInjectionExtensionsTests.cs b/src/SignalR/server/StackExchangeRedis/test/RedisDependencyInjectionExtensionsTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/RedisDependencyInjectionExtensionsTests.cs
rename to src/SignalR/server/StackExchangeRedis/test/RedisDependencyInjectionExtensionsTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/RedisEndToEnd.cs b/src/SignalR/server/StackExchangeRedis/test/RedisEndToEnd.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/RedisEndToEnd.cs
rename to src/SignalR/server/StackExchangeRedis/test/RedisEndToEnd.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/RedisHubLifetimeManagerTests.cs b/src/SignalR/server/StackExchangeRedis/test/RedisHubLifetimeManagerTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/RedisHubLifetimeManagerTests.cs
rename to src/SignalR/server/StackExchangeRedis/test/RedisHubLifetimeManagerTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/RedisProtocolTests.cs b/src/SignalR/server/StackExchangeRedis/test/RedisProtocolTests.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/RedisProtocolTests.cs
rename to src/SignalR/server/StackExchangeRedis/test/RedisProtocolTests.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/RedisServerFixture.cs b/src/SignalR/server/StackExchangeRedis/test/RedisServerFixture.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/RedisServerFixture.cs
rename to src/SignalR/server/StackExchangeRedis/test/RedisServerFixture.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/SkipIfDockerNotPresentAttribute.cs b/src/SignalR/server/StackExchangeRedis/test/SkipIfDockerNotPresentAttribute.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/SkipIfDockerNotPresentAttribute.cs
rename to src/SignalR/server/StackExchangeRedis/test/SkipIfDockerNotPresentAttribute.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/Startup.cs b/src/SignalR/server/StackExchangeRedis/test/Startup.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/Startup.cs
rename to src/SignalR/server/StackExchangeRedis/test/Startup.cs
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/TestConnectionMultiplexer.cs b/src/SignalR/server/StackExchangeRedis/test/TestConnectionMultiplexer.cs
similarity index 100%
rename from src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/TestConnectionMultiplexer.cs
rename to src/SignalR/server/StackExchangeRedis/test/TestConnectionMultiplexer.cs
diff --git a/src/SignalR/src/Directory.Build.props b/src/SignalR/src/Directory.Build.props
deleted file mode 100644
index b484e85b5e..0000000000
--- a/src/SignalR/src/Directory.Build.props
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
- $(NoWarn);CS1591
- true
- aspnetcore;signalr
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Microsoft.AspNetCore.Http.Connections.Client.csproj b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Microsoft.AspNetCore.Http.Connections.Client.csproj
deleted file mode 100644
index 2c330f24b5..0000000000
--- a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Client/Microsoft.AspNetCore.Http.Connections.Client.csproj
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
- Client for ASP.NET Core Connection Handlers
- netstandard2.0;netcoreapp2.2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Common/Microsoft.AspNetCore.Http.Connections.Common.csproj b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Common/Microsoft.AspNetCore.Http.Connections.Common.csproj
deleted file mode 100644
index d398daf38c..0000000000
--- a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections.Common/Microsoft.AspNetCore.Http.Connections.Common.csproj
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
- Common primitives for ASP.NET Connection Handlers and clients
- netstandard2.0
- Microsoft.AspNetCore.Http.Connections
- true
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Microsoft.AspNetCore.Http.Connections.csproj b/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Microsoft.AspNetCore.Http.Connections.csproj
deleted file mode 100644
index 53b5b2e1ef..0000000000
--- a/src/SignalR/src/Microsoft.AspNetCore.Http.Connections/Microsoft.AspNetCore.Http.Connections.csproj
+++ /dev/null
@@ -1,38 +0,0 @@
-
-
-
- Components for providing real-time bi-directional communication across the Web.
- netstandard2.0;netcoreapp2.2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/Microsoft.AspNetCore.SignalR.Client.Core.csproj b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/Microsoft.AspNetCore.SignalR.Client.Core.csproj
deleted file mode 100644
index 8cbe6845a4..0000000000
--- a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client.Core/Microsoft.AspNetCore.SignalR.Client.Core.csproj
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
- Client for ASP.NET Core SignalR
- netstandard2.0
- Microsoft.AspNetCore.SignalR.Client
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client/Microsoft.AspNetCore.SignalR.Client.csproj b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client/Microsoft.AspNetCore.SignalR.Client.csproj
deleted file mode 100644
index ed9c13e792..0000000000
--- a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Client/Microsoft.AspNetCore.SignalR.Client.csproj
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
- Client for ASP.NET Core SignalR
- netstandard2.0
-
-
-
-
-
-
-
-
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Microsoft.AspNetCore.SignalR.Common.csproj b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Microsoft.AspNetCore.SignalR.Common.csproj
deleted file mode 100644
index 8130586cf1..0000000000
--- a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Common/Microsoft.AspNetCore.SignalR.Common.csproj
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
- Common serialiation primitives for SignalR Clients Servers
- netstandard2.0;netcoreapp2.2
- Microsoft.AspNetCore.SignalR
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Microsoft.AspNetCore.SignalR.Core.csproj b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Microsoft.AspNetCore.SignalR.Core.csproj
deleted file mode 100644
index 728a93a055..0000000000
--- a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Core/Microsoft.AspNetCore.SignalR.Core.csproj
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
- Real-time communication framework for ASP.NET Core.
- netstandard2.0
- Microsoft.AspNetCore.SignalR
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.Json/Microsoft.AspNetCore.SignalR.Protocols.Json.csproj b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.Json/Microsoft.AspNetCore.SignalR.Protocols.Json.csproj
deleted file mode 100644
index 47f37af697..0000000000
--- a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.Json/Microsoft.AspNetCore.SignalR.Protocols.Json.csproj
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
- Implements the SignalR Hub Protocol over JSON.
- netstandard2.0
- Microsoft.AspNetCore.SignalR
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.MessagePack/Microsoft.AspNetCore.SignalR.Protocols.MessagePack.csproj b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.MessagePack/Microsoft.AspNetCore.SignalR.Protocols.MessagePack.csproj
deleted file mode 100644
index f92a2c9aad..0000000000
--- a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Protocols.MessagePack/Microsoft.AspNetCore.SignalR.Protocols.MessagePack.csproj
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
- Implements the SignalR Hub Protocol over MsgPack.
- netstandard2.0
- Microsoft.AspNetCore.SignalR
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Redis/Microsoft.AspNetCore.SignalR.Redis.csproj b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Redis/Microsoft.AspNetCore.SignalR.Redis.csproj
deleted file mode 100644
index 8862770b75..0000000000
--- a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Redis/Microsoft.AspNetCore.SignalR.Redis.csproj
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
- Redis for ASP.NET Core SignalR.
- netstandard2.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Specification.Tests/Microsoft.AspNetCore.SignalR.Specification.Tests.csproj b/src/SignalR/src/Microsoft.AspNetCore.SignalR.Specification.Tests/Microsoft.AspNetCore.SignalR.Specification.Tests.csproj
deleted file mode 100644
index c5745d4d84..0000000000
--- a/src/SignalR/src/Microsoft.AspNetCore.SignalR.Specification.Tests/Microsoft.AspNetCore.SignalR.Specification.Tests.csproj
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
- Tests for users to verify their own implementations of SignalR types
- netcoreapp2.2;net461
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Microsoft.AspNetCore.SignalR.StackExchangeRedis.csproj b/src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Microsoft.AspNetCore.SignalR.StackExchangeRedis.csproj
deleted file mode 100644
index f1fabc764b..0000000000
--- a/src/SignalR/src/Microsoft.AspNetCore.SignalR.StackExchangeRedis/Microsoft.AspNetCore.SignalR.StackExchangeRedis.csproj
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
- Provides scale-out support for ASP.NET Core SignalR using a Redis server and the StackExchange.Redis client.
- netstandard2.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/SignalR/startvs.cmd b/src/SignalR/startvs.cmd
new file mode 100644
index 0000000000..f5faa83216
--- /dev/null
+++ b/src/SignalR/startvs.cmd
@@ -0,0 +1,3 @@
+@ECHO OFF
+
+%~dp0..\..\startvs.cmd %~dp0SignalR.sln
diff --git a/src/SignalR/test/Directory.Build.props b/src/SignalR/test/Directory.Build.props
deleted file mode 100644
index ae9c6b5322..0000000000
--- a/src/SignalR/test/Directory.Build.props
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
- win7-x86
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/Microsoft.AspNetCore.Http.Connections.Tests.csproj b/src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/Microsoft.AspNetCore.Http.Connections.Tests.csproj
deleted file mode 100644
index e6ab513627..0000000000
--- a/src/SignalR/test/Microsoft.AspNetCore.Http.Connections.Tests/Microsoft.AspNetCore.Http.Connections.Tests.csproj
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
- netcoreapp2.2;net461
- win7-x86
-
-
-
-
-
- PreserveNewest
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/Microsoft.AspNetCore.SignalR.Client.FunctionalTests.csproj b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/Microsoft.AspNetCore.SignalR.Client.FunctionalTests.csproj
deleted file mode 100644
index 4335eb6b51..0000000000
--- a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.FunctionalTests/Microsoft.AspNetCore.SignalR.Client.FunctionalTests.csproj
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
- netcoreapp2.2;net461
-
-
-
-
-
-
-
-
- PreserveNewest
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/Microsoft.AspNetCore.SignalR.Client.Tests.csproj b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/Microsoft.AspNetCore.SignalR.Client.Tests.csproj
deleted file mode 100644
index 8d157804f5..0000000000
--- a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Client.Tests/Microsoft.AspNetCore.SignalR.Client.Tests.csproj
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
- netcoreapp2.2;net461
-
-
-
-
-
-
-
-
-
-
- PreserveNewest
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Microsoft.AspNetCore.SignalR.Common.Tests.csproj b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Microsoft.AspNetCore.SignalR.Common.Tests.csproj
deleted file mode 100644
index 1a8439ce84..0000000000
--- a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Common.Tests/Microsoft.AspNetCore.SignalR.Common.Tests.csproj
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
- netcoreapp2.2;net461
-
-
-
-
-
-
-
-
-
- PreserveNewest
-
-
-
-
-
-
-
-
-
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Redis.Tests/Microsoft.AspNetCore.SignalR.Redis.Tests.csproj b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Redis.Tests/Microsoft.AspNetCore.SignalR.Redis.Tests.csproj
deleted file mode 100644
index 904119c783..0000000000
--- a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Redis.Tests/Microsoft.AspNetCore.SignalR.Redis.Tests.csproj
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
- netcoreapp2.2;net461
-
-
-
-
- PreserveNewest
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests.csproj b/src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests.csproj
deleted file mode 100644
index 3c697cf74e..0000000000
--- a/src/SignalR/test/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests/Microsoft.AspNetCore.SignalR.StackExchangeRedis.Tests.csproj
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
- netcoreapp2.2;net461
-
-
-
-
- PreserveNewest
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/Microsoft.AspNetCore.SignalR.Tests.Utils.csproj b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/Microsoft.AspNetCore.SignalR.Tests.Utils.csproj
deleted file mode 100644
index 0a65aa5a9c..0000000000
--- a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests.Utils/Microsoft.AspNetCore.SignalR.Tests.Utils.csproj
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
- netcoreapp2.2;net461
- Microsoft.AspNetCore.SignalR.Tests
- $(DefineConstants);TESTUTILS
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/Microsoft.AspNetCore.SignalR.Tests.csproj b/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/Microsoft.AspNetCore.SignalR.Tests.csproj
deleted file mode 100644
index 0c5b0b7536..0000000000
--- a/src/SignalR/test/Microsoft.AspNetCore.SignalR.Tests/Microsoft.AspNetCore.SignalR.Tests.csproj
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
- netcoreapp2.2;net461
-
-
- true
- win7-x86
-
-
-
-
-
-
-
-
- PreserveNewest
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/SignalR/version.props b/src/SignalR/version.props
deleted file mode 100644
index dc9ebfc939..0000000000
--- a/src/SignalR/version.props
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
- 1.1.0
- 1.0.0
- rtm
- $(VersionPrefix)
- $(VersionPrefix)-$(VersionSuffix)-final
- t000
- $(JavaVersionPrefix)-$(VersionSuffix)-$(BuildNumber)
- $(JavaVersionPrefix)-$(VersionSuffix)
- $(JavaVersionPrefix)-$(VersionSuffix)-final
- a-
- $(FeatureBranchVersionPrefix)$(VersionSuffix)-$([System.Text.RegularExpressions.Regex]::Replace('$(FeatureBranchVersionSuffix)', '[^\w-]', '-'))
- $(VersionSuffix)-$(BuildNumber)
-
-
diff --git a/src/SignalR/test/xunit.runner.json b/src/SignalR/xunit.runner.json
similarity index 100%
rename from src/SignalR/test/xunit.runner.json
rename to src/SignalR/xunit.runner.json