From 9d0c69f277ab8e46f4e216a0bdcbb4d2ceaa993a Mon Sep 17 00:00:00 2001
From: Nate McMaster <nate.mcmaster@microsoft.com>
Date: Wed, 14 Nov 2018 09:49:54 -0800
Subject: [PATCH] Reorganize source code in preparation to move into
 aspnet/AspNetCore

Prior to reorganization, this source code was found in https://github.com/aspnet/CodeGenerator/tree/15ba5065a9b220f545eb3118d9e552f0b7e824d0
---
 .appveyor.yml                                 |  13 -
 .gitattributes                                |  52 ---
 .gitignore                                    |  37 --
 .travis.yml                                   |  27 --
 .vscode/extensions.json                       |   8 -
 .vscode/launch.json                           | 103 -----
 .vscode/settings.json                         |  10 -
 .vscode/tasks.json                            | 117 -----
 CONTRIBUTING.md                               |   4 -
 Directory.Build.props                         |  21 -
 Directory.Build.targets                       |   7 -
 KestrelHttpServer.sln                         | 412 ------------------
 LICENSE.txt                                   |  14 -
 NuGet.config                                  |   7 -
 NuGetPackageVerifier.json                     |  13 -
 README.md                                     |  42 --
 ToProjectReferences.ps1                       |  45 --
 .../Kestrel.Performance.csproj                |  29 --
 build.cmd                                     |   2 -
 build.sh                                      |   8 -
 build/Key.snk                                 | Bin 596 -> 0 bytes
 build/buildpipeline/linux.groovy              |  10 -
 build/buildpipeline/osx.groovy                |  10 -
 build/buildpipeline/pipeline.groovy           |  18 -
 build/buildpipeline/windows.groovy            |  12 -
 build/dependencies.props                      |  58 ---
 build/repo.props                              |  16 -
 build/repo.targets                            |  17 -
 build/sources.props                           |  18 -
 korebuild-lock.txt                            |   2 -
 korebuild.json                                |   4 -
 run.cmd                                       |   2 -
 run.ps1                                       | 208 ---------
 run.sh                                        | 245 -----------
 .../Connections.Abstractions.csproj           |  19 -
 src/Directory.Build.props                     |  13 -
 src/Kestrel.Core/Kestrel.Core.csproj          |  43 --
 .../Kestrel.Transport.Libuv.csproj            |  25 --
 src/Kestrel/Kestrel.csproj                    |  23 -
 .../src}/ConnectionBuilder.cs                 |   0
 .../src}/ConnectionBuilderExtensions.cs       |   0
 .../src}/ConnectionContext.cs                 |   0
 .../src}/ConnectionDelegate.cs                |   0
 .../src}/ConnectionHandler.cs                 |   0
 .../src}/ConnectionItems.cs                   |   0
 .../src}/DefaultConnectionContext.cs          |   0
 .../src}/Exceptions/AddressInUseException.cs  |   0
 .../Exceptions/ConnectionAbortedException.cs  |   0
 .../Exceptions/ConnectionResetException.cs    |   0
 .../Features/IConnectionHeartbeatFeature.cs   |   0
 .../src}/Features/IConnectionIdFeature.cs     |   0
 .../IConnectionInherentKeepAliveFeature.cs    |   0
 .../src}/Features/IConnectionItemsFeature.cs  |   0
 .../Features/IConnectionLifetimeFeature.cs    |   0
 .../Features/IConnectionTransportFeature.cs   |   0
 .../src}/Features/IConnectionUserFeature.cs   |   0
 .../src}/Features/IMemoryPoolFeature.cs       |   0
 .../src}/Features/ITransferFormatFeature.cs   |   0
 .../src}/IConnectionBuilder.cs                |   0
 ...AspNetCore.Connections.Abstractions.csproj |  17 +
 .../src}/TransferFormat.cs                    |   0
 .../src}/baseline.netcore.json                |   0
 src/Servers/Directory.Build.props             |   9 +
 .../src}/Adapter/Internal/AdaptedPipeline.cs  |   0
 .../Internal/ConnectionAdapterContext.cs      |   0
 .../Adapter/Internal/IAdaptedConnection.cs    |   0
 .../Adapter/Internal/IConnectionAdapter.cs    |   0
 .../Internal/LoggingConnectionAdapter.cs      |   0
 .../src}/Adapter/Internal/LoggingStream.cs    |   0
 .../Core/src}/Adapter/Internal/RawStream.cs   |   0
 ...istenOptionsConnectionLoggingExtensions.cs |   0
 .../Kestrel/Core/src}/AnyIPListenOptions.cs   |   0
 .../Core/src}/BadHttpRequestException.cs      |   0
 .../Core/src}/ClientCertificateMode.cs        |   0
 .../Kestrel/Core/src}/CoreStrings.resx        |   0
 .../Core/src}/EndpointConfiguration.cs        |   0
 .../Features/IConnectionTimeoutFeature.cs     |   0
 ...crementConcurrentConnectionCountFeature.cs |   0
 .../src}/Features/IHttp2StreamIdFeature.cs    |   0
 .../IHttpMinRequestBodyDataRateFeature.cs     |   0
 .../IHttpMinResponseDataRateFeature.cs        |   0
 .../ITlsApplicationProtocolFeature.cs         |   0
 .../Kestrel/Core/src}/HttpProtocols.cs        |   0
 .../src}/HttpsConnectionAdapterOptions.cs     |   0
 .../Core/src}/Internal/AddressBindContext.cs  |   0
 .../Core/src}/Internal/AddressBinder.cs       |   0
 .../Core/src}/Internal/BufferReader.cs        |   0
 .../Core/src}/Internal/BufferWriter.cs        |   0
 .../Core/src}/Internal/CertificateLoader.cs   |   0
 .../Core/src}/Internal/ClosedStream.cs        |   0
 .../Core/src}/Internal/ConfigurationReader.cs |   0
 .../src}/Internal/ConnectionDispatcher.cs     |   0
 .../Internal/ConnectionLimitMiddleware.cs     |   0
 .../Core/src}/Internal/ConnectionLogScope.cs  |   0
 .../Kestrel/Core/src}/Internal/DuplexPipe.cs  |   0
 .../Core/src}/Internal/Http/ChunkWriter.cs    |   0
 .../src}/Internal/Http/ConnectionOptions.cs   |   0
 .../Internal/Http/DateHeaderValueManager.cs   |   0
 .../Http/Http1Connection.FeatureCollection.cs |   0
 .../src}/Internal/Http/Http1Connection.cs     |   0
 .../Internal/Http/Http1ConnectionContext.cs   |   0
 .../src}/Internal/Http/Http1MessageBody.cs    |   0
 .../src}/Internal/Http/Http1OutputProducer.cs |   0
 .../src}/Internal/Http/Http1ParsingHandler.cs |   0
 .../Internal/Http/HttpHeaders.Generated.cs    |   0
 .../Core/src}/Internal/Http/HttpHeaders.cs    |   0
 .../Core/src}/Internal/Http/HttpMethod.cs     |   0
 .../Core/src}/Internal/Http/HttpParser.cs     |   0
 .../Http/HttpProtocol.FeatureCollection.cs    |   0
 .../Internal/Http/HttpProtocol.Generated.cs   |   0
 .../Core/src}/Internal/Http/HttpProtocol.cs   |   0
 .../src}/Internal/Http/HttpRequestHeaders.cs  |   0
 .../src}/Internal/Http/HttpRequestStream.cs   |   0
 .../Internal/Http/HttpRequestTargetForm.cs    |   0
 .../src}/Internal/Http/HttpResponseHeaders.cs |   0
 .../src}/Internal/Http/HttpResponseStream.cs  |   0
 .../Core/src}/Internal/Http/HttpScheme.cs     |   0
 .../src}/Internal/Http/HttpStreamState.cs     |   0
 .../src}/Internal/Http/HttpUpgradeStream.cs   |   0
 .../Core/src}/Internal/Http/HttpVersion.cs    |   0
 .../src}/Internal/Http/IHttpHeadersHandler.cs |   0
 .../src}/Internal/Http/IHttpOutputProducer.cs |   0
 .../Core/src}/Internal/Http/IHttpParser.cs    |   0
 .../Internal/Http/IHttpProtocolContext.cs     |   0
 .../Internal/Http/IHttpRequestLineHandler.cs  |   0
 .../Internal/Http/IHttpResponseControl.cs     |   0
 .../Core/src}/Internal/Http/MessageBody.cs    |   0
 .../Core/src}/Internal/Http/PathNormalizer.cs |   0
 .../src}/Internal/Http/PipelineExtensions.cs  |   0
 .../Core/src}/Internal/Http/ProduceEndType.cs |   0
 .../Core/src}/Internal/Http/ReasonPhrases.cs  |   0
 .../Internal/Http/RequestProcessingStatus.cs  |   0
 .../Internal/Http/RequestRejectionReason.cs   |   0
 .../Core/src}/Internal/Http/TransferCoding.cs |   0
 .../Core/src}/Internal/Http/UrlDecoder.cs     |   0
 .../src}/Internal/Http2/HPack/DynamicTable.cs |   0
 .../src}/Internal/Http2/HPack/HPackDecoder.cs |   0
 .../Http2/HPack/HPackDecodingException.cs     |   0
 .../src}/Internal/Http2/HPack/HPackEncoder.cs |   0
 .../src}/Internal/Http2/HPack/HeaderField.cs  |   0
 .../Core/src}/Internal/Http2/HPack/Huffman.cs |   0
 .../Http2/HPack/HuffmanDecodingException.cs   |   0
 .../Internal/Http2/HPack/IntegerDecoder.cs    |   0
 .../Internal/Http2/HPack/IntegerEncoder.cs    |   0
 .../src}/Internal/Http2/HPack/StaticTable.cs  |   0
 .../src}/Internal/Http2/HPack/StatusCodes.cs  |   0
 .../src}/Internal/Http2/Http2Connection.cs    |   0
 .../Internal/Http2/Http2ConnectionContext.cs  |   0
 .../Http2/Http2ConnectionErrorException.cs    |   0
 .../Http2/Http2ContinuationFrameFlags.cs      |   0
 .../Internal/Http2/Http2DataFrameFlags.cs     |   0
 .../src}/Internal/Http2/Http2ErrorCode.cs     |   0
 .../Internal/Http2/Http2Frame.Continuation.cs |   0
 .../src}/Internal/Http2/Http2Frame.Data.cs    |   0
 .../src}/Internal/Http2/Http2Frame.GoAway.cs  |   0
 .../src}/Internal/Http2/Http2Frame.Headers.cs |   0
 .../src}/Internal/Http2/Http2Frame.Ping.cs    |   0
 .../Internal/Http2/Http2Frame.Priority.cs     |   0
 .../Internal/Http2/Http2Frame.RstStream.cs    |   0
 .../Internal/Http2/Http2Frame.Settings.cs     |   0
 .../Internal/Http2/Http2Frame.WindowUpdate.cs |   0
 .../Core/src}/Internal/Http2/Http2Frame.cs    |   0
 .../src}/Internal/Http2/Http2FrameReader.cs   |   0
 .../src}/Internal/Http2/Http2FrameType.cs     |   0
 .../src}/Internal/Http2/Http2FrameWriter.cs   |   0
 .../Internal/Http2/Http2HeadersFrameFlags.cs  |   0
 .../src}/Internal/Http2/Http2MessageBody.cs   |   0
 .../Internal/Http2/Http2OutputProducer.cs     |   0
 .../src}/Internal/Http2/Http2PeerSetting.cs   |   0
 .../src}/Internal/Http2/Http2PeerSettings.cs  |   0
 .../Internal/Http2/Http2PingFrameFlags.cs     |   0
 .../Internal/Http2/Http2SettingsFrameFlags.cs |   0
 .../Internal/Http2/Http2SettingsParameter.cs  |   0
 ...tp2SettingsParameterOutOfRangeException.cs |   0
 .../Http2/Http2Stream.FeatureCollection.cs    |   0
 .../Core/src}/Internal/Http2/Http2Stream.cs   |   0
 .../src}/Internal/Http2/Http2StreamContext.cs |   0
 .../Http2/Http2StreamErrorException.cs        |   0
 .../src}/Internal/Http2/IHttp2FrameWriter.cs  |   0
 .../Http2/IHttp2StreamLifetimeHandler.cs      |   0
 .../Core/src}/Internal/HttpConnection.cs      |   0
 .../HttpConnectionBuilderExtensions.cs        |   0
 .../src}/Internal/HttpConnectionContext.cs    |   0
 .../src}/Internal/HttpConnectionMiddleware.cs |   0
 .../src}/Internal/HttpsConnectionAdapter.cs   |   0
 .../Core/src}/Internal/IRequestProcessor.cs   |   0
 .../CancellationTokenExtensions.cs            |   0
 .../src}/Internal/Infrastructure/Constants.cs |   0
 .../Infrastructure/CorrelationIdGenerator.cs  |   0
 .../Infrastructure/DebuggerWrapper.cs         |   0
 .../Internal/Infrastructure/Disposable.cs     |   0
 .../Infrastructure/DisposableAction.cs        |   0
 .../src}/Internal/Infrastructure/Heartbeat.cs |   0
 .../Infrastructure/HttpConnectionManager.cs   |   0
 ...HttpConnectionManagerShutdownExtensions.cs |   0
 .../Infrastructure/HttpConnectionReference.cs |   0
 .../Infrastructure/HttpHeartbeatManager.cs    |   0
 .../Infrastructure/HttpUtilities.Generated.cs |   0
 .../Internal/Infrastructure/HttpUtilities.cs  |   0
 .../src}/Internal/Infrastructure/IDebugger.cs |   0
 .../Infrastructure/IHeartbeatHandler.cs       |   0
 .../Internal/Infrastructure/IKestrelTrace.cs  |   0
 .../Internal/Infrastructure/ISystemClock.cs   |   0
 .../Infrastructure/ITimeoutControl.cs         |   0
 .../Infrastructure/KestrelEventSource.cs      |   0
 .../Internal/Infrastructure/KestrelTrace.cs   |   0
 .../Internal/Infrastructure/ReadOnlyStream.cs |   0
 .../Infrastructure/ResourceCounter.cs         |   0
 .../StackTraceHiddenAttribute.cs              |   0
 .../src}/Internal/Infrastructure/Streams.cs   |   0
 .../Infrastructure/StringUtilities.cs         |   0
 .../Internal/Infrastructure/SystemClock.cs    |   0
 .../Infrastructure/ThrowingWriteOnlyStream.cs |   0
 .../Internal/Infrastructure/TimeoutAction.cs  |   0
 .../Internal/Infrastructure/UriUtilities.cs   |   0
 .../Internal/Infrastructure/WrappingStream.cs |   0
 .../Infrastructure/WriteOnlyStream.cs         |   0
 .../Internal/KestrelServerOptionsSetup.cs     |   0
 .../Core/src}/Internal/LoggerExtensions.cs    |   0
 .../src}/Internal/ServerAddressesFeature.cs   |   0
 .../Core/src}/Internal/ServiceContext.cs      |   0
 .../src}/Internal/TlsConnectionFeature.cs     |   0
 .../Core/src}/KestrelConfigurationLoader.cs   |   0
 .../Kestrel/Core/src}/KestrelServer.cs        |   0
 .../Kestrel/Core/src}/KestrelServerLimits.cs  |   0
 .../Kestrel/Core/src}/KestrelServerOptions.cs |   0
 .../Kestrel/Core/src}/ListenOptions.cs        |   0
 .../Core/src}/ListenOptionsHttpsExtensions.cs |   0
 .../Core/src}/LocalhostListenOptions.cs       |   0
 ...soft.AspNetCore.Server.Kestrel.Core.csproj |  38 ++
 .../Kestrel/Core/src}/MinDataRate.cs          |   0
 .../Core/src}/Properties/AssemblyInfo.cs      |   2 +-
 .../src}/Properties/CoreStrings.Designer.cs   |   0
 .../Kestrel/Core/src}/ServerAddress.cs        |   0
 .../KestrelServerOptionsSystemdExtensions.cs  |   0
 .../Kestrel/Core/src}/baseline.netcore.json   |   0
 .../Kestrel/Core/test}/AddressBinderTests.cs  |   0
 .../Kestrel/Core/test}/AsciiDecoding.cs       |   0
 .../Kestrel/Core/test}/BufferReaderTests.cs   |   0
 .../Kestrel/Core/test}/BufferWriterTests.cs   |   0
 .../Kestrel/Core/test}/ChunkWriterTests.cs    |   0
 .../Core/test}/ConnectionDispatcherTests.cs   |   0
 .../Core/test}/DateHeaderValueManagerTests.cs |   0
 .../Kestrel/Core/test}/DynamicTableTests.cs   |   0
 .../Kestrel/Core/test}/HPackDecoderTests.cs   |   0
 .../Kestrel/Core/test}/HPackEncoderTests.cs   |   0
 .../Kestrel/Core/test}/HeartbeatTests.cs      |   0
 .../Core/test}/Http1ConnectionTests.cs        |   0
 .../Core/test}/Http2ConnectionTests.cs        |   0
 .../Core/test}/HttpConnectionManagerTests.cs  |   0
 .../Kestrel/Core/test}/HttpConnectionTests.cs |   0
 .../Kestrel/Core/test}/HttpHeadersTests.cs    |   0
 .../Kestrel/Core/test}/HttpParserTests.cs     |   0
 .../HttpProtocolFeatureCollectionTests.cs     |   0
 .../Core/test}/HttpRequestHeadersTests.cs     |   0
 .../Core/test}/HttpRequestStreamTests.cs      |   0
 .../Core/test}/HttpResponseHeadersTests.cs    |   0
 .../Core/test}/HttpResponseStreamTests.cs     |   0
 .../Kestrel/Core/test}/HttpUtilitiesTest.cs   |   0
 .../Kestrel/Core/test}/HuffmanTests.cs        |   0
 .../Kestrel/Core/test}/IntegerDecoderTests.cs |   0
 .../Kestrel/Core/test}/IntegerEncoderTests.cs |   0
 .../Core/test}/KestrelEventSourceTests.cs     |   0
 .../Core/test}/KestrelServerLimitsTests.cs    |   0
 .../Core/test}/KestrelServerOptionsTests.cs   |   0
 .../Kestrel/Core/test}/KestrelServerTests.cs  |   0
 .../Kestrel/Core/test}/KnownStringsTests.cs   |   0
 .../Kestrel/Core/test}/ListenOptionsTests.cs  |   0
 .../Kestrel/Core/test}/MessageBodyTests.cs    |   0
 ...spNetCore.Server.Kestrel.Core.Tests.csproj |  23 +
 .../Kestrel/Core/test}/MinDataRateTests.cs    |   0
 .../Kestrel/Core/test}/OutputProducerTests.cs |   0
 .../Kestrel/Core/test}/PathNormalizerTests.cs |   0
 .../Kestrel/Core/test}/PipeOptionsTests.cs    |   0
 .../Core/test}/PipelineExtensionTests.cs      |   0
 .../Kestrel/Core/test}/ReasonPhrasesTests.cs  |   0
 .../Core/test}/ResourceCounterTests.cs        |   0
 .../Kestrel/Core/test}/ServerAddressTests.cs  |   0
 .../Kestrel/Core/test}/StreamsTests.cs        |   0
 .../Core/test}/StringUtilitiesTests.cs        |   0
 .../test}/TestHelpers/AssertExtensions.cs     |   0
 .../TestHelpers/MockHttpResponseControl.cs    |   0
 .../Servers/Kestrel/Core/test}/TestInput.cs   |   0
 .../test}/ThrowingWriteOnlyStreamTests.cs     |   0
 src/Servers/Kestrel/Directory.Build.props     |  25 ++
 ...ft.AspNetCore.Server.Kestrel.Https.csproj} |   9 +-
 .../Https/src}/Properties/AssemblyInfo.cs     |   0
 .../Kestrel/Https/src}/baseline.netcore.json  |   0
 ...Microsoft.AspNetCore.Server.Kestrel.csproj |  18 +
 .../src}/WebHostBuilderKestrelExtensions.cs   |   0
 .../Kestrel/src}/baseline.netcore.json        |   0
 .../Kestrel/test}/ConfigurationReaderTests.cs |   0
 .../test}/KestrelConfigurationBuilderTests.cs |   0
 ...oft.AspNetCore.Server.Kestrel.Tests.csproj |  17 +
 .../WebHostBuilderKestrelExtensionsTests.cs   |   0
 src/Servers/Kestrel/README.md                 |   8 +
 .../src}/Internal/FileHandleType.cs           |   0
 .../Internal/IApplicationTransportFeature.cs  |   0
 .../src}/Internal/IBytesWrittenFeature.cs     |   0
 .../src}/Internal/IConnectionDispatcher.cs    |   0
 .../src}/Internal/IEndPointInformation.cs     |   0
 .../src}/Internal/ITransport.cs               |   0
 .../src}/Internal/ITransportFactory.cs        |   0
 .../Internal/ITransportSchedulerFeature.cs    |   0
 .../src}/Internal/KestrelMemoryPool.cs        |   0
 .../src}/Internal/ListenType.cs               |   0
 .../src}/Internal/MemoryPoolBlock.Debug.cs    |   0
 .../src}/Internal/MemoryPoolBlock.Release.cs  |   0
 .../src}/Internal/MemoryPoolSlab.cs           |   0
 .../src}/Internal/SchedulingMode.cs           |   0
 .../src}/Internal/SlabMemoryPool.cs           |   0
 .../Internal/TransportConnection.Features.cs  |   0
 .../src}/Internal/TransportConnection.cs      |   0
 ...ver.Kestrel.Transport.Abstractions.csproj} |   6 +-
 .../src}/baseline.netcore.json                |   0
 .../src}/Internal/IAsyncDisposable.cs         |   0
 .../src}/Internal/ILibuvTrace.cs              |   0
 .../src}/Internal/LibuvAwaitable.cs           |   0
 .../src}/Internal/LibuvConnection.cs          |   0
 .../src}/Internal/LibuvConstants.cs           |   0
 .../src}/Internal/LibuvOutputConsumer.cs      |   0
 .../src}/Internal/LibuvThread.cs              |   0
 .../src}/Internal/LibuvTrace.cs               |   0
 .../src}/Internal/LibuvTransport.cs           |   0
 .../src}/Internal/LibuvTransportContext.cs    |   0
 .../src}/Internal/LibuvTransportFactory.cs    |   0
 .../Transport.Libuv/src}/Internal/Listener.cs |   0
 .../src}/Internal/ListenerContext.cs          |   0
 .../src}/Internal/ListenerPrimary.cs          |   0
 .../src}/Internal/ListenerSecondary.cs        |   0
 .../Internal/Networking/LibuvFunctions.cs     |   0
 .../src}/Internal/Networking/PlatformApis.cs  |   0
 .../src}/Internal/Networking/SockAddr.cs      |   0
 .../src}/Internal/Networking/UvAsyncHandle.cs |   0
 .../Internal/Networking/UvConnectRequest.cs   |   0
 .../src}/Internal/Networking/UvException.cs   |   0
 .../src}/Internal/Networking/UvHandle.cs      |   0
 .../src}/Internal/Networking/UvLoopHandle.cs  |   0
 .../src}/Internal/Networking/UvMemory.cs      |   0
 .../src}/Internal/Networking/UvPipeHandle.cs  |   0
 .../src}/Internal/Networking/UvRequest.cs     |   0
 .../Internal/Networking/UvStreamHandle.cs     |   0
 .../src}/Internal/Networking/UvTcpHandle.cs   |   0
 .../src}/Internal/Networking/UvTimerHandle.cs |   0
 .../src}/Internal/Networking/UvWriteReq.cs    |   0
 .../src}/Internal/WriteReqPool.cs             |   0
 .../src}/LibuvTransportOptions.cs             |   0
 ...Core.Server.Kestrel.Transport.Libuv.csproj |  20 +
 .../src}/WebHostBuilderLibuvExtensions.cs     |   0
 .../src}/baseline.netcore.json                |   0
 .../src}/breakingchanges.netcore.json         |   0
 .../test}/LibuvConnectionTests.cs             |   0
 .../test}/LibuvOutputConsumerTests.cs         |   0
 .../Transport.Libuv/test}/LibuvThreadTests.cs |   0
 .../test}/LibuvTransportFactoryTests.cs       |   0
 .../test}/LibuvTransportOptionsTests.cs       |   0
 .../test}/LibuvTransportTests.cs              |   0
 .../test}/ListenerPrimaryTests.cs             |   0
 ...erver.Kestrel.Transport.Libuv.Tests.csproj |  20 +
 .../test}/MultipleLoopTests.cs                |   0
 .../Transport.Libuv/test}/NetworkingTests.cs  |   0
 .../TestHelpers/MockConnectionDispatcher.cs   |   0
 .../test}/TestHelpers/MockLibuv.cs            |   0
 .../test}/TestHelpers/MockSocket.cs           |   0
 .../TestHelpers/TestLibuvTransportContext.cs  |   0
 .../test}/UvStreamHandleTests.cs              |   0
 .../test}/UvTimerHandleTests.cs               |   0
 .../src}/Internal/BufferExtensions.cs         |   0
 .../src}/Internal/IOQueue.cs                  |   0
 .../src}/Internal/ISocketsTrace.cs            |   0
 .../src}/Internal/SocketAwaitable.cs          |   0
 .../src}/Internal/SocketConnection.cs         |   0
 .../src}/Internal/SocketReceiver.cs           |   0
 .../src}/Internal/SocketSender.cs             |   0
 .../src}/Internal/SocketsTrace.cs             |   0
 ...e.Server.Kestrel.Transport.Sockets.csproj} |  11 +-
 .../Properties/SocketsStrings.Designer.cs     |   0
 .../Transport.Sockets/src}/SocketTransport.cs |   0
 .../src}/SocketTransportFactory.cs            |   0
 .../src}/SocketTransportOptions.cs            |   0
 .../src}/SocketsStrings.resx                  |   0
 .../src}/WebHostBuilderSocketExtensions.cs    |   0
 .../src}/baseline.netcore.json                |   0
 .../AsciiBytesToStringBenchmark.cs            |   0
 .../perf}/Kestrel.Performance/AssemblyInfo.cs |   0
 .../DotSegmentRemovalBenchmark.cs             |   0
 .../Kestrel.Performance/ErrorUtilities.cs     |   0
 .../Http1ConnectionBenchmark.cs               |   0
 ...Http1ConnectionParsingOverheadBenchmark.cs |   0
 .../Http1WritingBenchmark.cs                  |   0
 .../HttpParserBenchmark.cs                    |   0
 .../HttpProtocolFeatureCollection.cs          |   0
 .../InMemoryTransportBenchmark.cs             |   0
 .../KnownStringsBenchmark.cs                  |   0
 ...pNetCore.Server.Kestrel.Performance.csproj |  27 ++
 .../Mocks/MockTimeoutControl.cs               |   0
 .../Kestrel.Performance/Mocks/MockTrace.cs    |   0
 .../Kestrel.Performance/Mocks/NullParser.cs   |   0
 .../PipeThroughputBenchmark.cs                |   0
 .../perf}/Kestrel.Performance/README.md       |   0
 .../RequestParsingBenchmark.cs                |   0
 .../Kestrel.Performance/RequestParsingData.cs |   0
 .../ResponseHeaderCollectionBenchmark.cs      |   0
 .../ResponseHeadersWritingBenchmark.cs        |   0
 .../StringUtilitiesBenchmark.cs               |   0
 .../perf}/PlatformBenchmarks/AsciiString.cs   |   0
 .../BenchmarkApplication.cs                   |   0
 .../BenchmarkConfigurationHelpers.cs          |   0
 .../perf}/PlatformBenchmarks/DateHeader.cs    |   0
 .../PlatformBenchmarks/HttpApplication.cs     |   0
 .../PlatformBenchmarks.csproj                 |  16 +-
 .../perf}/PlatformBenchmarks/Program.cs       |   0
 .../perf}/PlatformBenchmarks/Startup.cs       |   0
 .../PlatformBenchmarks/benchmarks.json.json   |   0
 .../benchmarks.plaintext.json                 |   0
 .../samples}/Http2SampleApp/Dockerfile        |   0
 .../Http2SampleApp/Http2SampleApp.csproj      |   9 +-
 .../samples}/Http2SampleApp/Program.cs        |   0
 .../samples}/Http2SampleApp/Startup.cs        |   0
 .../Http2SampleApp/scripts/build-docker.ps1   |   0
 .../Http2SampleApp/scripts/build-docker.sh    |   0
 .../Http2SampleApp/scripts/run-docker.ps1     |   0
 .../Http2SampleApp/scripts/run-docker.sh      |   0
 .../samples}/Http2SampleApp/testCert.pfx      | Bin
 .../LargeResponseApp/LargeResponseApp.csproj  |   2 +-
 .../samples}/LargeResponseApp/Startup.cs      |   0
 .../samples}/PlaintextApp/PlaintextApp.csproj |   2 +-
 .../Kestrel/samples}/PlaintextApp/Startup.cs  |   0
 .../samples}/SampleApp/SampleApp.csproj       |  13 +-
 .../Kestrel/samples}/SampleApp/Startup.cs     |   0
 .../SampleApp/appsettings.Development.json    |   0
 .../SampleApp/appsettings.Production.json     |   0
 .../samples}/SampleApp/appsettings.json       |   0
 .../Kestrel/samples}/SampleApp/testCert.pfx   | Bin
 .../samples}/SystemdTestApp/Startup.cs        |   0
 .../SystemdTestApp/SystemdTestApp.csproj      |   9 +-
 .../samples}/SystemdTestApp/testCert.pfx      | Bin
 .../Kestrel/shared/src}/ThrowHelper.cs        |   0
 .../Kestrel/shared/test}/DisposableStack.cs   |   0
 .../Kestrel/shared/test}/DummyApplication.cs  |   0
 .../test}/EventRaisingResourceCounter.cs      |   0
 .../Kestrel/shared/test}/HttpParsingData.cs   |   0
 .../shared/test}/KestrelTestLoggerProvider.cs |   0
 .../shared/test}/LifetimeNotImplemented.cs    |   0
 .../Kestrel/shared/test}/MockLogger.cs        |   0
 .../Kestrel/shared/test}/MockSystemClock.cs   |   0
 .../test}/PassThroughConnectionAdapter.cs     |   0
 .../Kestrel/shared/test}/StringExtensions.cs  |   0
 .../shared/test}/TaskTimeoutExtensions.cs     |   0
 .../Servers/Kestrel/shared/test}/TestApp.cs   |   0
 .../test}/TestApplicationErrorLogger.cs       |   0
 .../test}/TestCertificates/aspnetdevcert.pfx  | Bin
 .../test}/TestCertificates/eku.client.ini     |   0
 .../test}/TestCertificates/eku.client.pfx     | Bin
 .../TestCertificates/eku.code_signing.ini     |   0
 .../TestCertificates/eku.code_signing.pfx     | Bin
 .../TestCertificates/eku.multiple_usages.ini  |   0
 .../TestCertificates/eku.multiple_usages.pfx  | Bin
 .../test}/TestCertificates/eku.server.ini     |   0
 .../test}/TestCertificates/eku.server.pfx     | Bin
 .../test}/TestCertificates/make-test-certs.sh |   0
 .../test}/TestCertificates/no_extensions.ini  |   0
 .../test}/TestCertificates/no_extensions.pfx  | Bin
 .../test}/TestCertificates/testCert.pfx       | Bin
 .../Kestrel/shared/test}/TestConnection.cs    |   0
 .../Kestrel/shared/test}/TestConstants.cs     |   0
 .../shared/test}/TestHttp1Connection.cs       |   0
 .../Kestrel/shared/test}/TestKestrelTrace.cs  |   0
 .../Kestrel/shared/test}/TestResources.cs     |   0
 .../shared/test}/TestServiceContext.cs        |   0
 .../AddressRegistrationTests.cs               |   0
 .../FunctionalTests}/BadHttpRequestTests.cs   |   0
 .../CertificateLoaderTests.cs                 |   0
 .../FunctionalTests}/ChunkedRequestTests.cs   |   0
 .../FunctionalTests}/ChunkedResponseTests.cs  |   0
 .../ConnectionAdapterTests.cs                 |   0
 .../FunctionalTests}/ConnectionLimitTests.cs  |   0
 .../FunctionalTests}/DefaultHeaderTests.cs    |   0
 .../test/FunctionalTests}/EventSourceTests.cs |   0
 .../FunctionalTests}/GeneratedCodeTests.cs    |   9 +-
 .../HttpConnectionManagerTests.cs             |   0
 .../HttpProtocolSelectionTests.cs             |   0
 .../HttpsConnectionAdapterOptionsTest.cs      |   0
 .../HttpsConnectionAdapterTests.cs            |   0
 .../test/FunctionalTests}/HttpsTests.cs       |   0
 .../FunctionalTests}/KeepAliveTimeoutTests.cs |   0
 .../LoggingConnectionAdapterTests.cs          |   0
 .../MaxRequestBodySizeTests.cs                |   0
 .../MaxRequestBufferSizeTests.cs              |   0
 .../MaxRequestLineSizeTests.cs                |   0
 .../Properties/AssemblyInfo.cs                |   0
 .../RequestBodyTimeoutTests.cs                |   0
 .../RequestHeaderLimitsTests.cs               |   0
 .../RequestHeadersTimeoutTests.cs             |   0
 .../RequestTargetProcessingTests.cs           |   0
 .../test/FunctionalTests}/RequestTests.cs     |   0
 .../test/FunctionalTests}/ResponseTests.cs    |   0
 .../HostNameIsReachableAttribute.cs           |   0
 .../IPv6ScopeIdPresentConditionAttribute.cs   |   0
 .../IPv6SupportedConditionAttribute.cs        |   0
 .../TestHelpers/IWebHostPortExtensions.cs     |   0
 .../TestApplicationErrorLoggerLoggedTest.cs   |   0
 .../TestHelpers/TestServer.cs                 |   0
 .../test/FunctionalTests}/UpgradeTests.cs     |   0
 .../Libuv.FunctionalTests.csproj              |  30 ++
 .../ListenHandleTests.cs                      |   0
 .../TransportSelector.cs                      |   0
 .../Sockets.FunctionalTests.csproj            |  29 ++
 .../TransportSelector.cs                      |   0
 .../test}/SystemdActivation/Dockerfile        |   0
 .../SystemdActivation/docker-entrypoint.sh    |   0
 .../Kestrel/test}/SystemdActivation/docker.sh |   0
 .../tools}/CodeGenerator/CodeGenerator.csproj |   7 +-
 .../HttpProtocolFeatureCollection.cs          |   0
 .../CombinationsWithoutRepetition.cs          |   0
 .../HttpUtilities/HttpUtilities.cs            |   0
 .../HttpUtilitiesGeneratorHelpers.cs          |   0
 .../tools}/CodeGenerator/KnownHeaders.cs      |   0
 .../Kestrel/tools}/CodeGenerator/Program.cs   |   0
 .../Servers/Kestrel}/xunit.runner.json        |   0
 .../Shared/Buffers.Testing}/BufferSegment.cs  |   0
 .../Buffers.Testing}/CustomMemoryForTest.cs   |   0
 .../ReadOnlySequenceFactory.cs                |   0
 test/Directory.Build.props                    |  31 --
 .../Kestrel.Core.Tests.csproj                 |  29 --
 test/Kestrel.Tests/Kestrel.Tests.csproj       |  20 -
 ...rel.Transport.Libuv.FunctionalTests.csproj |  36 --
 .../Kestrel.Transport.Libuv.Tests.csproj      |  26 --
 ...l.Transport.Sockets.FunctionalTests.csproj |  35 --
 version.props                                 |  12 -
 530 files changed, 320 insertions(+), 1959 deletions(-)
 delete mode 100644 .appveyor.yml
 delete mode 100644 .gitattributes
 delete mode 100644 .gitignore
 delete mode 100644 .travis.yml
 delete mode 100644 .vscode/extensions.json
 delete mode 100644 .vscode/launch.json
 delete mode 100644 .vscode/settings.json
 delete mode 100644 .vscode/tasks.json
 delete mode 100644 CONTRIBUTING.md
 delete mode 100644 Directory.Build.props
 delete mode 100644 Directory.Build.targets
 delete mode 100644 KestrelHttpServer.sln
 delete mode 100644 LICENSE.txt
 delete mode 100644 NuGet.config
 delete mode 100644 NuGetPackageVerifier.json
 delete mode 100644 README.md
 delete mode 100644 ToProjectReferences.ps1
 delete mode 100644 benchmarks/Kestrel.Performance/Kestrel.Performance.csproj
 delete mode 100644 build.cmd
 delete mode 100755 build.sh
 delete mode 100644 build/Key.snk
 delete mode 100644 build/buildpipeline/linux.groovy
 delete mode 100644 build/buildpipeline/osx.groovy
 delete mode 100644 build/buildpipeline/pipeline.groovy
 delete mode 100644 build/buildpipeline/windows.groovy
 delete mode 100644 build/dependencies.props
 delete mode 100644 build/repo.props
 delete mode 100644 build/repo.targets
 delete mode 100644 build/sources.props
 delete mode 100644 korebuild-lock.txt
 delete mode 100644 korebuild.json
 delete mode 100644 run.cmd
 delete mode 100644 run.ps1
 delete mode 100755 run.sh
 delete mode 100644 src/Connections.Abstractions/Connections.Abstractions.csproj
 delete mode 100644 src/Directory.Build.props
 delete mode 100644 src/Kestrel.Core/Kestrel.Core.csproj
 delete mode 100644 src/Kestrel.Transport.Libuv/Kestrel.Transport.Libuv.csproj
 delete mode 100644 src/Kestrel/Kestrel.csproj
 rename src/{Connections.Abstractions => Servers/Connections.Abstractions/src}/ConnectionBuilder.cs (100%)
 rename src/{Connections.Abstractions => Servers/Connections.Abstractions/src}/ConnectionBuilderExtensions.cs (100%)
 rename src/{Connections.Abstractions => Servers/Connections.Abstractions/src}/ConnectionContext.cs (100%)
 rename src/{Connections.Abstractions => Servers/Connections.Abstractions/src}/ConnectionDelegate.cs (100%)
 rename src/{Connections.Abstractions => Servers/Connections.Abstractions/src}/ConnectionHandler.cs (100%)
 rename src/{Connections.Abstractions => Servers/Connections.Abstractions/src}/ConnectionItems.cs (100%)
 rename src/{Connections.Abstractions => Servers/Connections.Abstractions/src}/DefaultConnectionContext.cs (100%)
 rename src/{Connections.Abstractions => Servers/Connections.Abstractions/src}/Exceptions/AddressInUseException.cs (100%)
 rename src/{Connections.Abstractions => Servers/Connections.Abstractions/src}/Exceptions/ConnectionAbortedException.cs (100%)
 rename src/{Connections.Abstractions => Servers/Connections.Abstractions/src}/Exceptions/ConnectionResetException.cs (100%)
 rename src/{Connections.Abstractions => Servers/Connections.Abstractions/src}/Features/IConnectionHeartbeatFeature.cs (100%)
 rename src/{Connections.Abstractions => Servers/Connections.Abstractions/src}/Features/IConnectionIdFeature.cs (100%)
 rename src/{Connections.Abstractions => Servers/Connections.Abstractions/src}/Features/IConnectionInherentKeepAliveFeature.cs (100%)
 rename src/{Connections.Abstractions => Servers/Connections.Abstractions/src}/Features/IConnectionItemsFeature.cs (100%)
 rename src/{Connections.Abstractions => Servers/Connections.Abstractions/src}/Features/IConnectionLifetimeFeature.cs (100%)
 rename src/{Connections.Abstractions => Servers/Connections.Abstractions/src}/Features/IConnectionTransportFeature.cs (100%)
 rename src/{Connections.Abstractions => Servers/Connections.Abstractions/src}/Features/IConnectionUserFeature.cs (100%)
 rename src/{Connections.Abstractions => Servers/Connections.Abstractions/src}/Features/IMemoryPoolFeature.cs (100%)
 rename src/{Connections.Abstractions => Servers/Connections.Abstractions/src}/Features/ITransferFormatFeature.cs (100%)
 rename src/{Connections.Abstractions => Servers/Connections.Abstractions/src}/IConnectionBuilder.cs (100%)
 create mode 100644 src/Servers/Connections.Abstractions/src/Microsoft.AspNetCore.Connections.Abstractions.csproj
 rename src/{Connections.Abstractions => Servers/Connections.Abstractions/src}/TransferFormat.cs (100%)
 rename src/{Connections.Abstractions => Servers/Connections.Abstractions/src}/baseline.netcore.json (100%)
 create mode 100644 src/Servers/Directory.Build.props
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Adapter/Internal/AdaptedPipeline.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Adapter/Internal/ConnectionAdapterContext.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Adapter/Internal/IAdaptedConnection.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Adapter/Internal/IConnectionAdapter.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Adapter/Internal/LoggingConnectionAdapter.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Adapter/Internal/LoggingStream.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Adapter/Internal/RawStream.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Adapter/ListenOptionsConnectionLoggingExtensions.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/AnyIPListenOptions.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/BadHttpRequestException.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/ClientCertificateMode.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/CoreStrings.resx (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/EndpointConfiguration.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Features/IConnectionTimeoutFeature.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Features/IDecrementConcurrentConnectionCountFeature.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Features/IHttp2StreamIdFeature.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Features/IHttpMinRequestBodyDataRateFeature.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Features/IHttpMinResponseDataRateFeature.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Features/ITlsApplicationProtocolFeature.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/HttpProtocols.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/HttpsConnectionAdapterOptions.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/AddressBindContext.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/AddressBinder.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/BufferReader.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/BufferWriter.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/CertificateLoader.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/ClosedStream.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/ConfigurationReader.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/ConnectionDispatcher.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/ConnectionLimitMiddleware.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/ConnectionLogScope.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/DuplexPipe.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http/ChunkWriter.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http/ConnectionOptions.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http/DateHeaderValueManager.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http/Http1Connection.FeatureCollection.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http/Http1Connection.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http/Http1ConnectionContext.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http/Http1MessageBody.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http/Http1OutputProducer.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http/Http1ParsingHandler.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http/HttpHeaders.Generated.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http/HttpHeaders.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http/HttpMethod.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http/HttpParser.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http/HttpProtocol.FeatureCollection.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http/HttpProtocol.Generated.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http/HttpProtocol.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http/HttpRequestHeaders.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http/HttpRequestStream.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http/HttpRequestTargetForm.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http/HttpResponseHeaders.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http/HttpResponseStream.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http/HttpScheme.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http/HttpStreamState.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http/HttpUpgradeStream.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http/HttpVersion.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http/IHttpHeadersHandler.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http/IHttpOutputProducer.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http/IHttpParser.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http/IHttpProtocolContext.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http/IHttpRequestLineHandler.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http/IHttpResponseControl.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http/MessageBody.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http/PathNormalizer.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http/PipelineExtensions.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http/ProduceEndType.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http/ReasonPhrases.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http/RequestProcessingStatus.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http/RequestRejectionReason.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http/TransferCoding.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http/UrlDecoder.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/HPack/DynamicTable.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/HPack/HPackDecoder.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/HPack/HPackDecodingException.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/HPack/HPackEncoder.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/HPack/HeaderField.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/HPack/Huffman.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/HPack/HuffmanDecodingException.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/HPack/IntegerDecoder.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/HPack/IntegerEncoder.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/HPack/StaticTable.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/HPack/StatusCodes.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/Http2Connection.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/Http2ConnectionContext.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/Http2ConnectionErrorException.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/Http2ContinuationFrameFlags.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/Http2DataFrameFlags.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/Http2ErrorCode.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/Http2Frame.Continuation.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/Http2Frame.Data.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/Http2Frame.GoAway.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/Http2Frame.Headers.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/Http2Frame.Ping.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/Http2Frame.Priority.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/Http2Frame.RstStream.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/Http2Frame.Settings.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/Http2Frame.WindowUpdate.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/Http2Frame.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/Http2FrameReader.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/Http2FrameType.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/Http2FrameWriter.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/Http2HeadersFrameFlags.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/Http2MessageBody.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/Http2OutputProducer.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/Http2PeerSetting.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/Http2PeerSettings.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/Http2PingFrameFlags.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/Http2SettingsFrameFlags.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/Http2SettingsParameter.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/Http2SettingsParameterOutOfRangeException.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/Http2Stream.FeatureCollection.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/Http2Stream.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/Http2StreamContext.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/Http2StreamErrorException.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/IHttp2FrameWriter.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Http2/IHttp2StreamLifetimeHandler.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/HttpConnection.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/HttpConnectionBuilderExtensions.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/HttpConnectionContext.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/HttpConnectionMiddleware.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/HttpsConnectionAdapter.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/IRequestProcessor.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Infrastructure/CancellationTokenExtensions.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Infrastructure/Constants.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Infrastructure/CorrelationIdGenerator.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Infrastructure/DebuggerWrapper.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Infrastructure/Disposable.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Infrastructure/DisposableAction.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Infrastructure/Heartbeat.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Infrastructure/HttpConnectionManager.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Infrastructure/HttpConnectionManagerShutdownExtensions.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Infrastructure/HttpConnectionReference.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Infrastructure/HttpHeartbeatManager.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Infrastructure/HttpUtilities.Generated.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Infrastructure/HttpUtilities.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Infrastructure/IDebugger.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Infrastructure/IHeartbeatHandler.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Infrastructure/IKestrelTrace.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Infrastructure/ISystemClock.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Infrastructure/ITimeoutControl.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Infrastructure/KestrelEventSource.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Infrastructure/KestrelTrace.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Infrastructure/ReadOnlyStream.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Infrastructure/ResourceCounter.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Infrastructure/StackTraceHiddenAttribute.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Infrastructure/Streams.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Infrastructure/StringUtilities.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Infrastructure/SystemClock.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Infrastructure/ThrowingWriteOnlyStream.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Infrastructure/TimeoutAction.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Infrastructure/UriUtilities.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Infrastructure/WrappingStream.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/Infrastructure/WriteOnlyStream.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/KestrelServerOptionsSetup.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/LoggerExtensions.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/ServerAddressesFeature.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/ServiceContext.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Internal/TlsConnectionFeature.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/KestrelConfigurationLoader.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/KestrelServer.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/KestrelServerLimits.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/KestrelServerOptions.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/ListenOptions.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/ListenOptionsHttpsExtensions.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/LocalhostListenOptions.cs (100%)
 create mode 100644 src/Servers/Kestrel/Core/src/Microsoft.AspNetCore.Server.Kestrel.Core.csproj
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/MinDataRate.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Properties/AssemblyInfo.cs (87%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Properties/CoreStrings.Designer.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/ServerAddress.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/Systemd/KestrelServerOptionsSystemdExtensions.cs (100%)
 rename src/{Kestrel.Core => Servers/Kestrel/Core/src}/baseline.netcore.json (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/AddressBinderTests.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/AsciiDecoding.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/BufferReaderTests.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/BufferWriterTests.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/ChunkWriterTests.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/ConnectionDispatcherTests.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/DateHeaderValueManagerTests.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/DynamicTableTests.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/HPackDecoderTests.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/HPackEncoderTests.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/HeartbeatTests.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/Http1ConnectionTests.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/Http2ConnectionTests.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/HttpConnectionManagerTests.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/HttpConnectionTests.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/HttpHeadersTests.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/HttpParserTests.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/HttpProtocolFeatureCollectionTests.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/HttpRequestHeadersTests.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/HttpRequestStreamTests.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/HttpResponseHeadersTests.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/HttpResponseStreamTests.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/HttpUtilitiesTest.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/HuffmanTests.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/IntegerDecoderTests.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/IntegerEncoderTests.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/KestrelEventSourceTests.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/KestrelServerLimitsTests.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/KestrelServerOptionsTests.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/KestrelServerTests.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/KnownStringsTests.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/ListenOptionsTests.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/MessageBodyTests.cs (100%)
 create mode 100644 src/Servers/Kestrel/Core/test/Microsoft.AspNetCore.Server.Kestrel.Core.Tests.csproj
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/MinDataRateTests.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/OutputProducerTests.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/PathNormalizerTests.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/PipeOptionsTests.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/PipelineExtensionTests.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/ReasonPhrasesTests.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/ResourceCounterTests.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/ServerAddressTests.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/StreamsTests.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/StringUtilitiesTests.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/TestHelpers/AssertExtensions.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/TestHelpers/MockHttpResponseControl.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/TestInput.cs (100%)
 rename {test/Kestrel.Core.Tests => src/Servers/Kestrel/Core/test}/ThrowingWriteOnlyStreamTests.cs (100%)
 create mode 100644 src/Servers/Kestrel/Directory.Build.props
 rename src/{Kestrel.Https/Kestrel.Https.csproj => Servers/Kestrel/Https/src/Microsoft.AspNetCore.Server.Kestrel.Https.csproj} (53%)
 rename src/{Kestrel.Https => Servers/Kestrel/Https/src}/Properties/AssemblyInfo.cs (100%)
 rename src/{Kestrel.Https => Servers/Kestrel/Https/src}/baseline.netcore.json (100%)
 create mode 100644 src/Servers/Kestrel/Kestrel/src/Microsoft.AspNetCore.Server.Kestrel.csproj
 rename src/{Kestrel => Servers/Kestrel/Kestrel/src}/WebHostBuilderKestrelExtensions.cs (100%)
 rename src/{Kestrel => Servers/Kestrel/Kestrel/src}/baseline.netcore.json (100%)
 rename {test/Kestrel.Tests => src/Servers/Kestrel/Kestrel/test}/ConfigurationReaderTests.cs (100%)
 rename {test/Kestrel.Tests => src/Servers/Kestrel/Kestrel/test}/KestrelConfigurationBuilderTests.cs (100%)
 create mode 100644 src/Servers/Kestrel/Kestrel/test/Microsoft.AspNetCore.Server.Kestrel.Tests.csproj
 rename {test/Kestrel.Tests => src/Servers/Kestrel/Kestrel/test}/WebHostBuilderKestrelExtensionsTests.cs (100%)
 create mode 100644 src/Servers/Kestrel/README.md
 rename src/{Kestrel.Transport.Abstractions => Servers/Kestrel/Transport.Abstractions/src}/Internal/FileHandleType.cs (100%)
 rename src/{Kestrel.Transport.Abstractions => Servers/Kestrel/Transport.Abstractions/src}/Internal/IApplicationTransportFeature.cs (100%)
 rename src/{Kestrel.Transport.Abstractions => Servers/Kestrel/Transport.Abstractions/src}/Internal/IBytesWrittenFeature.cs (100%)
 rename src/{Kestrel.Transport.Abstractions => Servers/Kestrel/Transport.Abstractions/src}/Internal/IConnectionDispatcher.cs (100%)
 rename src/{Kestrel.Transport.Abstractions => Servers/Kestrel/Transport.Abstractions/src}/Internal/IEndPointInformation.cs (100%)
 rename src/{Kestrel.Transport.Abstractions => Servers/Kestrel/Transport.Abstractions/src}/Internal/ITransport.cs (100%)
 rename src/{Kestrel.Transport.Abstractions => Servers/Kestrel/Transport.Abstractions/src}/Internal/ITransportFactory.cs (100%)
 rename src/{Kestrel.Transport.Abstractions => Servers/Kestrel/Transport.Abstractions/src}/Internal/ITransportSchedulerFeature.cs (100%)
 rename src/{Kestrel.Transport.Abstractions => Servers/Kestrel/Transport.Abstractions/src}/Internal/KestrelMemoryPool.cs (100%)
 rename src/{Kestrel.Transport.Abstractions => Servers/Kestrel/Transport.Abstractions/src}/Internal/ListenType.cs (100%)
 rename src/{Kestrel.Transport.Abstractions => Servers/Kestrel/Transport.Abstractions/src}/Internal/MemoryPoolBlock.Debug.cs (100%)
 rename src/{Kestrel.Transport.Abstractions => Servers/Kestrel/Transport.Abstractions/src}/Internal/MemoryPoolBlock.Release.cs (100%)
 rename src/{Kestrel.Transport.Abstractions => Servers/Kestrel/Transport.Abstractions/src}/Internal/MemoryPoolSlab.cs (100%)
 rename src/{Kestrel.Transport.Abstractions => Servers/Kestrel/Transport.Abstractions/src}/Internal/SchedulingMode.cs (100%)
 rename src/{Kestrel.Transport.Abstractions => Servers/Kestrel/Transport.Abstractions/src}/Internal/SlabMemoryPool.cs (100%)
 rename src/{Kestrel.Transport.Abstractions => Servers/Kestrel/Transport.Abstractions/src}/Internal/TransportConnection.Features.cs (100%)
 rename src/{Kestrel.Transport.Abstractions => Servers/Kestrel/Transport.Abstractions/src}/Internal/TransportConnection.cs (100%)
 rename src/{Kestrel.Transport.Abstractions/Kestrel.Transport.Abstractions.csproj => Servers/Kestrel/Transport.Abstractions/src/Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.csproj} (64%)
 rename src/{Kestrel.Transport.Abstractions => Servers/Kestrel/Transport.Abstractions/src}/baseline.netcore.json (100%)
 rename src/{Kestrel.Transport.Libuv => Servers/Kestrel/Transport.Libuv/src}/Internal/IAsyncDisposable.cs (100%)
 rename src/{Kestrel.Transport.Libuv => Servers/Kestrel/Transport.Libuv/src}/Internal/ILibuvTrace.cs (100%)
 rename src/{Kestrel.Transport.Libuv => Servers/Kestrel/Transport.Libuv/src}/Internal/LibuvAwaitable.cs (100%)
 rename src/{Kestrel.Transport.Libuv => Servers/Kestrel/Transport.Libuv/src}/Internal/LibuvConnection.cs (100%)
 rename src/{Kestrel.Transport.Libuv => Servers/Kestrel/Transport.Libuv/src}/Internal/LibuvConstants.cs (100%)
 rename src/{Kestrel.Transport.Libuv => Servers/Kestrel/Transport.Libuv/src}/Internal/LibuvOutputConsumer.cs (100%)
 rename src/{Kestrel.Transport.Libuv => Servers/Kestrel/Transport.Libuv/src}/Internal/LibuvThread.cs (100%)
 rename src/{Kestrel.Transport.Libuv => Servers/Kestrel/Transport.Libuv/src}/Internal/LibuvTrace.cs (100%)
 rename src/{Kestrel.Transport.Libuv => Servers/Kestrel/Transport.Libuv/src}/Internal/LibuvTransport.cs (100%)
 rename src/{Kestrel.Transport.Libuv => Servers/Kestrel/Transport.Libuv/src}/Internal/LibuvTransportContext.cs (100%)
 rename src/{Kestrel.Transport.Libuv => Servers/Kestrel/Transport.Libuv/src}/Internal/LibuvTransportFactory.cs (100%)
 rename src/{Kestrel.Transport.Libuv => Servers/Kestrel/Transport.Libuv/src}/Internal/Listener.cs (100%)
 rename src/{Kestrel.Transport.Libuv => Servers/Kestrel/Transport.Libuv/src}/Internal/ListenerContext.cs (100%)
 rename src/{Kestrel.Transport.Libuv => Servers/Kestrel/Transport.Libuv/src}/Internal/ListenerPrimary.cs (100%)
 rename src/{Kestrel.Transport.Libuv => Servers/Kestrel/Transport.Libuv/src}/Internal/ListenerSecondary.cs (100%)
 rename src/{Kestrel.Transport.Libuv => Servers/Kestrel/Transport.Libuv/src}/Internal/Networking/LibuvFunctions.cs (100%)
 rename src/{Kestrel.Transport.Libuv => Servers/Kestrel/Transport.Libuv/src}/Internal/Networking/PlatformApis.cs (100%)
 rename src/{Kestrel.Transport.Libuv => Servers/Kestrel/Transport.Libuv/src}/Internal/Networking/SockAddr.cs (100%)
 rename src/{Kestrel.Transport.Libuv => Servers/Kestrel/Transport.Libuv/src}/Internal/Networking/UvAsyncHandle.cs (100%)
 rename src/{Kestrel.Transport.Libuv => Servers/Kestrel/Transport.Libuv/src}/Internal/Networking/UvConnectRequest.cs (100%)
 rename src/{Kestrel.Transport.Libuv => Servers/Kestrel/Transport.Libuv/src}/Internal/Networking/UvException.cs (100%)
 rename src/{Kestrel.Transport.Libuv => Servers/Kestrel/Transport.Libuv/src}/Internal/Networking/UvHandle.cs (100%)
 rename src/{Kestrel.Transport.Libuv => Servers/Kestrel/Transport.Libuv/src}/Internal/Networking/UvLoopHandle.cs (100%)
 rename src/{Kestrel.Transport.Libuv => Servers/Kestrel/Transport.Libuv/src}/Internal/Networking/UvMemory.cs (100%)
 rename src/{Kestrel.Transport.Libuv => Servers/Kestrel/Transport.Libuv/src}/Internal/Networking/UvPipeHandle.cs (100%)
 rename src/{Kestrel.Transport.Libuv => Servers/Kestrel/Transport.Libuv/src}/Internal/Networking/UvRequest.cs (100%)
 rename src/{Kestrel.Transport.Libuv => Servers/Kestrel/Transport.Libuv/src}/Internal/Networking/UvStreamHandle.cs (100%)
 rename src/{Kestrel.Transport.Libuv => Servers/Kestrel/Transport.Libuv/src}/Internal/Networking/UvTcpHandle.cs (100%)
 rename src/{Kestrel.Transport.Libuv => Servers/Kestrel/Transport.Libuv/src}/Internal/Networking/UvTimerHandle.cs (100%)
 rename src/{Kestrel.Transport.Libuv => Servers/Kestrel/Transport.Libuv/src}/Internal/Networking/UvWriteReq.cs (100%)
 rename src/{Kestrel.Transport.Libuv => Servers/Kestrel/Transport.Libuv/src}/Internal/WriteReqPool.cs (100%)
 rename src/{Kestrel.Transport.Libuv => Servers/Kestrel/Transport.Libuv/src}/LibuvTransportOptions.cs (100%)
 create mode 100644 src/Servers/Kestrel/Transport.Libuv/src/Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.csproj
 rename src/{Kestrel.Transport.Libuv => Servers/Kestrel/Transport.Libuv/src}/WebHostBuilderLibuvExtensions.cs (100%)
 rename src/{Kestrel.Transport.Libuv => Servers/Kestrel/Transport.Libuv/src}/baseline.netcore.json (100%)
 rename src/{Kestrel.Transport.Libuv => Servers/Kestrel/Transport.Libuv/src}/breakingchanges.netcore.json (100%)
 rename {test/Kestrel.Transport.Libuv.Tests => src/Servers/Kestrel/Transport.Libuv/test}/LibuvConnectionTests.cs (100%)
 rename {test/Kestrel.Transport.Libuv.Tests => src/Servers/Kestrel/Transport.Libuv/test}/LibuvOutputConsumerTests.cs (100%)
 rename {test/Kestrel.Transport.Libuv.Tests => src/Servers/Kestrel/Transport.Libuv/test}/LibuvThreadTests.cs (100%)
 rename {test/Kestrel.Transport.Libuv.Tests => src/Servers/Kestrel/Transport.Libuv/test}/LibuvTransportFactoryTests.cs (100%)
 rename {test/Kestrel.Transport.Libuv.Tests => src/Servers/Kestrel/Transport.Libuv/test}/LibuvTransportOptionsTests.cs (100%)
 rename {test/Kestrel.Transport.Libuv.Tests => src/Servers/Kestrel/Transport.Libuv/test}/LibuvTransportTests.cs (100%)
 rename {test/Kestrel.Transport.Libuv.Tests => src/Servers/Kestrel/Transport.Libuv/test}/ListenerPrimaryTests.cs (100%)
 create mode 100644 src/Servers/Kestrel/Transport.Libuv/test/Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Tests.csproj
 rename {test/Kestrel.Transport.Libuv.Tests => src/Servers/Kestrel/Transport.Libuv/test}/MultipleLoopTests.cs (100%)
 rename {test/Kestrel.Transport.Libuv.Tests => src/Servers/Kestrel/Transport.Libuv/test}/NetworkingTests.cs (100%)
 rename {test/Kestrel.Transport.Libuv.Tests => src/Servers/Kestrel/Transport.Libuv/test}/TestHelpers/MockConnectionDispatcher.cs (100%)
 rename {test/Kestrel.Transport.Libuv.Tests => src/Servers/Kestrel/Transport.Libuv/test}/TestHelpers/MockLibuv.cs (100%)
 rename {test/Kestrel.Transport.Libuv.Tests => src/Servers/Kestrel/Transport.Libuv/test}/TestHelpers/MockSocket.cs (100%)
 rename {test/Kestrel.Transport.Libuv.Tests => src/Servers/Kestrel/Transport.Libuv/test}/TestHelpers/TestLibuvTransportContext.cs (100%)
 rename {test/Kestrel.Transport.Libuv.Tests => src/Servers/Kestrel/Transport.Libuv/test}/UvStreamHandleTests.cs (100%)
 rename {test/Kestrel.Transport.Libuv.Tests => src/Servers/Kestrel/Transport.Libuv/test}/UvTimerHandleTests.cs (100%)
 rename src/{Kestrel.Transport.Sockets => Servers/Kestrel/Transport.Sockets/src}/Internal/BufferExtensions.cs (100%)
 rename src/{Kestrel.Transport.Sockets => Servers/Kestrel/Transport.Sockets/src}/Internal/IOQueue.cs (100%)
 rename src/{Kestrel.Transport.Sockets => Servers/Kestrel/Transport.Sockets/src}/Internal/ISocketsTrace.cs (100%)
 rename src/{Kestrel.Transport.Sockets => Servers/Kestrel/Transport.Sockets/src}/Internal/SocketAwaitable.cs (100%)
 rename src/{Kestrel.Transport.Sockets => Servers/Kestrel/Transport.Sockets/src}/Internal/SocketConnection.cs (100%)
 rename src/{Kestrel.Transport.Sockets => Servers/Kestrel/Transport.Sockets/src}/Internal/SocketReceiver.cs (100%)
 rename src/{Kestrel.Transport.Sockets => Servers/Kestrel/Transport.Sockets/src}/Internal/SocketSender.cs (100%)
 rename src/{Kestrel.Transport.Sockets => Servers/Kestrel/Transport.Sockets/src}/Internal/SocketsTrace.cs (100%)
 rename src/{Kestrel.Transport.Sockets/Kestrel.Transport.Sockets.csproj => Servers/Kestrel/Transport.Sockets/src/Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.csproj} (52%)
 rename src/{Kestrel.Transport.Sockets => Servers/Kestrel/Transport.Sockets/src}/Properties/SocketsStrings.Designer.cs (100%)
 rename src/{Kestrel.Transport.Sockets => Servers/Kestrel/Transport.Sockets/src}/SocketTransport.cs (100%)
 rename src/{Kestrel.Transport.Sockets => Servers/Kestrel/Transport.Sockets/src}/SocketTransportFactory.cs (100%)
 rename src/{Kestrel.Transport.Sockets => Servers/Kestrel/Transport.Sockets/src}/SocketTransportOptions.cs (100%)
 rename src/{Kestrel.Transport.Sockets => Servers/Kestrel/Transport.Sockets/src}/SocketsStrings.resx (100%)
 rename src/{Kestrel.Transport.Sockets => Servers/Kestrel/Transport.Sockets/src}/WebHostBuilderSocketExtensions.cs (100%)
 rename src/{Kestrel.Transport.Sockets => Servers/Kestrel/Transport.Sockets/src}/baseline.netcore.json (100%)
 rename {benchmarks => src/Servers/Kestrel/perf}/Kestrel.Performance/AsciiBytesToStringBenchmark.cs (100%)
 rename {benchmarks => src/Servers/Kestrel/perf}/Kestrel.Performance/AssemblyInfo.cs (100%)
 rename {benchmarks => src/Servers/Kestrel/perf}/Kestrel.Performance/DotSegmentRemovalBenchmark.cs (100%)
 rename {benchmarks => src/Servers/Kestrel/perf}/Kestrel.Performance/ErrorUtilities.cs (100%)
 rename {benchmarks => src/Servers/Kestrel/perf}/Kestrel.Performance/Http1ConnectionBenchmark.cs (100%)
 rename {benchmarks => src/Servers/Kestrel/perf}/Kestrel.Performance/Http1ConnectionParsingOverheadBenchmark.cs (100%)
 rename {benchmarks => src/Servers/Kestrel/perf}/Kestrel.Performance/Http1WritingBenchmark.cs (100%)
 rename {benchmarks => src/Servers/Kestrel/perf}/Kestrel.Performance/HttpParserBenchmark.cs (100%)
 rename {benchmarks => src/Servers/Kestrel/perf}/Kestrel.Performance/HttpProtocolFeatureCollection.cs (100%)
 rename {benchmarks => src/Servers/Kestrel/perf}/Kestrel.Performance/InMemoryTransportBenchmark.cs (100%)
 rename {benchmarks => src/Servers/Kestrel/perf}/Kestrel.Performance/KnownStringsBenchmark.cs (100%)
 create mode 100644 src/Servers/Kestrel/perf/Kestrel.Performance/Microsoft.AspNetCore.Server.Kestrel.Performance.csproj
 rename {benchmarks => src/Servers/Kestrel/perf}/Kestrel.Performance/Mocks/MockTimeoutControl.cs (100%)
 rename {benchmarks => src/Servers/Kestrel/perf}/Kestrel.Performance/Mocks/MockTrace.cs (100%)
 rename {benchmarks => src/Servers/Kestrel/perf}/Kestrel.Performance/Mocks/NullParser.cs (100%)
 rename {benchmarks => src/Servers/Kestrel/perf}/Kestrel.Performance/PipeThroughputBenchmark.cs (100%)
 rename {benchmarks => src/Servers/Kestrel/perf}/Kestrel.Performance/README.md (100%)
 rename {benchmarks => src/Servers/Kestrel/perf}/Kestrel.Performance/RequestParsingBenchmark.cs (100%)
 rename {benchmarks => src/Servers/Kestrel/perf}/Kestrel.Performance/RequestParsingData.cs (100%)
 rename {benchmarks => src/Servers/Kestrel/perf}/Kestrel.Performance/ResponseHeaderCollectionBenchmark.cs (100%)
 rename {benchmarks => src/Servers/Kestrel/perf}/Kestrel.Performance/ResponseHeadersWritingBenchmark.cs (100%)
 rename {benchmarks => src/Servers/Kestrel/perf}/Kestrel.Performance/StringUtilitiesBenchmark.cs (100%)
 rename {benchmarkapps => src/Servers/Kestrel/perf}/PlatformBenchmarks/AsciiString.cs (100%)
 rename {benchmarkapps => src/Servers/Kestrel/perf}/PlatformBenchmarks/BenchmarkApplication.cs (100%)
 rename {benchmarkapps => src/Servers/Kestrel/perf}/PlatformBenchmarks/BenchmarkConfigurationHelpers.cs (100%)
 rename {benchmarkapps => src/Servers/Kestrel/perf}/PlatformBenchmarks/DateHeader.cs (100%)
 rename {benchmarkapps => src/Servers/Kestrel/perf}/PlatformBenchmarks/HttpApplication.cs (100%)
 rename {benchmarkapps => src/Servers/Kestrel/perf}/PlatformBenchmarks/PlatformBenchmarks.csproj (52%)
 rename {benchmarkapps => src/Servers/Kestrel/perf}/PlatformBenchmarks/Program.cs (100%)
 rename {benchmarkapps => src/Servers/Kestrel/perf}/PlatformBenchmarks/Startup.cs (100%)
 rename {benchmarkapps => src/Servers/Kestrel/perf}/PlatformBenchmarks/benchmarks.json.json (100%)
 rename {benchmarkapps => src/Servers/Kestrel/perf}/PlatformBenchmarks/benchmarks.plaintext.json (100%)
 rename {samples => src/Servers/Kestrel/samples}/Http2SampleApp/Dockerfile (100%)
 rename {samples => src/Servers/Kestrel/samples}/Http2SampleApp/Http2SampleApp.csproj (59%)
 rename {samples => src/Servers/Kestrel/samples}/Http2SampleApp/Program.cs (100%)
 rename {samples => src/Servers/Kestrel/samples}/Http2SampleApp/Startup.cs (100%)
 rename {samples => src/Servers/Kestrel/samples}/Http2SampleApp/scripts/build-docker.ps1 (100%)
 rename {samples => src/Servers/Kestrel/samples}/Http2SampleApp/scripts/build-docker.sh (100%)
 mode change 100755 => 100644
 rename {samples => src/Servers/Kestrel/samples}/Http2SampleApp/scripts/run-docker.ps1 (100%)
 rename {samples => src/Servers/Kestrel/samples}/Http2SampleApp/scripts/run-docker.sh (100%)
 mode change 100755 => 100644
 rename {samples => src/Servers/Kestrel/samples}/Http2SampleApp/testCert.pfx (100%)
 rename {samples => src/Servers/Kestrel/samples}/LargeResponseApp/LargeResponseApp.csproj (80%)
 rename {samples => src/Servers/Kestrel/samples}/LargeResponseApp/Startup.cs (100%)
 rename {samples => src/Servers/Kestrel/samples}/PlaintextApp/PlaintextApp.csproj (80%)
 rename {samples => src/Servers/Kestrel/samples}/PlaintextApp/Startup.cs (100%)
 rename {samples => src/Servers/Kestrel/samples}/SampleApp/SampleApp.csproj (61%)
 rename {samples => src/Servers/Kestrel/samples}/SampleApp/Startup.cs (100%)
 rename {samples => src/Servers/Kestrel/samples}/SampleApp/appsettings.Development.json (100%)
 rename {samples => src/Servers/Kestrel/samples}/SampleApp/appsettings.Production.json (100%)
 rename {samples => src/Servers/Kestrel/samples}/SampleApp/appsettings.json (100%)
 rename {samples => src/Servers/Kestrel/samples}/SampleApp/testCert.pfx (100%)
 rename {samples => src/Servers/Kestrel/samples}/SystemdTestApp/Startup.cs (100%)
 rename {samples => src/Servers/Kestrel/samples}/SystemdTestApp/SystemdTestApp.csproj (57%)
 rename {samples => src/Servers/Kestrel/samples}/SystemdTestApp/testCert.pfx (100%)
 rename src/{shared => Servers/Kestrel/shared/src}/ThrowHelper.cs (100%)
 rename {test/shared => src/Servers/Kestrel/shared/test}/DisposableStack.cs (100%)
 rename {test/shared => src/Servers/Kestrel/shared/test}/DummyApplication.cs (100%)
 rename {test/shared => src/Servers/Kestrel/shared/test}/EventRaisingResourceCounter.cs (100%)
 rename {test/shared => src/Servers/Kestrel/shared/test}/HttpParsingData.cs (100%)
 rename {test/shared => src/Servers/Kestrel/shared/test}/KestrelTestLoggerProvider.cs (100%)
 rename {test/shared => src/Servers/Kestrel/shared/test}/LifetimeNotImplemented.cs (100%)
 rename {test/shared => src/Servers/Kestrel/shared/test}/MockLogger.cs (100%)
 rename {test/shared => src/Servers/Kestrel/shared/test}/MockSystemClock.cs (100%)
 rename {test/shared => src/Servers/Kestrel/shared/test}/PassThroughConnectionAdapter.cs (100%)
 rename {test/shared => src/Servers/Kestrel/shared/test}/StringExtensions.cs (100%)
 rename {test/shared => src/Servers/Kestrel/shared/test}/TaskTimeoutExtensions.cs (100%)
 rename {test/shared => src/Servers/Kestrel/shared/test}/TestApp.cs (100%)
 rename {test/shared => src/Servers/Kestrel/shared/test}/TestApplicationErrorLogger.cs (100%)
 rename {test/shared => src/Servers/Kestrel/shared/test}/TestCertificates/aspnetdevcert.pfx (100%)
 rename {test/shared => src/Servers/Kestrel/shared/test}/TestCertificates/eku.client.ini (100%)
 rename {test/shared => src/Servers/Kestrel/shared/test}/TestCertificates/eku.client.pfx (100%)
 rename {test/shared => src/Servers/Kestrel/shared/test}/TestCertificates/eku.code_signing.ini (100%)
 rename {test/shared => src/Servers/Kestrel/shared/test}/TestCertificates/eku.code_signing.pfx (100%)
 rename {test/shared => src/Servers/Kestrel/shared/test}/TestCertificates/eku.multiple_usages.ini (100%)
 rename {test/shared => src/Servers/Kestrel/shared/test}/TestCertificates/eku.multiple_usages.pfx (100%)
 rename {test/shared => src/Servers/Kestrel/shared/test}/TestCertificates/eku.server.ini (100%)
 rename {test/shared => src/Servers/Kestrel/shared/test}/TestCertificates/eku.server.pfx (100%)
 rename {test/shared => src/Servers/Kestrel/shared/test}/TestCertificates/make-test-certs.sh (100%)
 mode change 100755 => 100644
 rename {test/shared => src/Servers/Kestrel/shared/test}/TestCertificates/no_extensions.ini (100%)
 rename {test/shared => src/Servers/Kestrel/shared/test}/TestCertificates/no_extensions.pfx (100%)
 rename {test/shared => src/Servers/Kestrel/shared/test}/TestCertificates/testCert.pfx (100%)
 rename {test/shared => src/Servers/Kestrel/shared/test}/TestConnection.cs (100%)
 rename {test/shared => src/Servers/Kestrel/shared/test}/TestConstants.cs (100%)
 rename {test/shared => src/Servers/Kestrel/shared/test}/TestHttp1Connection.cs (100%)
 rename {test/shared => src/Servers/Kestrel/shared/test}/TestKestrelTrace.cs (100%)
 rename {test/shared => src/Servers/Kestrel/shared/test}/TestResources.cs (100%)
 rename {test/shared => src/Servers/Kestrel/shared/test}/TestServiceContext.cs (100%)
 rename {test/Kestrel.FunctionalTests => src/Servers/Kestrel/test/FunctionalTests}/AddressRegistrationTests.cs (100%)
 rename {test/Kestrel.FunctionalTests => src/Servers/Kestrel/test/FunctionalTests}/BadHttpRequestTests.cs (100%)
 rename {test/Kestrel.FunctionalTests => src/Servers/Kestrel/test/FunctionalTests}/CertificateLoaderTests.cs (100%)
 rename {test/Kestrel.FunctionalTests => src/Servers/Kestrel/test/FunctionalTests}/ChunkedRequestTests.cs (100%)
 rename {test/Kestrel.FunctionalTests => src/Servers/Kestrel/test/FunctionalTests}/ChunkedResponseTests.cs (100%)
 rename {test/Kestrel.FunctionalTests => src/Servers/Kestrel/test/FunctionalTests}/ConnectionAdapterTests.cs (100%)
 rename {test/Kestrel.FunctionalTests => src/Servers/Kestrel/test/FunctionalTests}/ConnectionLimitTests.cs (100%)
 rename {test/Kestrel.FunctionalTests => src/Servers/Kestrel/test/FunctionalTests}/DefaultHeaderTests.cs (100%)
 rename {test/Kestrel.FunctionalTests => src/Servers/Kestrel/test/FunctionalTests}/EventSourceTests.cs (100%)
 rename {test/Kestrel.FunctionalTests => src/Servers/Kestrel/test/FunctionalTests}/GeneratedCodeTests.cs (77%)
 rename {test/Kestrel.FunctionalTests => src/Servers/Kestrel/test/FunctionalTests}/HttpConnectionManagerTests.cs (100%)
 rename {test/Kestrel.FunctionalTests => src/Servers/Kestrel/test/FunctionalTests}/HttpProtocolSelectionTests.cs (100%)
 rename {test/Kestrel.FunctionalTests => src/Servers/Kestrel/test/FunctionalTests}/HttpsConnectionAdapterOptionsTest.cs (100%)
 rename {test/Kestrel.FunctionalTests => src/Servers/Kestrel/test/FunctionalTests}/HttpsConnectionAdapterTests.cs (100%)
 rename {test/Kestrel.FunctionalTests => src/Servers/Kestrel/test/FunctionalTests}/HttpsTests.cs (100%)
 rename {test/Kestrel.FunctionalTests => src/Servers/Kestrel/test/FunctionalTests}/KeepAliveTimeoutTests.cs (100%)
 rename {test/Kestrel.FunctionalTests => src/Servers/Kestrel/test/FunctionalTests}/LoggingConnectionAdapterTests.cs (100%)
 rename {test/Kestrel.FunctionalTests => src/Servers/Kestrel/test/FunctionalTests}/MaxRequestBodySizeTests.cs (100%)
 rename {test/Kestrel.FunctionalTests => src/Servers/Kestrel/test/FunctionalTests}/MaxRequestBufferSizeTests.cs (100%)
 rename {test/Kestrel.FunctionalTests => src/Servers/Kestrel/test/FunctionalTests}/MaxRequestLineSizeTests.cs (100%)
 rename {test/Kestrel.FunctionalTests => src/Servers/Kestrel/test/FunctionalTests}/Properties/AssemblyInfo.cs (100%)
 rename {test/Kestrel.FunctionalTests => src/Servers/Kestrel/test/FunctionalTests}/RequestBodyTimeoutTests.cs (100%)
 rename {test/Kestrel.FunctionalTests => src/Servers/Kestrel/test/FunctionalTests}/RequestHeaderLimitsTests.cs (100%)
 rename {test/Kestrel.FunctionalTests => src/Servers/Kestrel/test/FunctionalTests}/RequestHeadersTimeoutTests.cs (100%)
 rename {test/Kestrel.FunctionalTests => src/Servers/Kestrel/test/FunctionalTests}/RequestTargetProcessingTests.cs (100%)
 rename {test/Kestrel.FunctionalTests => src/Servers/Kestrel/test/FunctionalTests}/RequestTests.cs (100%)
 rename {test/Kestrel.FunctionalTests => src/Servers/Kestrel/test/FunctionalTests}/ResponseTests.cs (100%)
 rename {test/Kestrel.FunctionalTests => src/Servers/Kestrel/test/FunctionalTests}/TestHelpers/HostNameIsReachableAttribute.cs (100%)
 rename {test/Kestrel.FunctionalTests => src/Servers/Kestrel/test/FunctionalTests}/TestHelpers/IPv6ScopeIdPresentConditionAttribute.cs (100%)
 rename {test/Kestrel.FunctionalTests => src/Servers/Kestrel/test/FunctionalTests}/TestHelpers/IPv6SupportedConditionAttribute.cs (100%)
 rename {test/Kestrel.FunctionalTests => src/Servers/Kestrel/test/FunctionalTests}/TestHelpers/IWebHostPortExtensions.cs (100%)
 rename {test/Kestrel.FunctionalTests => src/Servers/Kestrel/test/FunctionalTests}/TestHelpers/TestApplicationErrorLoggerLoggedTest.cs (100%)
 rename {test/Kestrel.FunctionalTests => src/Servers/Kestrel/test/FunctionalTests}/TestHelpers/TestServer.cs (100%)
 rename {test/Kestrel.FunctionalTests => src/Servers/Kestrel/test/FunctionalTests}/UpgradeTests.cs (100%)
 create mode 100644 src/Servers/Kestrel/test/Libuv.FunctionalTests/Libuv.FunctionalTests.csproj
 rename {test/Kestrel.Transport.Libuv.FunctionalTests => src/Servers/Kestrel/test/Libuv.FunctionalTests}/ListenHandleTests.cs (100%)
 rename {test/Kestrel.Transport.Libuv.FunctionalTests => src/Servers/Kestrel/test/Libuv.FunctionalTests}/TransportSelector.cs (100%)
 create mode 100644 src/Servers/Kestrel/test/Sockets.FunctionalTests/Sockets.FunctionalTests.csproj
 rename {test/Kestrel.Transport.Sockets.FunctionalTests => src/Servers/Kestrel/test/Sockets.FunctionalTests}/TransportSelector.cs (100%)
 rename {test => src/Servers/Kestrel/test}/SystemdActivation/Dockerfile (100%)
 rename {test => src/Servers/Kestrel/test}/SystemdActivation/docker-entrypoint.sh (100%)
 rename {test => src/Servers/Kestrel/test}/SystemdActivation/docker.sh (100%)
 rename {tools => src/Servers/Kestrel/tools}/CodeGenerator/CodeGenerator.csproj (58%)
 rename {tools => src/Servers/Kestrel/tools}/CodeGenerator/HttpProtocolFeatureCollection.cs (100%)
 rename {tools => src/Servers/Kestrel/tools}/CodeGenerator/HttpUtilities/CombinationsWithoutRepetition.cs (100%)
 rename {tools => src/Servers/Kestrel/tools}/CodeGenerator/HttpUtilities/HttpUtilities.cs (100%)
 rename {tools => src/Servers/Kestrel/tools}/CodeGenerator/HttpUtilities/HttpUtilitiesGeneratorHelpers.cs (100%)
 rename {tools => src/Servers/Kestrel/tools}/CodeGenerator/KnownHeaders.cs (100%)
 rename {tools => src/Servers/Kestrel/tools}/CodeGenerator/Program.cs (100%)
 rename {test => src/Servers/Kestrel}/xunit.runner.json (100%)
 rename {shared/Microsoft.Extensions.Buffers.Testing.Sources => src/Shared/Buffers.Testing}/BufferSegment.cs (100%)
 rename {shared/Microsoft.Extensions.Buffers.Testing.Sources => src/Shared/Buffers.Testing}/CustomMemoryForTest.cs (100%)
 rename {shared/Microsoft.Extensions.Buffers.Testing.Sources => src/Shared/Buffers.Testing}/ReadOnlySequenceFactory.cs (100%)
 delete mode 100644 test/Directory.Build.props
 delete mode 100644 test/Kestrel.Core.Tests/Kestrel.Core.Tests.csproj
 delete mode 100644 test/Kestrel.Tests/Kestrel.Tests.csproj
 delete mode 100644 test/Kestrel.Transport.Libuv.FunctionalTests/Kestrel.Transport.Libuv.FunctionalTests.csproj
 delete mode 100644 test/Kestrel.Transport.Libuv.Tests/Kestrel.Transport.Libuv.Tests.csproj
 delete mode 100644 test/Kestrel.Transport.Sockets.FunctionalTests/Kestrel.Transport.Sockets.FunctionalTests.csproj
 delete mode 100644 version.props

diff --git a/.appveyor.yml b/.appveyor.yml
deleted file mode 100644
index 1f412bf6b5f..00000000000
--- a/.appveyor.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-init:
-- git config --global core.autocrlf true
-branches:
-  only:
-  - dev
-  - /^release\/.*$/
-  - /^(.*\/)?ci-.*$/
-build_script:
-- ps: .\run.ps1 -ci default-build
-clone_depth: 1
-test: 'off'
-deploy: 'off'
-os: Visual Studio 2017
diff --git a/.gitattributes b/.gitattributes
deleted file mode 100644
index c2f0f842733..00000000000
--- a/.gitattributes
+++ /dev/null
@@ -1,52 +0,0 @@
-*.doc  diff=astextplain
-*.DOC	diff=astextplain
-*.docx	diff=astextplain
-*.DOCX	diff=astextplain
-*.dot	diff=astextplain
-*.DOT	diff=astextplain
-*.pdf	diff=astextplain
-*.PDF	diff=astextplain
-*.rtf	diff=astextplain
-*.RTF	diff=astextplain
-
-*.jpg  	binary
-*.png 	binary
-*.gif 	binary
-
-*.cs text=auto diff=csharp 
-*.vb text=auto
-*.resx text=auto
-*.c text=auto
-*.cpp text=auto
-*.cxx text=auto
-*.h text=auto
-*.hxx text=auto
-*.py text=auto
-*.rb text=auto
-*.java text=auto
-*.html text=auto
-*.htm text=auto
-*.css text=auto
-*.scss text=auto
-*.sass text=auto
-*.less text=auto
-*.js text=auto
-*.lisp text=auto
-*.clj text=auto
-*.sql text=auto
-*.php text=auto
-*.lua text=auto
-*.m text=auto
-*.asm text=auto
-*.erl text=auto
-*.fs text=auto
-*.fsx text=auto
-*.hs text=auto
-
-*.csproj text=auto
-*.vbproj text=auto
-*.fsproj text=auto
-*.dbproj text=auto
-*.sln text=auto eol=crlf
-
-*.sh eol=lf
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 708c4155fa7..00000000000
--- a/.gitignore
+++ /dev/null
@@ -1,37 +0,0 @@
-[Oo]bj/
-[Bb]in/
-TestResults/
-.nuget/
-*.sln.ide/
-_ReSharper.*/
-.idea/
-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
-*.swp
-*~
-.build/
-.testPublish/
-launchSettings.json
-BenchmarkDotNet.Artifacts/
-BDN.Generated/
-binaries/
-global.json
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 3b3d7d726bd..00000000000
--- a/.travis.yml
+++ /dev/null
@@ -1,27 +0,0 @@
-language: csharp
-sudo: required
-dist: trusty
-services:
-- docker
-addons:
-  apt:
-    packages:
-    - libunwind8
-mono: none
-os:
-- linux
-- osx
-osx_image: xcode8.2
-branches:
-  only:
-  - dev
-  - /^release\/.*$/
-  - /^(.*\/)?ci-.*$/
-before_install:
-- if test "$TRAVIS_OS_NAME" == "osx"; then brew update; brew install openssl; ln -s
-  /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib /usr/local/lib/; ln -s /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
-  /usr/local/lib/; fi
-script:
-- ./build.sh --ci
-- if test "$TRAVIS_OS_NAME" != "osx"; then bash test/SystemdActivation/docker.sh;
-  fi
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
deleted file mode 100644
index e69a4b3fda6..00000000000
--- a/.vscode/extensions.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-  "recommendations": [
-    "ms-vscode.csharp",
-    "EditorConfig.EditorConfig",
-    "k--kato.docomment",
-    "PeterJausovec.vscode-docker"
-  ]
-}
diff --git a/.vscode/launch.json b/.vscode/launch.json
deleted file mode 100644
index db6faceb9c7..00000000000
--- a/.vscode/launch.json
+++ /dev/null
@@ -1,103 +0,0 @@
-{
-  "version": "0.2.0",
-  "configurations": [
-    {
-      "name": "Attach: .NET Core",
-      "type": "coreclr",
-      "request": "attach",
-      "processId": "${command:pickProcess}"
-    },
-    {
-      "name": "Attach: .NET Framework",
-      "type": "clr",
-      "request": "attach",
-      "processId": "${command:pickProcess}"
-    },
-    {
-      "name": "Debug: TlsApp",
-      "type": "coreclr",
-      "request": "launch",
-      "program": "${workspaceRoot}/samples/TlsApp/bin/Debug/netcoreapp2.0/TlsApp.dll",
-      "cwd": "${workspaceRoot}/samples/TlsApp",
-      "console": "internalConsole",
-      "stopAtEntry": false,
-      "internalConsoleOptions": "openOnSessionStart",
-      "launchBrowser": {
-        "enabled": true,
-        "args": "https://127.0.0.1:5000",
-        "windows": {
-          "command": "cmd.exe",
-          "args": "/C start ${auto-detect-url}"
-        },
-        "osx": {
-          "command": "open"
-        },
-        "linux": {
-          "command": "xdg-open"
-        }
-      }
-    },
-    {
-      "name": "Debug: SampleApp",
-      "type": "coreclr",
-      "request": "launch",
-      "preLaunchTask": "Compile: solution",
-      "program": "${workspaceRoot}/samples/SampleApp/bin/Debug/netcoreapp2.0/SampleApp.dll",
-      "cwd": "${workspaceRoot}/samples/SampleApp",
-      "console": "internalConsole",
-      "stopAtEntry": false,
-      "internalConsoleOptions": "openOnSessionStart",
-      "launchBrowser": {
-        "enabled": true,
-        "args": "${auto-detect-url}",
-        "windows": {
-          "command": "cmd.exe",
-          "args": "/C start ${auto-detect-url}"
-        },
-        "osx": {
-          "command": "open"
-        },
-        "linux": {
-          "command": "xdg-open"
-        }
-      }
-    },
-    {
-      "name": "Debug: LargeResponseApp",
-      "type": "coreclr",
-      "request": "launch",
-      "preLaunchTask": "Compile: solution",
-      "program": "${workspaceRoot}/samples/LargeResponseApp/bin/Debug/netcoreapp2.0/LargeResponseApp.dll",
-      "cwd": "${workspaceRoot}/samples/LargeResponseApp",
-      "console": "internalConsole",
-      "stopAtEntry": false,
-      "internalConsoleOptions": "openOnSessionStart",
-      "launchBrowser": {
-        "enabled": true,
-        "args": "${auto-detect-url}",
-        "windows": {
-          "command": "cmd.exe",
-          "args": "/C start ${auto-detect-url}"
-        },
-        "osx": {
-          "command": "open"
-        },
-        "linux": {
-          "command": "xdg-open"
-        }
-      }
-    },
-    {
-      "name": "Debug: CodeGenerator",
-      "type": "coreclr",
-      "request": "launch",
-      "preLaunchTask": "Compile: CodeGenerator",
-      "program": "${workspaceRoot}/tools/CodeGenerator/bin/Debug/netcoreapp2.0/CodeGenerator.dll",
-      "args": [],
-      "cwd": "${workspaceRoot}",
-      "console": "internalConsole",
-      "stopAtEntry": true,
-      "internalConsoleOptions": "openOnSessionStart"
-    }
-  ]
-}
diff --git a/.vscode/settings.json b/.vscode/settings.json
deleted file mode 100644
index 0c60b84e844..00000000000
--- a/.vscode/settings.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-  "[json]": {
-    "editor.tabSize": 2
-  },
-  "files.trimTrailingWhitespace": true,
-  "files.associations": {
-    "*.props": "xml",
-    "*.targets": "xml"
-  }
-}
diff --git a/.vscode/tasks.json b/.vscode/tasks.json
deleted file mode 100644
index 97f0b7ad07e..00000000000
--- a/.vscode/tasks.json
+++ /dev/null
@@ -1,117 +0,0 @@
-{
-  "version": "2.0.0",
-  "options": {
-    "env": {
-      "DOTNET_SKIP_FIRST_TIME_EXPERIENCE": "true"
-    }
-  },
-  // requires that you first run build.cmd or build.sh to install local builds of dotnet
-  "windows": {
-    "command": "${env:USERPROFILE}/.dotnet/x64/dotnet.exe"
-  },
-  "osx": {
-    "command": "${env:HOME}/.dotnet/dotnet"
-  },
-  "linux": {
-    "command": "${env:HOME}/.dotnet/dotnet"
-  },
-  "suppressTaskName": true,
-  "tasks": [
-    {
-      "taskName": "Restore: solution",
-      "args": [
-        "restore"
-      ]
-    },
-    {
-      "taskName": "Compile: solution",
-      "group": {
-        "isDefault": true,
-        "kind": "build"
-      },
-      "presentation": {
-        "panel": "dedicated"
-      },
-      "args": [
-        "build",
-        "${workspaceRoot}/KestrelHttpServer.sln",
-        "/p:GenerateFullPaths=true"
-      ],
-      "problemMatcher": "$msCompile",
-      // these have to defined here because of https://github.com/Microsoft/vscode/issues/20740
-      "osx": {
-        "options": {
-          "env": {
-            // The location of .NET Framework reference assembiles.
-            // These may not be installed yet if you have not run build.sh.
-            "ReferenceAssemblyRoot": "${env:HOME}/.dotnet/buildtools/netfx/4.6.1/"
-          }
-        }
-      },
-      "linux": {
-        "options": {
-          "env": {
-            "ReferenceAssemblyRoot": "${env:HOME}/.dotnet/buildtools/netfx/4.6.1/"
-          }
-        }
-      }
-    },
-    {
-      "taskName": "Test",
-      "args": [
-        "test",
-        "/p:GenerateFullPaths=true"
-      ],
-      "problemMatcher": "$msCompile",
-      "group": "test"
-    },
-    {
-      "taskName": "Compile: CodeGenerator",
-      "args": [
-        "build",
-        "/p:GenerateFullPaths=true"
-      ],
-      "options": {
-        "cwd": "${workspaceRoot}/tools/CodeGenerator/"
-      },
-      "problemMatcher": "$msCompile"
-    },
-    {
-      "taskName": "Run: CodeGenerator",
-      "args": [
-        "run"
-      ],
-      "options": {
-        "cwd": "${workspaceRoot}/tools/CodeGenerator/"
-      }
-    },
-    {
-      "taskName": "Run: resx generation",
-      "suppressTaskName": true,
-      "command": "build.cmd",
-      "args": [
-        "/t:resx"
-      ],
-      "options": {
-        "cwd": "${workspaceRoot}"
-      },
-      "osx": {
-        "command": "./build.sh"
-      },
-      "linux": {
-        "command": "./build.sh"
-      }
-    },
-    {
-      "taskName": "Run: Benchmarks",
-      "args": [
-        "run",
-        "-c",
-        "Release"
-      ],
-      "options": {
-        "cwd": "${workspaceRoot}/test/Kestrel.Performance/"
-      }
-    }
-  ]
-}
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
deleted file mode 100644
index 952d5b87f31..00000000000
--- a/CONTRIBUTING.md
+++ /dev/null
@@ -1,4 +0,0 @@
-Contributing
-============
-
-Information on contributing to this repo is in the [Contributing Guide](https://github.com/aspnet/Home/blob/dev/CONTRIBUTING.md) in the Home repo.
diff --git a/Directory.Build.props b/Directory.Build.props
deleted file mode 100644
index 170752b08d1..00000000000
--- a/Directory.Build.props
+++ /dev/null
@@ -1,21 +0,0 @@
-<Project>
-  <Import
-    Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), AspNetCoreSettings.props))\AspNetCoreSettings.props"
-    Condition=" '$(CI)' != 'true' AND '$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), AspNetCoreSettings.props))' != '' " />
-
-  <Import Project="version.props" />
-  <Import Project="build\dependencies.props" />
-  <Import Project="build\sources.props" />
-
-  <PropertyGroup>
-    <Product>Microsoft ASP.NET Core</Product>
-    <RepositoryUrl>https://github.com/aspnet/KestrelHttpServer</RepositoryUrl>
-    <RepositoryType>git</RepositoryType>
-    <RepositoryRoot>$(MSBuildThisFileDirectory)</RepositoryRoot>
-    <AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)build\Key.snk</AssemblyOriginatorKeyFile>
-    <SignAssembly>true</SignAssembly>
-    <PublicSign Condition="'$(OS)' != 'Windows_NT'">true</PublicSign>
-    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
-    <LangVersion>latest</LangVersion>
-  </PropertyGroup>
-</Project>
diff --git a/Directory.Build.targets b/Directory.Build.targets
deleted file mode 100644
index 53b3f6e1dab..00000000000
--- a/Directory.Build.targets
+++ /dev/null
@@ -1,7 +0,0 @@
-<Project>
-  <PropertyGroup>
-    <RuntimeFrameworkVersion Condition=" '$(TargetFramework)' == 'netcoreapp2.0' ">$(MicrosoftNETCoreApp20PackageVersion)</RuntimeFrameworkVersion>
-    <RuntimeFrameworkVersion Condition=" '$(TargetFramework)' == 'netcoreapp2.1' ">$(MicrosoftNETCoreApp21PackageVersion)</RuntimeFrameworkVersion>
-    <NETStandardImplicitPackageVersion Condition=" '$(TargetFramework)' == 'netstandard2.0' ">$(NETStandardLibrary20PackageVersion)</NETStandardImplicitPackageVersion>
-  </PropertyGroup>
-</Project>
diff --git a/KestrelHttpServer.sln b/KestrelHttpServer.sln
deleted file mode 100644
index 41323981f78..00000000000
--- a/KestrelHttpServer.sln
+++ /dev/null
@@ -1,412 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.27130.2010
-MinimumVisualStudioVersion = 15.0.26730.03
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{7972A5D6-3385-4127-9277-428506DD44FF}"
-	ProjectSection(SolutionItems) = preProject
-		.appveyor.yml = .appveyor.yml
-		.gitattributes = .gitattributes
-		.gitignore = .gitignore
-		.travis.yml = .travis.yml
-		build.cmd = build.cmd
-		build.ps1 = build.ps1
-		build.sh = build.sh
-		CONTRIBUTING.md = CONTRIBUTING.md
-		Directory.Build.props = Directory.Build.props
-		Directory.Build.targets = Directory.Build.targets
-		LICENSE.txt = LICENSE.txt
-		NuGet.Config = NuGet.Config
-		NuGetPackageVerifier.json = NuGetPackageVerifier.json
-		README.md = README.md
-		ToProjectReferences.ps1 = ToProjectReferences.ps1
-		version.xml = version.xml
-	EndProjectSection
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{2D5D5227-4DBD-499A-96B1-76A36B03B750}"
-	ProjectSection(SolutionItems) = preProject
-		src\Directory.Build.props = src\Directory.Build.props
-	EndProjectSection
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{D3273454-EA07-41D2-BF0B-FCC3675C2483}"
-	ProjectSection(SolutionItems) = preProject
-		test\Directory.Build.props = test\Directory.Build.props
-		test\xunit.runner.json = test\xunit.runner.json
-	EndProjectSection
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{8A3D00B8-1CCF-4BE6-A060-11104CE2D9CE}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tools", "tools", "{327F7880-D9AF-46BD-B45C-3B7E34A01DFD}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "shared", "shared", "{0EF2ACDF-012F-4472-A13A-4272419E2903}"
-	ProjectSection(SolutionItems) = preProject
-		test\shared\DummyApplication.cs = test\shared\DummyApplication.cs
-		test\shared\HttpParsingData.cs = test\shared\HttpParsingData.cs
-		test\shared\KestrelTestLoggerProvider.cs = test\shared\KestrelTestLoggerProvider.cs
-		test\shared\LifetimeNotImplemented.cs = test\shared\LifetimeNotImplemented.cs
-		test\shared\MockConnectionInformation.cs = test\shared\MockConnectionInformation.cs
-		test\shared\MockLogger.cs = test\shared\MockLogger.cs
-		test\shared\MockSystemClock.cs = test\shared\MockSystemClock.cs
-		test\shared\StringExtensions.cs = test\shared\StringExtensions.cs
-		test\shared\TestApp.cs = test\shared\TestApp.cs
-		test\shared\TestApplicationErrorLogger.cs = test\shared\TestApplicationErrorLogger.cs
-		test\shared\TestConnection.cs = test\shared\TestConnection.cs
-		test\shared\TestFrame.cs = test\shared\TestFrame.cs
-		test\shared\TestKestrelTrace.cs = test\shared\TestKestrelTrace.cs
-		test\shared\TestResources.cs = test\shared\TestResources.cs
-		test\shared\TestServiceContext.cs = test\shared\TestServiceContext.cs
-	EndProjectSection
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kestrel.Core", "src\Kestrel.Core\Kestrel.Core.csproj", "{F510611A-3BEE-4B88-A613-5F4A74ED82A1}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kestrel.Core.Tests", "test\Kestrel.Core.Tests\Kestrel.Core.Tests.csproj", "{37F3BFB2-6454-49E5-9D7F-581BF755CCFE}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SampleApp", "samples\SampleApp\SampleApp.csproj", "{2C3CB3DC-EEBF-4F52-9E1C-4F2F972E76C3}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LargeResponseApp", "samples\LargeResponseApp\LargeResponseApp.csproj", "{B35D4D31-E74C-4646-8A11-7A7A40F0021E}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CodeGenerator", "tools\CodeGenerator\CodeGenerator.csproj", "{BD2D4D29-1BD9-40D0-BB31-337D5416B63C}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kestrel.Https", "src\Kestrel.Https\Kestrel.Https.csproj", "{5F64B3C3-0C2E-431A-B820-A81BBFC863DA}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kestrel.Performance", "benchmarks\Kestrel.Performance\Kestrel.Performance.csproj", "{EBFE9719-A44B-4978-A71F-D5C254E7F35A}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TestCertificates", "TestCertificates", "{2822C132-BFFB-4D53-AC5B-E7E47DD81A6E}"
-	ProjectSection(SolutionItems) = preProject
-		test\shared\TestCertificates\eku.client.ini = test\shared\TestCertificates\eku.client.ini
-		test\shared\TestCertificates\eku.client.pfx = test\shared\TestCertificates\eku.client.pfx
-		test\shared\TestCertificates\eku.code_signing.ini = test\shared\TestCertificates\eku.code_signing.ini
-		test\shared\TestCertificates\eku.code_signing.pfx = test\shared\TestCertificates\eku.code_signing.pfx
-		test\shared\TestCertificates\eku.multiple_usages.ini = test\shared\TestCertificates\eku.multiple_usages.ini
-		test\shared\TestCertificates\eku.multiple_usages.pfx = test\shared\TestCertificates\eku.multiple_usages.pfx
-		test\shared\TestCertificates\eku.server.ini = test\shared\TestCertificates\eku.server.ini
-		test\shared\TestCertificates\eku.server.pfx = test\shared\TestCertificates\eku.server.pfx
-		test\shared\TestCertificates\make-test-certs.sh = test\shared\TestCertificates\make-test-certs.sh
-		test\shared\TestCertificates\no_extensions.ini = test\shared\TestCertificates\no_extensions.ini
-		test\shared\TestCertificates\no_extensions.pfx = test\shared\TestCertificates\no_extensions.pfx
-		test\shared\TestCertificates\testCert.pfx = test\shared\TestCertificates\testCert.pfx
-	EndProjectSection
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kestrel.Transport.Libuv", "src\Kestrel.Transport.Libuv\Kestrel.Transport.Libuv.csproj", "{A76B8C8C-0DC5-4DD3-9B1F-02E51A0915F4}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kestrel", "src\Kestrel\Kestrel.csproj", "{56139957-5C29-4E7D-89BD-7D20598B4EAF}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kestrel.Transport.Sockets", "src\Kestrel.Transport.Sockets\Kestrel.Transport.Sockets.csproj", "{6950B18F-A3D2-41A4-AFEC-8B7C49517611}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kestrel.Transport.Abstractions", "src\Kestrel.Transport.Abstractions\Kestrel.Transport.Abstractions.csproj", "{2E9CB89D-EC8F-4DD9-A72B-08D5BABF752D}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kestrel.Transport.Libuv.Tests", "test\Kestrel.Transport.Libuv.Tests\Kestrel.Transport.Libuv.Tests.csproj", "{D95A7EC3-48AC-4D03-B2E2-0DA3E13BD3A4}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kestrel.Tests", "test\Kestrel.Tests\Kestrel.Tests.csproj", "{4F1C30F8-CCAA-48D7-9DF6-2A84021F5BCC}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "benchmarks", "benchmarks", "{A95C3BE1-B850-4265-97A0-777ADCCD437F}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Connections.Abstractions", "src\Connections.Abstractions\Connections.Abstractions.csproj", "{6956CF5C-3163-4398-8628-4ECA569245B5}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{C2910A13-B2C2-46D8-81D8-7E166F4F5981}"
-	ProjectSection(SolutionItems) = preProject
-		build\dependencies.props = build\dependencies.props
-		build\repo.props = build\repo.props
-		build\repo.targets = build\repo.targets
-	EndProjectSection
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SystemdActivation", "SystemdActivation", "{B7B0EA74-528F-46B8-9BC4-909D9A67C194}"
-	ProjectSection(SolutionItems) = preProject
-		test\SystemdActivation\docker-entrypoint.sh = test\SystemdActivation\docker-entrypoint.sh
-		test\SystemdActivation\docker.sh = test\SystemdActivation\docker.sh
-		test\SystemdActivation\Dockerfile = test\SystemdActivation\Dockerfile
-	EndProjectSection
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kestrel.Transport.Libuv.FunctionalTests", "test\Kestrel.Transport.Libuv.FunctionalTests\Kestrel.Transport.Libuv.FunctionalTests.csproj", "{74032D79-8EA7-4483-BD82-C38370420FFF}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kestrel.Transport.Sockets.FunctionalTests", "test\Kestrel.Transport.Sockets.FunctionalTests\Kestrel.Transport.Sockets.FunctionalTests.csproj", "{9C7B6B5F-088A-436E-834B-6373EA36DEEE}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Http2SampleApp", "samples\Http2SampleApp\Http2SampleApp.csproj", "{7BC22A4A-15D2-44C2-AB45-049F0FB562FA}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SystemdTestApp", "samples\SystemdTestApp\SystemdTestApp.csproj", "{A7994A41-CAF8-47A7-8975-F101F75B5BC1}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PlaintextApp", "samples\PlaintextApp\PlaintextApp.csproj", "{CE5523AE-6E38-4E20-998F-C64E02C5CC51}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PlatformBenchmarks", "benchmarkapps\PlatformBenchmarks\PlatformBenchmarks.csproj", "{7C24EAB8-57A9-4613-A8A6-4C21BB7D260D}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|Any CPU = Debug|Any CPU
-		Debug|x64 = Debug|x64
-		Debug|x86 = Debug|x86
-		Release|Any CPU = Release|Any CPU
-		Release|x64 = Release|x64
-		Release|x86 = Release|x86
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{F510611A-3BEE-4B88-A613-5F4A74ED82A1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{F510611A-3BEE-4B88-A613-5F4A74ED82A1}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{F510611A-3BEE-4B88-A613-5F4A74ED82A1}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{F510611A-3BEE-4B88-A613-5F4A74ED82A1}.Debug|x64.Build.0 = Debug|Any CPU
-		{F510611A-3BEE-4B88-A613-5F4A74ED82A1}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{F510611A-3BEE-4B88-A613-5F4A74ED82A1}.Debug|x86.Build.0 = Debug|Any CPU
-		{F510611A-3BEE-4B88-A613-5F4A74ED82A1}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{F510611A-3BEE-4B88-A613-5F4A74ED82A1}.Release|Any CPU.Build.0 = Release|Any CPU
-		{F510611A-3BEE-4B88-A613-5F4A74ED82A1}.Release|x64.ActiveCfg = Release|Any CPU
-		{F510611A-3BEE-4B88-A613-5F4A74ED82A1}.Release|x64.Build.0 = Release|Any CPU
-		{F510611A-3BEE-4B88-A613-5F4A74ED82A1}.Release|x86.ActiveCfg = Release|Any CPU
-		{F510611A-3BEE-4B88-A613-5F4A74ED82A1}.Release|x86.Build.0 = Release|Any CPU
-		{37F3BFB2-6454-49E5-9D7F-581BF755CCFE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{37F3BFB2-6454-49E5-9D7F-581BF755CCFE}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{37F3BFB2-6454-49E5-9D7F-581BF755CCFE}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{37F3BFB2-6454-49E5-9D7F-581BF755CCFE}.Debug|x64.Build.0 = Debug|Any CPU
-		{37F3BFB2-6454-49E5-9D7F-581BF755CCFE}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{37F3BFB2-6454-49E5-9D7F-581BF755CCFE}.Debug|x86.Build.0 = Debug|Any CPU
-		{37F3BFB2-6454-49E5-9D7F-581BF755CCFE}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{37F3BFB2-6454-49E5-9D7F-581BF755CCFE}.Release|Any CPU.Build.0 = Release|Any CPU
-		{37F3BFB2-6454-49E5-9D7F-581BF755CCFE}.Release|x64.ActiveCfg = Release|Any CPU
-		{37F3BFB2-6454-49E5-9D7F-581BF755CCFE}.Release|x64.Build.0 = Release|Any CPU
-		{37F3BFB2-6454-49E5-9D7F-581BF755CCFE}.Release|x86.ActiveCfg = Release|Any CPU
-		{37F3BFB2-6454-49E5-9D7F-581BF755CCFE}.Release|x86.Build.0 = Release|Any CPU
-		{2C3CB3DC-EEBF-4F52-9E1C-4F2F972E76C3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{2C3CB3DC-EEBF-4F52-9E1C-4F2F972E76C3}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{2C3CB3DC-EEBF-4F52-9E1C-4F2F972E76C3}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{2C3CB3DC-EEBF-4F52-9E1C-4F2F972E76C3}.Debug|x64.Build.0 = Debug|Any CPU
-		{2C3CB3DC-EEBF-4F52-9E1C-4F2F972E76C3}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{2C3CB3DC-EEBF-4F52-9E1C-4F2F972E76C3}.Debug|x86.Build.0 = Debug|Any CPU
-		{2C3CB3DC-EEBF-4F52-9E1C-4F2F972E76C3}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{2C3CB3DC-EEBF-4F52-9E1C-4F2F972E76C3}.Release|Any CPU.Build.0 = Release|Any CPU
-		{2C3CB3DC-EEBF-4F52-9E1C-4F2F972E76C3}.Release|x64.ActiveCfg = Release|Any CPU
-		{2C3CB3DC-EEBF-4F52-9E1C-4F2F972E76C3}.Release|x64.Build.0 = Release|Any CPU
-		{2C3CB3DC-EEBF-4F52-9E1C-4F2F972E76C3}.Release|x86.ActiveCfg = Release|Any CPU
-		{2C3CB3DC-EEBF-4F52-9E1C-4F2F972E76C3}.Release|x86.Build.0 = Release|Any CPU
-		{B35D4D31-E74C-4646-8A11-7A7A40F0021E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{B35D4D31-E74C-4646-8A11-7A7A40F0021E}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{B35D4D31-E74C-4646-8A11-7A7A40F0021E}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{B35D4D31-E74C-4646-8A11-7A7A40F0021E}.Debug|x64.Build.0 = Debug|Any CPU
-		{B35D4D31-E74C-4646-8A11-7A7A40F0021E}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{B35D4D31-E74C-4646-8A11-7A7A40F0021E}.Debug|x86.Build.0 = Debug|Any CPU
-		{B35D4D31-E74C-4646-8A11-7A7A40F0021E}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{B35D4D31-E74C-4646-8A11-7A7A40F0021E}.Release|Any CPU.Build.0 = Release|Any CPU
-		{B35D4D31-E74C-4646-8A11-7A7A40F0021E}.Release|x64.ActiveCfg = Release|Any CPU
-		{B35D4D31-E74C-4646-8A11-7A7A40F0021E}.Release|x64.Build.0 = Release|Any CPU
-		{B35D4D31-E74C-4646-8A11-7A7A40F0021E}.Release|x86.ActiveCfg = Release|Any CPU
-		{B35D4D31-E74C-4646-8A11-7A7A40F0021E}.Release|x86.Build.0 = Release|Any CPU
-		{BD2D4D29-1BD9-40D0-BB31-337D5416B63C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{BD2D4D29-1BD9-40D0-BB31-337D5416B63C}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{BD2D4D29-1BD9-40D0-BB31-337D5416B63C}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{BD2D4D29-1BD9-40D0-BB31-337D5416B63C}.Debug|x64.Build.0 = Debug|Any CPU
-		{BD2D4D29-1BD9-40D0-BB31-337D5416B63C}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{BD2D4D29-1BD9-40D0-BB31-337D5416B63C}.Debug|x86.Build.0 = Debug|Any CPU
-		{BD2D4D29-1BD9-40D0-BB31-337D5416B63C}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{BD2D4D29-1BD9-40D0-BB31-337D5416B63C}.Release|Any CPU.Build.0 = Release|Any CPU
-		{BD2D4D29-1BD9-40D0-BB31-337D5416B63C}.Release|x64.ActiveCfg = Release|Any CPU
-		{BD2D4D29-1BD9-40D0-BB31-337D5416B63C}.Release|x64.Build.0 = Release|Any CPU
-		{BD2D4D29-1BD9-40D0-BB31-337D5416B63C}.Release|x86.ActiveCfg = Release|Any CPU
-		{BD2D4D29-1BD9-40D0-BB31-337D5416B63C}.Release|x86.Build.0 = Release|Any CPU
-		{5F64B3C3-0C2E-431A-B820-A81BBFC863DA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{5F64B3C3-0C2E-431A-B820-A81BBFC863DA}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{5F64B3C3-0C2E-431A-B820-A81BBFC863DA}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{5F64B3C3-0C2E-431A-B820-A81BBFC863DA}.Debug|x64.Build.0 = Debug|Any CPU
-		{5F64B3C3-0C2E-431A-B820-A81BBFC863DA}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{5F64B3C3-0C2E-431A-B820-A81BBFC863DA}.Debug|x86.Build.0 = Debug|Any CPU
-		{5F64B3C3-0C2E-431A-B820-A81BBFC863DA}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{5F64B3C3-0C2E-431A-B820-A81BBFC863DA}.Release|Any CPU.Build.0 = Release|Any CPU
-		{5F64B3C3-0C2E-431A-B820-A81BBFC863DA}.Release|x64.ActiveCfg = Release|Any CPU
-		{5F64B3C3-0C2E-431A-B820-A81BBFC863DA}.Release|x64.Build.0 = Release|Any CPU
-		{5F64B3C3-0C2E-431A-B820-A81BBFC863DA}.Release|x86.ActiveCfg = Release|Any CPU
-		{5F64B3C3-0C2E-431A-B820-A81BBFC863DA}.Release|x86.Build.0 = Release|Any CPU
-		{EBFE9719-A44B-4978-A71F-D5C254E7F35A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{EBFE9719-A44B-4978-A71F-D5C254E7F35A}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{EBFE9719-A44B-4978-A71F-D5C254E7F35A}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{EBFE9719-A44B-4978-A71F-D5C254E7F35A}.Debug|x64.Build.0 = Debug|Any CPU
-		{EBFE9719-A44B-4978-A71F-D5C254E7F35A}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{EBFE9719-A44B-4978-A71F-D5C254E7F35A}.Debug|x86.Build.0 = Debug|Any CPU
-		{EBFE9719-A44B-4978-A71F-D5C254E7F35A}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{EBFE9719-A44B-4978-A71F-D5C254E7F35A}.Release|Any CPU.Build.0 = Release|Any CPU
-		{EBFE9719-A44B-4978-A71F-D5C254E7F35A}.Release|x64.ActiveCfg = Release|Any CPU
-		{EBFE9719-A44B-4978-A71F-D5C254E7F35A}.Release|x64.Build.0 = Release|Any CPU
-		{EBFE9719-A44B-4978-A71F-D5C254E7F35A}.Release|x86.ActiveCfg = Release|Any CPU
-		{EBFE9719-A44B-4978-A71F-D5C254E7F35A}.Release|x86.Build.0 = Release|Any CPU
-		{A76B8C8C-0DC5-4DD3-9B1F-02E51A0915F4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{A76B8C8C-0DC5-4DD3-9B1F-02E51A0915F4}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{A76B8C8C-0DC5-4DD3-9B1F-02E51A0915F4}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{A76B8C8C-0DC5-4DD3-9B1F-02E51A0915F4}.Debug|x64.Build.0 = Debug|Any CPU
-		{A76B8C8C-0DC5-4DD3-9B1F-02E51A0915F4}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{A76B8C8C-0DC5-4DD3-9B1F-02E51A0915F4}.Debug|x86.Build.0 = Debug|Any CPU
-		{A76B8C8C-0DC5-4DD3-9B1F-02E51A0915F4}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{A76B8C8C-0DC5-4DD3-9B1F-02E51A0915F4}.Release|Any CPU.Build.0 = Release|Any CPU
-		{A76B8C8C-0DC5-4DD3-9B1F-02E51A0915F4}.Release|x64.ActiveCfg = Release|Any CPU
-		{A76B8C8C-0DC5-4DD3-9B1F-02E51A0915F4}.Release|x64.Build.0 = Release|Any CPU
-		{A76B8C8C-0DC5-4DD3-9B1F-02E51A0915F4}.Release|x86.ActiveCfg = Release|Any CPU
-		{A76B8C8C-0DC5-4DD3-9B1F-02E51A0915F4}.Release|x86.Build.0 = Release|Any CPU
-		{56139957-5C29-4E7D-89BD-7D20598B4EAF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{56139957-5C29-4E7D-89BD-7D20598B4EAF}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{56139957-5C29-4E7D-89BD-7D20598B4EAF}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{56139957-5C29-4E7D-89BD-7D20598B4EAF}.Debug|x64.Build.0 = Debug|Any CPU
-		{56139957-5C29-4E7D-89BD-7D20598B4EAF}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{56139957-5C29-4E7D-89BD-7D20598B4EAF}.Debug|x86.Build.0 = Debug|Any CPU
-		{56139957-5C29-4E7D-89BD-7D20598B4EAF}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{56139957-5C29-4E7D-89BD-7D20598B4EAF}.Release|Any CPU.Build.0 = Release|Any CPU
-		{56139957-5C29-4E7D-89BD-7D20598B4EAF}.Release|x64.ActiveCfg = Release|Any CPU
-		{56139957-5C29-4E7D-89BD-7D20598B4EAF}.Release|x64.Build.0 = Release|Any CPU
-		{56139957-5C29-4E7D-89BD-7D20598B4EAF}.Release|x86.ActiveCfg = Release|Any CPU
-		{56139957-5C29-4E7D-89BD-7D20598B4EAF}.Release|x86.Build.0 = Release|Any CPU
-		{6950B18F-A3D2-41A4-AFEC-8B7C49517611}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{6950B18F-A3D2-41A4-AFEC-8B7C49517611}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{6950B18F-A3D2-41A4-AFEC-8B7C49517611}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{6950B18F-A3D2-41A4-AFEC-8B7C49517611}.Debug|x64.Build.0 = Debug|Any CPU
-		{6950B18F-A3D2-41A4-AFEC-8B7C49517611}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{6950B18F-A3D2-41A4-AFEC-8B7C49517611}.Debug|x86.Build.0 = Debug|Any CPU
-		{6950B18F-A3D2-41A4-AFEC-8B7C49517611}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{6950B18F-A3D2-41A4-AFEC-8B7C49517611}.Release|Any CPU.Build.0 = Release|Any CPU
-		{6950B18F-A3D2-41A4-AFEC-8B7C49517611}.Release|x64.ActiveCfg = Release|Any CPU
-		{6950B18F-A3D2-41A4-AFEC-8B7C49517611}.Release|x64.Build.0 = Release|Any CPU
-		{6950B18F-A3D2-41A4-AFEC-8B7C49517611}.Release|x86.ActiveCfg = Release|Any CPU
-		{6950B18F-A3D2-41A4-AFEC-8B7C49517611}.Release|x86.Build.0 = Release|Any CPU
-		{2E9CB89D-EC8F-4DD9-A72B-08D5BABF752D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{2E9CB89D-EC8F-4DD9-A72B-08D5BABF752D}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{2E9CB89D-EC8F-4DD9-A72B-08D5BABF752D}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{2E9CB89D-EC8F-4DD9-A72B-08D5BABF752D}.Debug|x64.Build.0 = Debug|Any CPU
-		{2E9CB89D-EC8F-4DD9-A72B-08D5BABF752D}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{2E9CB89D-EC8F-4DD9-A72B-08D5BABF752D}.Debug|x86.Build.0 = Debug|Any CPU
-		{2E9CB89D-EC8F-4DD9-A72B-08D5BABF752D}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{2E9CB89D-EC8F-4DD9-A72B-08D5BABF752D}.Release|Any CPU.Build.0 = Release|Any CPU
-		{2E9CB89D-EC8F-4DD9-A72B-08D5BABF752D}.Release|x64.ActiveCfg = Release|Any CPU
-		{2E9CB89D-EC8F-4DD9-A72B-08D5BABF752D}.Release|x64.Build.0 = Release|Any CPU
-		{2E9CB89D-EC8F-4DD9-A72B-08D5BABF752D}.Release|x86.ActiveCfg = Release|Any CPU
-		{2E9CB89D-EC8F-4DD9-A72B-08D5BABF752D}.Release|x86.Build.0 = Release|Any CPU
-		{D95A7EC3-48AC-4D03-B2E2-0DA3E13BD3A4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{D95A7EC3-48AC-4D03-B2E2-0DA3E13BD3A4}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{D95A7EC3-48AC-4D03-B2E2-0DA3E13BD3A4}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{D95A7EC3-48AC-4D03-B2E2-0DA3E13BD3A4}.Debug|x64.Build.0 = Debug|Any CPU
-		{D95A7EC3-48AC-4D03-B2E2-0DA3E13BD3A4}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{D95A7EC3-48AC-4D03-B2E2-0DA3E13BD3A4}.Debug|x86.Build.0 = Debug|Any CPU
-		{D95A7EC3-48AC-4D03-B2E2-0DA3E13BD3A4}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{D95A7EC3-48AC-4D03-B2E2-0DA3E13BD3A4}.Release|Any CPU.Build.0 = Release|Any CPU
-		{D95A7EC3-48AC-4D03-B2E2-0DA3E13BD3A4}.Release|x64.ActiveCfg = Release|Any CPU
-		{D95A7EC3-48AC-4D03-B2E2-0DA3E13BD3A4}.Release|x64.Build.0 = Release|Any CPU
-		{D95A7EC3-48AC-4D03-B2E2-0DA3E13BD3A4}.Release|x86.ActiveCfg = Release|Any CPU
-		{D95A7EC3-48AC-4D03-B2E2-0DA3E13BD3A4}.Release|x86.Build.0 = Release|Any CPU
-		{4F1C30F8-CCAA-48D7-9DF6-2A84021F5BCC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{4F1C30F8-CCAA-48D7-9DF6-2A84021F5BCC}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{4F1C30F8-CCAA-48D7-9DF6-2A84021F5BCC}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{4F1C30F8-CCAA-48D7-9DF6-2A84021F5BCC}.Debug|x64.Build.0 = Debug|Any CPU
-		{4F1C30F8-CCAA-48D7-9DF6-2A84021F5BCC}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{4F1C30F8-CCAA-48D7-9DF6-2A84021F5BCC}.Debug|x86.Build.0 = Debug|Any CPU
-		{4F1C30F8-CCAA-48D7-9DF6-2A84021F5BCC}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{4F1C30F8-CCAA-48D7-9DF6-2A84021F5BCC}.Release|Any CPU.Build.0 = Release|Any CPU
-		{4F1C30F8-CCAA-48D7-9DF6-2A84021F5BCC}.Release|x64.ActiveCfg = Release|Any CPU
-		{4F1C30F8-CCAA-48D7-9DF6-2A84021F5BCC}.Release|x64.Build.0 = Release|Any CPU
-		{4F1C30F8-CCAA-48D7-9DF6-2A84021F5BCC}.Release|x86.ActiveCfg = Release|Any CPU
-		{4F1C30F8-CCAA-48D7-9DF6-2A84021F5BCC}.Release|x86.Build.0 = Release|Any CPU
-		{6956CF5C-3163-4398-8628-4ECA569245B5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{6956CF5C-3163-4398-8628-4ECA569245B5}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{6956CF5C-3163-4398-8628-4ECA569245B5}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{6956CF5C-3163-4398-8628-4ECA569245B5}.Debug|x64.Build.0 = Debug|Any CPU
-		{6956CF5C-3163-4398-8628-4ECA569245B5}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{6956CF5C-3163-4398-8628-4ECA569245B5}.Debug|x86.Build.0 = Debug|Any CPU
-		{6956CF5C-3163-4398-8628-4ECA569245B5}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{6956CF5C-3163-4398-8628-4ECA569245B5}.Release|Any CPU.Build.0 = Release|Any CPU
-		{6956CF5C-3163-4398-8628-4ECA569245B5}.Release|x64.ActiveCfg = Release|Any CPU
-		{6956CF5C-3163-4398-8628-4ECA569245B5}.Release|x64.Build.0 = Release|Any CPU
-		{6956CF5C-3163-4398-8628-4ECA569245B5}.Release|x86.ActiveCfg = Release|Any CPU
-		{6956CF5C-3163-4398-8628-4ECA569245B5}.Release|x86.Build.0 = Release|Any CPU
-		{74032D79-8EA7-4483-BD82-C38370420FFF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{74032D79-8EA7-4483-BD82-C38370420FFF}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{74032D79-8EA7-4483-BD82-C38370420FFF}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{74032D79-8EA7-4483-BD82-C38370420FFF}.Debug|x64.Build.0 = Debug|Any CPU
-		{74032D79-8EA7-4483-BD82-C38370420FFF}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{74032D79-8EA7-4483-BD82-C38370420FFF}.Debug|x86.Build.0 = Debug|Any CPU
-		{74032D79-8EA7-4483-BD82-C38370420FFF}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{74032D79-8EA7-4483-BD82-C38370420FFF}.Release|Any CPU.Build.0 = Release|Any CPU
-		{74032D79-8EA7-4483-BD82-C38370420FFF}.Release|x64.ActiveCfg = Release|Any CPU
-		{74032D79-8EA7-4483-BD82-C38370420FFF}.Release|x64.Build.0 = Release|Any CPU
-		{74032D79-8EA7-4483-BD82-C38370420FFF}.Release|x86.ActiveCfg = Release|Any CPU
-		{74032D79-8EA7-4483-BD82-C38370420FFF}.Release|x86.Build.0 = Release|Any CPU
-		{9C7B6B5F-088A-436E-834B-6373EA36DEEE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{9C7B6B5F-088A-436E-834B-6373EA36DEEE}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{9C7B6B5F-088A-436E-834B-6373EA36DEEE}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{9C7B6B5F-088A-436E-834B-6373EA36DEEE}.Debug|x64.Build.0 = Debug|Any CPU
-		{9C7B6B5F-088A-436E-834B-6373EA36DEEE}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{9C7B6B5F-088A-436E-834B-6373EA36DEEE}.Debug|x86.Build.0 = Debug|Any CPU
-		{9C7B6B5F-088A-436E-834B-6373EA36DEEE}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{9C7B6B5F-088A-436E-834B-6373EA36DEEE}.Release|Any CPU.Build.0 = Release|Any CPU
-		{9C7B6B5F-088A-436E-834B-6373EA36DEEE}.Release|x64.ActiveCfg = Release|Any CPU
-		{9C7B6B5F-088A-436E-834B-6373EA36DEEE}.Release|x64.Build.0 = Release|Any CPU
-		{9C7B6B5F-088A-436E-834B-6373EA36DEEE}.Release|x86.ActiveCfg = Release|Any CPU
-		{9C7B6B5F-088A-436E-834B-6373EA36DEEE}.Release|x86.Build.0 = Release|Any CPU
-		{7BC22A4A-15D2-44C2-AB45-049F0FB562FA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{7BC22A4A-15D2-44C2-AB45-049F0FB562FA}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{7BC22A4A-15D2-44C2-AB45-049F0FB562FA}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{7BC22A4A-15D2-44C2-AB45-049F0FB562FA}.Debug|x64.Build.0 = Debug|Any CPU
-		{7BC22A4A-15D2-44C2-AB45-049F0FB562FA}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{7BC22A4A-15D2-44C2-AB45-049F0FB562FA}.Debug|x86.Build.0 = Debug|Any CPU
-		{7BC22A4A-15D2-44C2-AB45-049F0FB562FA}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{7BC22A4A-15D2-44C2-AB45-049F0FB562FA}.Release|Any CPU.Build.0 = Release|Any CPU
-		{7BC22A4A-15D2-44C2-AB45-049F0FB562FA}.Release|x64.ActiveCfg = Release|Any CPU
-		{7BC22A4A-15D2-44C2-AB45-049F0FB562FA}.Release|x64.Build.0 = Release|Any CPU
-		{7BC22A4A-15D2-44C2-AB45-049F0FB562FA}.Release|x86.ActiveCfg = Release|Any CPU
-		{7BC22A4A-15D2-44C2-AB45-049F0FB562FA}.Release|x86.Build.0 = Release|Any CPU
-		{A7994A41-CAF8-47A7-8975-F101F75B5BC1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{A7994A41-CAF8-47A7-8975-F101F75B5BC1}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{A7994A41-CAF8-47A7-8975-F101F75B5BC1}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{A7994A41-CAF8-47A7-8975-F101F75B5BC1}.Debug|x64.Build.0 = Debug|Any CPU
-		{A7994A41-CAF8-47A7-8975-F101F75B5BC1}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{A7994A41-CAF8-47A7-8975-F101F75B5BC1}.Debug|x86.Build.0 = Debug|Any CPU
-		{A7994A41-CAF8-47A7-8975-F101F75B5BC1}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{A7994A41-CAF8-47A7-8975-F101F75B5BC1}.Release|Any CPU.Build.0 = Release|Any CPU
-		{A7994A41-CAF8-47A7-8975-F101F75B5BC1}.Release|x64.ActiveCfg = Release|Any CPU
-		{A7994A41-CAF8-47A7-8975-F101F75B5BC1}.Release|x64.Build.0 = Release|Any CPU
-		{A7994A41-CAF8-47A7-8975-F101F75B5BC1}.Release|x86.ActiveCfg = Release|Any CPU
-		{A7994A41-CAF8-47A7-8975-F101F75B5BC1}.Release|x86.Build.0 = Release|Any CPU
-		{CE5523AE-6E38-4E20-998F-C64E02C5CC51}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{CE5523AE-6E38-4E20-998F-C64E02C5CC51}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{CE5523AE-6E38-4E20-998F-C64E02C5CC51}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{CE5523AE-6E38-4E20-998F-C64E02C5CC51}.Debug|x64.Build.0 = Debug|Any CPU
-		{CE5523AE-6E38-4E20-998F-C64E02C5CC51}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{CE5523AE-6E38-4E20-998F-C64E02C5CC51}.Debug|x86.Build.0 = Debug|Any CPU
-		{CE5523AE-6E38-4E20-998F-C64E02C5CC51}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{CE5523AE-6E38-4E20-998F-C64E02C5CC51}.Release|Any CPU.Build.0 = Release|Any CPU
-		{CE5523AE-6E38-4E20-998F-C64E02C5CC51}.Release|x64.ActiveCfg = Release|Any CPU
-		{CE5523AE-6E38-4E20-998F-C64E02C5CC51}.Release|x64.Build.0 = Release|Any CPU
-		{CE5523AE-6E38-4E20-998F-C64E02C5CC51}.Release|x86.ActiveCfg = Release|Any CPU
-		{CE5523AE-6E38-4E20-998F-C64E02C5CC51}.Release|x86.Build.0 = Release|Any CPU
-		{7C24EAB8-57A9-4613-A8A6-4C21BB7D260D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{7C24EAB8-57A9-4613-A8A6-4C21BB7D260D}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{7C24EAB8-57A9-4613-A8A6-4C21BB7D260D}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{7C24EAB8-57A9-4613-A8A6-4C21BB7D260D}.Debug|x64.Build.0 = Debug|Any CPU
-		{7C24EAB8-57A9-4613-A8A6-4C21BB7D260D}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{7C24EAB8-57A9-4613-A8A6-4C21BB7D260D}.Debug|x86.Build.0 = Debug|Any CPU
-		{7C24EAB8-57A9-4613-A8A6-4C21BB7D260D}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{7C24EAB8-57A9-4613-A8A6-4C21BB7D260D}.Release|Any CPU.Build.0 = Release|Any CPU
-		{7C24EAB8-57A9-4613-A8A6-4C21BB7D260D}.Release|x64.ActiveCfg = Release|Any CPU
-		{7C24EAB8-57A9-4613-A8A6-4C21BB7D260D}.Release|x64.Build.0 = Release|Any CPU
-		{7C24EAB8-57A9-4613-A8A6-4C21BB7D260D}.Release|x86.ActiveCfg = Release|Any CPU
-		{7C24EAB8-57A9-4613-A8A6-4C21BB7D260D}.Release|x86.Build.0 = Release|Any CPU
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-	GlobalSection(NestedProjects) = preSolution
-		{F510611A-3BEE-4B88-A613-5F4A74ED82A1} = {2D5D5227-4DBD-499A-96B1-76A36B03B750}
-		{37F3BFB2-6454-49E5-9D7F-581BF755CCFE} = {D3273454-EA07-41D2-BF0B-FCC3675C2483}
-		{2C3CB3DC-EEBF-4F52-9E1C-4F2F972E76C3} = {8A3D00B8-1CCF-4BE6-A060-11104CE2D9CE}
-		{B35D4D31-E74C-4646-8A11-7A7A40F0021E} = {8A3D00B8-1CCF-4BE6-A060-11104CE2D9CE}
-		{BD2D4D29-1BD9-40D0-BB31-337D5416B63C} = {327F7880-D9AF-46BD-B45C-3B7E34A01DFD}
-		{5F64B3C3-0C2E-431A-B820-A81BBFC863DA} = {2D5D5227-4DBD-499A-96B1-76A36B03B750}
-		{EBFE9719-A44B-4978-A71F-D5C254E7F35A} = {A95C3BE1-B850-4265-97A0-777ADCCD437F}
-		{2822C132-BFFB-4D53-AC5B-E7E47DD81A6E} = {0EF2ACDF-012F-4472-A13A-4272419E2903}
-		{A76B8C8C-0DC5-4DD3-9B1F-02E51A0915F4} = {2D5D5227-4DBD-499A-96B1-76A36B03B750}
-		{56139957-5C29-4E7D-89BD-7D20598B4EAF} = {2D5D5227-4DBD-499A-96B1-76A36B03B750}
-		{6950B18F-A3D2-41A4-AFEC-8B7C49517611} = {2D5D5227-4DBD-499A-96B1-76A36B03B750}
-		{2E9CB89D-EC8F-4DD9-A72B-08D5BABF752D} = {2D5D5227-4DBD-499A-96B1-76A36B03B750}
-		{D95A7EC3-48AC-4D03-B2E2-0DA3E13BD3A4} = {D3273454-EA07-41D2-BF0B-FCC3675C2483}
-		{4F1C30F8-CCAA-48D7-9DF6-2A84021F5BCC} = {D3273454-EA07-41D2-BF0B-FCC3675C2483}
-		{6956CF5C-3163-4398-8628-4ECA569245B5} = {2D5D5227-4DBD-499A-96B1-76A36B03B750}
-		{B7B0EA74-528F-46B8-9BC4-909D9A67C194} = {D3273454-EA07-41D2-BF0B-FCC3675C2483}
-		{74032D79-8EA7-4483-BD82-C38370420FFF} = {D3273454-EA07-41D2-BF0B-FCC3675C2483}
-		{9C7B6B5F-088A-436E-834B-6373EA36DEEE} = {D3273454-EA07-41D2-BF0B-FCC3675C2483}
-		{7BC22A4A-15D2-44C2-AB45-049F0FB562FA} = {8A3D00B8-1CCF-4BE6-A060-11104CE2D9CE}
-		{A7994A41-CAF8-47A7-8975-F101F75B5BC1} = {8A3D00B8-1CCF-4BE6-A060-11104CE2D9CE}
-		{CE5523AE-6E38-4E20-998F-C64E02C5CC51} = {8A3D00B8-1CCF-4BE6-A060-11104CE2D9CE}
-		{7C24EAB8-57A9-4613-A8A6-4C21BB7D260D} = {A95C3BE1-B850-4265-97A0-777ADCCD437F}
-	EndGlobalSection
-	GlobalSection(ExtensibilityGlobals) = postSolution
-		SolutionGuid = {2D10D020-6770-47CA-BB8D-2C23FE3AE071}
-	EndGlobalSection
-EndGlobal
diff --git a/LICENSE.txt b/LICENSE.txt
deleted file mode 100644
index 7b2956eceee..00000000000
--- a/LICENSE.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-Copyright (c) .NET Foundation and Contributors
-
-All rights reserved.
-
-Licensed under the Apache License, Version 2.0 (the "License"); you may not use
-this file except in compliance with the License. You may obtain a copy of the
-License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software distributed
-under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-CONDITIONS OF ANY KIND, either express or implied. See the License for the
-specific language governing permissions and limitations under the License.
diff --git a/NuGet.config b/NuGet.config
deleted file mode 100644
index e32bddfd514..00000000000
--- a/NuGet.config
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<configuration>
-  <packageSources>
-    <clear />
-    <!-- Restore sources should be defined in build/sources.props. -->
-  </packageSources>
-</configuration>
diff --git a/NuGetPackageVerifier.json b/NuGetPackageVerifier.json
deleted file mode 100644
index 4f55b78b162..00000000000
--- a/NuGetPackageVerifier.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-    "adx-nonshipping": {
-        "rules": [],
-        "packages": {
-            "Microsoft.Extensions.Buffers.Testing.Sources": {}
-        }
-    },
-    "Default": {
-        "rules": [
-            "DefaultCompositeRule"
-        ]
-    }
-}
diff --git a/README.md b/README.md
deleted file mode 100644
index 85a0a73610c..00000000000
--- a/README.md
+++ /dev/null
@@ -1,42 +0,0 @@
-KestrelHttpServer
-=================
-
-[![Join the chat at https://gitter.im/aspnet/KestrelHttpServer](https://badges.gitter.im/aspnet/KestrelHttpServer.svg)](https://gitter.im/aspnet/KestrelHttpServer?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
-
-[![Travis build status][travis-badge]](https://travis-ci.org/aspnet/KestrelHttpServer/branches)
-[![AppVeyor build status][appveyor-badge]](https://ci.appveyor.com/project/aspnetci/KestrelHttpServer/branch/dev)
-
-[travis-badge]: https://img.shields.io/travis/aspnet/KestrelHttpServer.svg?label=travis-ci&branch=dev&style=flat-square
-[appveyor-badge]: https://img.shields.io/appveyor/ci/aspnetci/KestrelHttpServer/dev.svg?label=appveyor&style=flat-square
-
-This repo contains a cross-platform web server for ASP.NET Core.
-
-This project is part of ASP.NET Core. You can find samples, documentation and getting started instructions for ASP.NET Core at the [Home](https://github.com/aspnet/home) repo.
-
-## Building from source
-
-To run a complete build on command line only, execute `build.cmd` or `build.sh` without arguments. See [developer documentation](https://github.com/aspnet/Home/wiki) for more details.
-
-## File logging for functional test
-
-Turn on file logging for Kestrel functional tests by specifying the environment variable ASPNETCORE_TEST_LOG_DIR to the log output directory.
-
-## Packages
-
-Kestrel is available as a NuGet package.
-
- Package name                               | Stable                                      | Nightly (`dev` branch)
---------------------------------------------|---------------------------------------------|------------------------------------------
-`Microsoft.AspNetCore.Server.Kestrel`       | [![NuGet][main-nuget-badge]][main-nuget]    | [![MyGet][main-myget-badge]][main-myget]
-`Microsoft.AspNetCore.Server.Kestrel.Https` | [![NuGet][https-nuget-badge]][https-nuget]  | [![MyGet][https-myget-badge]][https-myget]
-
-
-[main-nuget]: https://www.nuget.org/packages/Microsoft.AspNetCore.Server.Kestrel/
-[main-nuget-badge]: https://img.shields.io/nuget/v/Microsoft.AspNetCore.Server.Kestrel.svg?style=flat-square&label=nuget
-[main-myget]: https://dotnet.myget.org/feed/aspnetcore-dev/package/nuget/Microsoft.AspNetCore.Server.Kestrel
-[main-myget-badge]: https://img.shields.io/dotnet.myget/aspnetcore-dev/vpre/Microsoft.AspNetCore.Server.Kestrel.svg?style=flat-square&label=myget
-
-[https-nuget]: https://www.nuget.org/packages/Microsoft.AspNetCore.Server.Kestrel.Https/
-[https-nuget-badge]: https://img.shields.io/nuget/v/Microsoft.AspNetCore.Server.Kestrel.Https.svg?style=flat-square&label=nuget
-[https-myget]: https://dotnet.myget.org/feed/aspnetcore-dev/package/nuget/Microsoft.AspNetCore.Server.Kestrel.Https
-[https-myget-badge]: https://img.shields.io/dotnet.myget/aspnetcore-dev/vpre/Microsoft.AspNetCore.Server.Kestrel.Https.svg?style=flat-square&label=myget
diff --git a/ToProjectReferences.ps1 b/ToProjectReferences.ps1
deleted file mode 100644
index 4273aff9299..00000000000
--- a/ToProjectReferences.ps1
+++ /dev/null
@@ -1,45 +0,0 @@
-param($references)
-$ErrorActionPreference = "Stop";
-
-function ToProjectName($file)
-{
-    return $file.Directory.Name;
-}
-
-$projectreferences = ls (Join-Path $references *.csproj) -rec;
-
-$localprojects = ls -rec *.csproj;
-
-foreach ($project in $localprojects)
-{
-    Write-Host "Processing $project";
-
-    [Reflection.Assembly]::LoadWithPartialName("System.Xml.Linq") | Out-Null;
-
-    $changed = $false
-    $xDoc = [System.Xml.Linq.XDocument]::Load($project, [System.Xml.Linq.LoadOptions]::PreserveWhitespace);
-    $endpoints = $xDoc.Descendants("PackageReference") | %{
-        $packageName = $_.Attribute("Include").Value;
-        $replacementProject = $projectreferences | ? { 
-            return (ToProjectName($_)) -eq $packageName 
-        };
-
-        if ($replacementProject)
-        {
-            $changed = $true
-            Write-Host "      Replacing $packageName with $($project.FullName)";
-            $_.Name = "ProjectReference";
-            $_.Attribute("Include").Value = $replacementProject.FullName;
-        }
-    };
-    if ($changed)
-    {
-        $settings = New-Object System.Xml.XmlWriterSettings
-        $settings.OmitXmlDeclaration = $true;
-        $writer = [System.Xml.XmlWriter]::Create($project, $settings)
-
-        $xDoc.Save($writer);
-        $writer.Dispose();
-    }
-
-}
\ No newline at end of file
diff --git a/benchmarks/Kestrel.Performance/Kestrel.Performance.csproj b/benchmarks/Kestrel.Performance/Kestrel.Performance.csproj
deleted file mode 100644
index 0fb7d5af0a5..00000000000
--- a/benchmarks/Kestrel.Performance/Kestrel.Performance.csproj
+++ /dev/null
@@ -1,29 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-  <PropertyGroup>
-    <!-- Using shorter assembly name instead of Microsoft.AspNetCore.Server.Kestrel.Performance because https://github.com/dotnet/BenchmarkDotNet/issues/498 -->
-    <AssemblyName>Kestrel.Performance</AssemblyName>
-    <RootNamespace>Microsoft.AspNetCore.Server.Kestrel.Performance</RootNamespace>
-    <TargetFramework>netcoreapp2.0</TargetFramework>
-    <OutputType>Exe</OutputType>
-    <ServerGarbageCollection>true</ServerGarbageCollection>
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <IsPackable>false</IsPackable>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <Compile Include="..\..\test\shared\TestApplicationErrorLogger.cs" />
-    <Compile Include="..\..\test\shared\TestHttp1Connection.cs" />
-    <Compile Include="..\..\test\shared\TestKestrelTrace.cs" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\..\src\Kestrel\Kestrel.csproj" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <PackageReference Include="BenchmarkDotNet" Version="$(BenchmarkDotNetPackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.BenchmarkRunner.Sources" PrivateAssets="All" Version="$(MicrosoftAspNetCoreBenchmarkRunnerSourcesPackageVersion)" />
-  </ItemGroup>
-
-</Project>
diff --git a/build.cmd b/build.cmd
deleted file mode 100644
index c0050bda125..00000000000
--- a/build.cmd
+++ /dev/null
@@ -1,2 +0,0 @@
-@ECHO OFF
-PowerShell -NoProfile -NoLogo -ExecutionPolicy unrestricted -Command "[System.Threading.Thread]::CurrentThread.CurrentCulture = ''; [System.Threading.Thread]::CurrentThread.CurrentUICulture = '';& '%~dp0run.ps1' default-build %*; exit $LASTEXITCODE"
diff --git a/build.sh b/build.sh
deleted file mode 100755
index 98a4b227658..00000000000
--- a/build.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/usr/bin/env bash
-
-set -euo pipefail
-DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-
-# Call "sync" between "chmod" and execution to prevent "text file busy" error in Docker (aufs)
-chmod +x "$DIR/run.sh"; sync
-"$DIR/run.sh" default-build "$@"
diff --git a/build/Key.snk b/build/Key.snk
deleted file mode 100644
index e10e4889c125d3120cd9e81582243d70f7cbb806..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 596
zcmV-a0;~N80ssI2Bme+XQ$aES1ONa50098=Iw=HCsn<ZsvmrW@<$Q#+a>z~#iVhm&
zj%TU(_THUee?3yHBjk$37y<Fzl?uL)9ivSuo;#}B6dD)De)Gj;-CpGdOOelGyF6;R
zKXR)&ujxGx!@@L+c2BRcvA}aZ<rG=2t43G@guk71#NvTux6R^5_>sB?i5#7WD$={H
zV4B!OxRPrb|8)HPg~A}8P>^=#y<)56#=E&NzcjOtPK~<4n6GHt=K$ro*T(lhby_@U
zEk(hLzk1H)0yXj<Uf8HnEtBu!TuA*PmAf$cXle6YkpNq+@Z60ghGtVxe6)1Ajj1}d
ztgvi4bgJz|V`P;etzc8pF-FM#N`%JUpHzaYX*mMNIn*G};u}`O51u$`rvZggFup%y
z5Uu>{A_5>fk-TgNoP|q6(tP2xo8zt8i%212CWM#AeCd?`hS|4~L({h~Moo(~vy&3Z
z1uI}`fd^*>o=rwbAGymj6RM^pZm(*Kfhs+Y1#`-2JPWZMK8@;ZW<LR4v7CQcE4@!q
z)U49ij|+<|%~kIOLZlXjf9x6h%%!xHcL2a{5I|b;$2l^>Ck2+9bX4YP);~fj-BU*R
zQPvW<DAZ8Z6e#YE!zCp+7M)hVxqP}{4}~6lG=>v$89!{R<a!lIoEa{Dc+j_%E<}+-
z!)tmG_q8@!i7JE*V%)C;o#1~$Q2B~A145=eCJ9-fwL>l9wM+zR>_TSkn^voYxA?2G
iKnV#iZ6Ah`K>b=@=IjYJXrxL124zR(38)nxe+&q_$QXwJ

diff --git a/build/buildpipeline/linux.groovy b/build/buildpipeline/linux.groovy
deleted file mode 100644
index 903f218bb81..00000000000
--- a/build/buildpipeline/linux.groovy
+++ /dev/null
@@ -1,10 +0,0 @@
-@Library('dotnet-ci') _
-
-simpleNode('Ubuntu16.04', 'latest-or-auto-docker') {
-    stage ('Checking out source') {
-        checkout scm
-    }
-    stage ('Build') {
-        sh './build.sh --ci'
-    }
-}
diff --git a/build/buildpipeline/osx.groovy b/build/buildpipeline/osx.groovy
deleted file mode 100644
index aaac63686b5..00000000000
--- a/build/buildpipeline/osx.groovy
+++ /dev/null
@@ -1,10 +0,0 @@
-@Library('dotnet-ci') _
-
-simpleNode('OSX10.12','latest') {
-    stage ('Checking out source') {
-        checkout scm
-    }
-    stage ('Build') {
-        sh './build.sh --ci'
-    }
-}
diff --git a/build/buildpipeline/pipeline.groovy b/build/buildpipeline/pipeline.groovy
deleted file mode 100644
index e915cadae12..00000000000
--- a/build/buildpipeline/pipeline.groovy
+++ /dev/null
@@ -1,18 +0,0 @@
-import org.dotnet.ci.pipelines.Pipeline
-
-def windowsPipeline = Pipeline.createPipeline(this, 'build/buildpipeline/windows.groovy')
-def linuxPipeline = Pipeline.createPipeline(this, 'build/buildpipeline/linux.groovy')
-def osxPipeline = Pipeline.createPipeline(this, 'build/buildpipeline/osx.groovy')
-String configuration = 'Release'
-def parameters = [
-    'Configuration': configuration
-]
-
-windowsPipeline.triggerPipelineOnEveryGithubPR("Windows ${configuration} x64 Build", parameters)
-windowsPipeline.triggerPipelineOnGithubPush(parameters)
-
-linuxPipeline.triggerPipelineOnEveryGithubPR("Ubuntu 16.04 ${configuration} Build", parameters)
-linuxPipeline.triggerPipelineOnGithubPush(parameters)
-
-osxPipeline.triggerPipelineOnEveryGithubPR("OSX 10.12 ${configuration} Build", parameters)
-osxPipeline.triggerPipelineOnGithubPush(parameters)
diff --git a/build/buildpipeline/windows.groovy b/build/buildpipeline/windows.groovy
deleted file mode 100644
index 8d26f313d49..00000000000
--- a/build/buildpipeline/windows.groovy
+++ /dev/null
@@ -1,12 +0,0 @@
-@Library('dotnet-ci') _
-
-// 'node' indicates to Jenkins that the enclosed block runs on a node that matches
-// the label 'windows-with-vs'
-simpleNode('Windows_NT','latest') {
-    stage ('Checking out source') {
-        checkout scm
-    }
-    stage ('Build') {
-        bat '.\\run.cmd -CI default-build'
-    }
-}
diff --git a/build/dependencies.props b/build/dependencies.props
deleted file mode 100644
index b855ca56d0d..00000000000
--- a/build/dependencies.props
+++ /dev/null
@@ -1,58 +0,0 @@
-<Project>
-  <PropertyGroup>
-    <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
-  </PropertyGroup>
-  <!-- This files is typically managed by automation. Execute 'run.ps1 upgrade deps' to update these variables to the last-known-good versions. -->
-
-  <!-- These package versions may be overridden or updated by automation. -->
-  <PropertyGroup Label="Package Versions: Auto">
-    <BenchmarkDotNetPackageVersion>0.10.13</BenchmarkDotNetPackageVersion>
-    <InternalAspNetCoreSdkPackageVersion>2.1.3-rtm-15802</InternalAspNetCoreSdkPackageVersion>
-    <LibuvPackageVersion>1.10.0</LibuvPackageVersion>
-    <MicrosoftNETCoreApp20PackageVersion>2.0.0</MicrosoftNETCoreApp20PackageVersion>
-    <MicrosoftNETCoreApp21PackageVersion>2.1.2</MicrosoftNETCoreApp21PackageVersion>
-    <MicrosoftNETTestSdkPackageVersion>15.6.1</MicrosoftNETTestSdkPackageVersion>
-    <MoqPackageVersion>4.7.49</MoqPackageVersion>
-    <NETStandardLibrary20PackageVersion>2.0.3</NETStandardLibrary20PackageVersion>
-    <NewtonsoftJsonPackageVersion>11.0.2</NewtonsoftJsonPackageVersion>
-    <SystemBuffersPackageVersion>4.5.0</SystemBuffersPackageVersion>
-    <SystemIOPipelinesPackageVersion>4.5.0</SystemIOPipelinesPackageVersion>
-    <SystemMemoryPackageVersion>4.5.1</SystemMemoryPackageVersion>
-    <SystemNumericsVectorsPackageVersion>4.5.0</SystemNumericsVectorsPackageVersion>
-    <SystemRuntimeCompilerServicesUnsafePackageVersion>4.5.1</SystemRuntimeCompilerServicesUnsafePackageVersion>
-    <SystemSecurityCryptographyCngPackageVersion>4.5.0</SystemSecurityCryptographyCngPackageVersion>
-    <SystemThreadingTasksExtensionsPackageVersion>4.5.1</SystemThreadingTasksExtensionsPackageVersion>
-    <Utf8JsonPackageVersion>1.3.7</Utf8JsonPackageVersion>
-    <XunitAnalyzersPackageVersion>0.8.0</XunitAnalyzersPackageVersion>
-    <XunitPackageVersion>2.3.1</XunitPackageVersion>
-    <XunitRunnerVisualStudioPackageVersion>2.4.0-beta.1.build3945</XunitRunnerVisualStudioPackageVersion>
-  </PropertyGroup>
-
-  <!-- This may import a generated file which may override the variables above. -->
-  <Import Project="$(DotNetPackageVersionPropsPath)" Condition=" '$(DotNetPackageVersionPropsPath)' != '' " />
-
-  <!-- These are package versions that should not be overridden or updated by automation. -->
-  <PropertyGroup Label="Package Versions: Pinned">
-    <MicrosoftAspNetCoreAllPackageVersion>2.1.2</MicrosoftAspNetCoreAllPackageVersion>
-    <MicrosoftAspNetCoreBenchmarkRunnerSourcesPackageVersion>2.1.1</MicrosoftAspNetCoreBenchmarkRunnerSourcesPackageVersion>
-    <MicrosoftAspNetCoreCertificatesGenerationSourcesPackageVersion>2.1.1</MicrosoftAspNetCoreCertificatesGenerationSourcesPackageVersion>
-    <MicrosoftAspNetCoreHostingAbstractionsPackageVersion>2.1.1</MicrosoftAspNetCoreHostingAbstractionsPackageVersion>
-    <MicrosoftAspNetCoreHostingPackageVersion>2.1.1</MicrosoftAspNetCoreHostingPackageVersion>
-    <MicrosoftAspNetCoreHttpAbstractionsPackageVersion>2.1.1</MicrosoftAspNetCoreHttpAbstractionsPackageVersion>
-    <MicrosoftAspNetCoreHttpFeaturesPackageVersion>2.1.1</MicrosoftAspNetCoreHttpFeaturesPackageVersion>
-    <MicrosoftAspNetCoreHttpPackageVersion>2.1.1</MicrosoftAspNetCoreHttpPackageVersion>
-    <MicrosoftAspNetCoreTestingPackageVersion>2.1.0</MicrosoftAspNetCoreTestingPackageVersion>
-    <MicrosoftAspNetCoreWebUtilitiesPackageVersion>2.1.1</MicrosoftAspNetCoreWebUtilitiesPackageVersion>
-    <MicrosoftExtensionsActivatorUtilitiesSourcesPackageVersion>2.1.1</MicrosoftExtensionsActivatorUtilitiesSourcesPackageVersion>
-    <MicrosoftExtensionsConfigurationBinderPackageVersion>2.1.1</MicrosoftExtensionsConfigurationBinderPackageVersion>
-    <MicrosoftExtensionsConfigurationCommandLinePackageVersion>2.1.1</MicrosoftExtensionsConfigurationCommandLinePackageVersion>
-    <MicrosoftExtensionsConfigurationJsonPackageVersion>2.1.1</MicrosoftExtensionsConfigurationJsonPackageVersion>
-    <MicrosoftExtensionsDependencyInjectionPackageVersion>2.1.1</MicrosoftExtensionsDependencyInjectionPackageVersion>
-    <MicrosoftExtensionsLoggingAbstractionsPackageVersion>2.1.1</MicrosoftExtensionsLoggingAbstractionsPackageVersion>
-    <MicrosoftExtensionsLoggingConsolePackageVersion>2.1.1</MicrosoftExtensionsLoggingConsolePackageVersion>
-    <MicrosoftExtensionsLoggingPackageVersion>2.1.1</MicrosoftExtensionsLoggingPackageVersion>
-    <MicrosoftExtensionsLoggingTestingPackageVersion>2.1.1</MicrosoftExtensionsLoggingTestingPackageVersion>
-    <MicrosoftExtensionsOptionsPackageVersion>2.1.1</MicrosoftExtensionsOptionsPackageVersion>
-    <MicrosoftNetHttpHeadersPackageVersion>2.1.1</MicrosoftNetHttpHeadersPackageVersion>
-  </PropertyGroup>
-</Project>
\ No newline at end of file
diff --git a/build/repo.props b/build/repo.props
deleted file mode 100644
index 413dd9dd052..00000000000
--- a/build/repo.props
+++ /dev/null
@@ -1,16 +0,0 @@
-<Project>
-  <Import Project="dependencies.props" />
-
-  <PropertyGroup>
-    <EnableBenchmarkValidation>true</EnableBenchmarkValidation>
-    <!-- These properties are use by the automation that updates dependencies.props -->
-    <LineupPackageId>Internal.AspNetCore.Universe.Lineup</LineupPackageId>
-    <LineupPackageVersion>2.1.0-rc1-*</LineupPackageVersion>
-    <LineupPackageRestoreSource>https://dotnet.myget.org/F/aspnetcore-dev/api/v3/index.json</LineupPackageRestoreSource>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <DotNetCoreRuntime Include="$(MicrosoftNETCoreApp20PackageVersion)" />
-    <DotNetCoreRuntime Include="$(MicrosoftNETCoreApp21PackageVersion)" />
-  </ItemGroup>
-</Project>
diff --git a/build/repo.targets b/build/repo.targets
deleted file mode 100644
index 820bc06a7ff..00000000000
--- a/build/repo.targets
+++ /dev/null
@@ -1,17 +0,0 @@
-<Project>
-  <Target Name="CodeGen">
-    <Exec Command="dotnet run" WorkingDirectory="$(MSBuildThisFileDirectory)..\tools\CodeGenerator\" />
-  </Target>
-
-  <PropertyGroup>
-    <StressTestDependsOn Condition=" '$(NoBuild)' != 'true' ">Build</StressTestDependsOn>
-  </PropertyGroup>
-
-  <Target Name="StressTest" DependsOnTargets="$(StressTestDependsOn)">
-    <ItemGroup>
-      <Iteration Include="0;1;2;3;4;5;6;7;8;9" />
-    </ItemGroup>
-    <MSBuild Projects="$(MSBuildProjectFullPath)" Targets="TestProjects" Properties="FakeProperty=%(Iteration.Identity)" />
-  </Target>
-</Project>
-
diff --git a/build/sources.props b/build/sources.props
deleted file mode 100644
index fe324c40e3f..00000000000
--- a/build/sources.props
+++ /dev/null
@@ -1,18 +0,0 @@
-<Project>
-  <Import Project="$(DotNetRestoreSourcePropsPath)" Condition="'$(DotNetRestoreSourcePropsPath)' != ''"/>
-
-  <PropertyGroup Label="RestoreSources">
-    <RestoreSources>$(DotNetRestoreSources)</RestoreSources>
-    <RestoreSources Condition="'$(DotNetBuildOffline)' != 'true' AND '$(AspNetUniverseBuildOffline)' != 'true' ">
-      $(RestoreSources);
-      https://dotnet.myget.org/F/dotnet-core/api/v3/index.json;
-      https://dotnet.myget.org/F/aspnetcore-dev/api/v3/index.json;
-      https://dotnet.myget.org/F/aspnetcore-tools/api/v3/index.json;
-      https://dotnet.myget.org/F/roslyn/api/v3/index.json;
-    </RestoreSources>
-    <RestoreSources Condition="'$(DotNetBuildOffline)' != 'true'">
-      $(RestoreSources);
-      https://api.nuget.org/v3/index.json;
-    </RestoreSources>
-  </PropertyGroup>
-</Project>
diff --git a/korebuild-lock.txt b/korebuild-lock.txt
deleted file mode 100644
index 251c227c83e..00000000000
--- a/korebuild-lock.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-version:2.1.3-rtm-15802
-commithash:a7c08b45b440a7d2058a0aa1eaa3eb6ba811976a
diff --git a/korebuild.json b/korebuild.json
deleted file mode 100644
index 678d8bb9483..00000000000
--- a/korebuild.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-  "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/release/2.1/tools/korebuild.schema.json",
-  "channel": "release/2.1"
-}
diff --git a/run.cmd b/run.cmd
deleted file mode 100644
index d52d5c7e689..00000000000
--- a/run.cmd
+++ /dev/null
@@ -1,2 +0,0 @@
-@ECHO OFF
-PowerShell -NoProfile -NoLogo -ExecutionPolicy unrestricted -Command "[System.Threading.Thread]::CurrentThread.CurrentCulture = ''; [System.Threading.Thread]::CurrentThread.CurrentUICulture = '';& '%~dp0run.ps1' %*; exit $LASTEXITCODE"
diff --git a/run.ps1 b/run.ps1
deleted file mode 100644
index 96c6c54c696..00000000000
--- a/run.ps1
+++ /dev/null
@@ -1,208 +0,0 @@
-#!/usr/bin/env powershell
-#requires -version 4
-
-<#
-.SYNOPSIS
-Executes KoreBuild commands.
-
-.DESCRIPTION
-Downloads korebuild if required. Then executes the KoreBuild command. To see available commands, execute with `-Command help`.
-
-.PARAMETER Command
-The KoreBuild command to run.
-
-.PARAMETER Path
-The folder to build. Defaults to the folder containing this script.
-
-.PARAMETER Channel
-The channel of KoreBuild to download. Overrides the value from the config file.
-
-.PARAMETER DotNetHome
-The directory where .NET Core tools will be stored.
-
-.PARAMETER ToolsSource
-The base url where build tools can be downloaded. Overrides the value from the config file.
-
-.PARAMETER Update
-Updates KoreBuild to the latest version even if a lock file is present.
-
-.PARAMETER Reinstall
-Re-installs KoreBuild
-
-.PARAMETER ConfigFile
-The path to the configuration file that stores values. Defaults to korebuild.json.
-
-.PARAMETER ToolsSourceSuffix
-The Suffix to append to the end of the ToolsSource. Useful for query strings in blob stores.
-
-.PARAMETER CI
-Sets up CI specific settings and variables.
-
-.PARAMETER Arguments
-Arguments to be passed to the command
-
-.NOTES
-This function will create a file $PSScriptRoot/korebuild-lock.txt. This lock file can be committed to source, but does not have to be.
-When the lockfile is not present, KoreBuild will create one using latest available version from $Channel.
-
-The $ConfigFile is expected to be an JSON file. It is optional, and the configuration values in it are optional as well. Any options set
-in the file are overridden by command line parameters.
-
-.EXAMPLE
-Example config file:
-```json
-{
-  "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/dev/tools/korebuild.schema.json",
-  "channel": "dev",
-  "toolsSource": "https://aspnetcore.blob.core.windows.net/buildtools"
-}
-```
-#>
-[CmdletBinding(PositionalBinding = $false)]
-param(
-    [Parameter(Mandatory = $true, Position = 0)]
-    [string]$Command,
-    [string]$Path = $PSScriptRoot,
-    [Alias('c')]
-    [string]$Channel,
-    [Alias('d')]
-    [string]$DotNetHome,
-    [Alias('s')]
-    [string]$ToolsSource,
-    [Alias('u')]
-    [switch]$Update,
-    [switch]$Reinstall,
-    [string]$ToolsSourceSuffix,
-    [string]$ConfigFile = $null,
-    [switch]$CI,
-    [Parameter(ValueFromRemainingArguments = $true)]
-    [string[]]$Arguments
-)
-
-Set-StrictMode -Version 2
-$ErrorActionPreference = 'Stop'
-
-#
-# Functions
-#
-
-function Get-KoreBuild {
-
-    $lockFile = Join-Path $Path 'korebuild-lock.txt'
-
-    if (!(Test-Path $lockFile) -or $Update) {
-        Get-RemoteFile "$ToolsSource/korebuild/channels/$Channel/latest.txt" $lockFile $ToolsSourceSuffix
-    }
-
-    $version = Get-Content $lockFile | Where-Object { $_ -like 'version:*' } | Select-Object -first 1
-    if (!$version) {
-        Write-Error "Failed to parse version from $lockFile. Expected a line that begins with 'version:'"
-    }
-    $version = $version.TrimStart('version:').Trim()
-    $korebuildPath = Join-Paths $DotNetHome ('buildtools', 'korebuild', $version)
-
-    if ($Reinstall -and (Test-Path $korebuildPath)) {
-        Remove-Item -Force -Recurse $korebuildPath
-    }
-
-    if (!(Test-Path $korebuildPath)) {
-        Write-Host -ForegroundColor Magenta "Downloading KoreBuild $version"
-        New-Item -ItemType Directory -Path $korebuildPath | Out-Null
-        $remotePath = "$ToolsSource/korebuild/artifacts/$version/korebuild.$version.zip"
-
-        try {
-            $tmpfile = Join-Path ([IO.Path]::GetTempPath()) "KoreBuild-$([guid]::NewGuid()).zip"
-            Get-RemoteFile $remotePath $tmpfile $ToolsSourceSuffix
-            if (Get-Command -Name 'Expand-Archive' -ErrorAction Ignore) {
-                # Use built-in commands where possible as they are cross-plat compatible
-                Expand-Archive -Path $tmpfile -DestinationPath $korebuildPath
-            }
-            else {
-                # Fallback to old approach for old installations of PowerShell
-                Add-Type -AssemblyName System.IO.Compression.FileSystem
-                [System.IO.Compression.ZipFile]::ExtractToDirectory($tmpfile, $korebuildPath)
-            }
-        }
-        catch {
-            Remove-Item -Recurse -Force $korebuildPath -ErrorAction Ignore
-            throw
-        }
-        finally {
-            Remove-Item $tmpfile -ErrorAction Ignore
-        }
-    }
-
-    return $korebuildPath
-}
-
-function Join-Paths([string]$path, [string[]]$childPaths) {
-    $childPaths | ForEach-Object { $path = Join-Path $path $_ }
-    return $path
-}
-
-function Get-RemoteFile([string]$RemotePath, [string]$LocalPath, [string]$RemoteSuffix) {
-    if ($RemotePath -notlike 'http*') {
-        Copy-Item $RemotePath $LocalPath
-        return
-    }
-
-    $retries = 10
-    while ($retries -gt 0) {
-        $retries -= 1
-        try {
-            Invoke-WebRequest -UseBasicParsing -Uri $($RemotePath + $RemoteSuffix) -OutFile $LocalPath
-            return
-        }
-        catch {
-            Write-Verbose "Request failed. $retries retries remaining"
-        }
-    }
-
-    Write-Error "Download failed: '$RemotePath'."
-}
-
-#
-# Main
-#
-
-# Load configuration or set defaults
-
-$Path = Resolve-Path $Path
-if (!$ConfigFile) { $ConfigFile = Join-Path $Path 'korebuild.json' }
-
-if (Test-Path $ConfigFile) {
-    try {
-        $config = Get-Content -Raw -Encoding UTF8 -Path $ConfigFile | ConvertFrom-Json
-        if ($config) {
-            if (!($Channel) -and (Get-Member -Name 'channel' -InputObject $config)) { [string] $Channel = $config.channel }
-            if (!($ToolsSource) -and (Get-Member -Name 'toolsSource' -InputObject $config)) { [string] $ToolsSource = $config.toolsSource}
-        }
-    }
-    catch {
-        Write-Warning "$ConfigFile could not be read. Its settings will be ignored."
-        Write-Warning $Error[0]
-    }
-}
-
-if (!$DotNetHome) {
-    $DotNetHome = if ($env:DOTNET_HOME) { $env:DOTNET_HOME } `
-        elseif ($env:USERPROFILE) { Join-Path $env:USERPROFILE '.dotnet'} `
-        elseif ($env:HOME) {Join-Path $env:HOME '.dotnet'}`
-        else { Join-Path $PSScriptRoot '.dotnet'}
-}
-
-if (!$Channel) { $Channel = 'dev' }
-if (!$ToolsSource) { $ToolsSource = 'https://aspnetcore.blob.core.windows.net/buildtools' }
-
-# Execute
-
-$korebuildPath = Get-KoreBuild
-Import-Module -Force -Scope Local (Join-Path $korebuildPath 'KoreBuild.psd1')
-
-try {
-    Set-KoreBuildSettings -ToolsSource $ToolsSource -DotNetHome $DotNetHome -RepoPath $Path -ConfigFile $ConfigFile -CI:$CI
-    Invoke-KoreBuildCommand $Command @Arguments
-}
-finally {
-    Remove-Module 'KoreBuild' -ErrorAction Ignore
-}
diff --git a/run.sh b/run.sh
deleted file mode 100755
index 4606a42e786..00000000000
--- a/run.sh
+++ /dev/null
@@ -1,245 +0,0 @@
-#!/usr/bin/env bash
-
-set -euo pipefail
-
-#
-# variables
-#
-
-RESET="\033[0m"
-RED="\033[0;31m"
-YELLOW="\033[0;33m"
-MAGENTA="\033[0;95m"
-DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-[ -z "${DOTNET_HOME:-}" ] && DOTNET_HOME="$HOME/.dotnet"
-verbose=false
-update=false
-reinstall=false
-repo_path="$DIR"
-channel=''
-tools_source=''
-tools_source_suffix=''
-ci=false
-
-#
-# Functions
-#
-__usage() {
-    echo "Usage: $(basename "${BASH_SOURCE[0]}") command [options] [[--] <Arguments>...]"
-    echo ""
-    echo "Arguments:"
-    echo "    command                The command to be run."
-    echo "    <Arguments>...         Arguments passed to the command. Variable number of arguments allowed."
-    echo ""
-    echo "Options:"
-    echo "    --verbose                                             Show verbose output."
-    echo "    -c|--channel <CHANNEL>                                The channel of KoreBuild to download. Overrides the value from the config file.."
-    echo "    --config-file <FILE>                                  The path to the configuration file that stores values. Defaults to korebuild.json."
-    echo "    -d|--dotnet-home <DIR>                                The directory where .NET Core tools will be stored. Defaults to '\$DOTNET_HOME' or '\$HOME/.dotnet."
-    echo "    --path <PATH>                                         The directory to build. Defaults to the directory containing the script."
-    echo "    -s|--tools-source|-ToolsSource <URL>                  The base url where build tools can be downloaded. Overrides the value from the config file."
-    echo "    --tools-source-suffix|-ToolsSourceSuffix <SUFFIX>     The suffix to append to tools-source. Useful for query strings."
-    echo "    -u|--update                                           Update to the latest KoreBuild even if the lock file is present."
-    echo "    --reinstall                                           Reinstall KoreBuild."
-    echo "    --ci                                                  Apply CI specific settings and environment variables."
-    echo ""
-    echo "Description:"
-    echo "    This function will create a file \$DIR/korebuild-lock.txt. This lock file can be committed to source, but does not have to be."
-    echo "    When the lockfile is not present, KoreBuild will create one using latest available version from \$channel."
-
-    if [[ "${1:-}" != '--no-exit' ]]; then
-        exit 2
-    fi
-}
-
-get_korebuild() {
-    local version
-    local lock_file="$repo_path/korebuild-lock.txt"
-    if [ ! -f "$lock_file" ] || [ "$update" = true ]; then
-        __get_remote_file "$tools_source/korebuild/channels/$channel/latest.txt" "$lock_file" "$tools_source_suffix"
-    fi
-    version="$(grep 'version:*' -m 1 "$lock_file")"
-    if [[ "$version" == '' ]]; then
-        __error "Failed to parse version from $lock_file. Expected a line that begins with 'version:'"
-        return 1
-    fi
-    version="$(echo "${version#version:}" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')"
-    local korebuild_path="$DOTNET_HOME/buildtools/korebuild/$version"
-
-    if [ "$reinstall" = true ] && [ -d "$korebuild_path" ]; then
-        rm -rf "$korebuild_path"
-    fi
-
-    {
-        if [ ! -d "$korebuild_path" ]; then
-            mkdir -p "$korebuild_path"
-            local remote_path="$tools_source/korebuild/artifacts/$version/korebuild.$version.zip"
-            tmpfile="$(mktemp)"
-            echo -e "${MAGENTA}Downloading KoreBuild ${version}${RESET}"
-            if __get_remote_file "$remote_path" "$tmpfile" "$tools_source_suffix"; then
-                unzip -q -d "$korebuild_path" "$tmpfile"
-            fi
-            rm "$tmpfile" || true
-        fi
-
-        source "$korebuild_path/KoreBuild.sh"
-    } || {
-        if [ -d "$korebuild_path" ]; then
-            echo "Cleaning up after failed installation"
-            rm -rf "$korebuild_path" || true
-        fi
-        return 1
-    }
-}
-
-__error() {
-    echo -e "${RED}error: $*${RESET}" 1>&2
-}
-
-__warn() {
-    echo -e "${YELLOW}warning: $*${RESET}"
-}
-
-__machine_has() {
-    hash "$1" > /dev/null 2>&1
-    return $?
-}
-
-__get_remote_file() {
-    local remote_path=$1
-    local local_path=$2
-    local remote_path_suffix=$3
-
-    if [[ "$remote_path" != 'http'* ]]; then
-        cp "$remote_path" "$local_path"
-        return 0
-    fi
-
-    local failed=false
-    if __machine_has wget; then
-        wget --tries 10 --quiet -O "$local_path" "${remote_path}${remote_path_suffix}" || failed=true
-    else
-        failed=true
-    fi
-
-    if [ "$failed" = true ] && __machine_has curl; then
-        failed=false
-        curl --retry 10 -sSL -f --create-dirs -o "$local_path" "${remote_path}${remote_path_suffix}" || failed=true
-    fi
-
-    if [ "$failed" = true ]; then
-        __error "Download failed: $remote_path" 1>&2
-        return 1
-    fi
-}
-
-#
-# main
-#
-
-command="${1:-}"
-shift
-
-while [[ $# -gt 0 ]]; do
-    case $1 in
-        -\?|-h|--help)
-            __usage --no-exit
-            exit 0
-            ;;
-        -c|--channel|-Channel)
-            shift
-            channel="${1:-}"
-            [ -z "$channel" ] && __usage
-            ;;
-        --config-file|-ConfigFile)
-            shift
-            config_file="${1:-}"
-            [ -z "$config_file" ] && __usage
-            if [ ! -f "$config_file" ]; then
-                __error "Invalid value for --config-file. $config_file does not exist."
-                exit 1
-            fi
-            ;;
-        -d|--dotnet-home|-DotNetHome)
-            shift
-            DOTNET_HOME="${1:-}"
-            [ -z "$DOTNET_HOME" ] && __usage
-            ;;
-        --path|-Path)
-            shift
-            repo_path="${1:-}"
-            [ -z "$repo_path" ] && __usage
-            ;;
-        -s|--tools-source|-ToolsSource)
-            shift
-            tools_source="${1:-}"
-            [ -z "$tools_source" ] && __usage
-            ;;
-        --tools-source-suffix|-ToolsSourceSuffix)
-            shift
-            tools_source_suffix="${1:-}"
-            [ -z "$tools_source_suffix" ] && __usage
-            ;;
-        -u|--update|-Update)
-            update=true
-            ;;
-        --reinstall|-[Rr]einstall)
-            reinstall=true
-            ;;
-        --ci)
-            ci=true
-            ;;
-        --verbose|-Verbose)
-            verbose=true
-            ;;
-        --)
-            shift
-            break
-            ;;
-        *)
-            break
-            ;;
-    esac
-    shift
-done
-
-if ! __machine_has unzip; then
-    __error 'Missing required command: unzip'
-    exit 1
-fi
-
-if ! __machine_has curl && ! __machine_has wget; then
-    __error 'Missing required command. Either wget or curl is required.'
-    exit 1
-fi
-
-[ -z "${config_file:-}" ] && config_file="$repo_path/korebuild.json"
-if [ -f "$config_file" ]; then
-    if __machine_has jq ; then
-        if jq '.' "$config_file" >/dev/null ; then
-            config_channel="$(jq -r 'select(.channel!=null) | .channel' "$config_file")"
-            config_tools_source="$(jq -r 'select(.toolsSource!=null) | .toolsSource' "$config_file")"
-        else
-            __warn "$config_file is invalid JSON. Its settings will be ignored."
-        fi
-    elif __machine_has python ; then
-        if python -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'))" >/dev/null ; then
-            config_channel="$(python -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'));print(obj['channel'] if 'channel' in obj else '')")"
-            config_tools_source="$(python -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'));print(obj['toolsSource'] if 'toolsSource' in obj else '')")"
-        else
-            __warn "$config_file is invalid JSON. Its settings will be ignored."
-        fi
-    else
-        __warn 'Missing required command: jq or pyton. Could not parse the JSON file. Its settings will be ignored.'
-    fi
-
-    [ ! -z "${config_channel:-}" ] && channel="$config_channel"
-    [ ! -z "${config_tools_source:-}" ] && tools_source="$config_tools_source"
-fi
-
-[ -z "$channel" ] && channel='dev'
-[ -z "$tools_source" ] && tools_source='https://aspnetcore.blob.core.windows.net/buildtools'
-
-get_korebuild
-set_korebuildsettings "$tools_source" "$DOTNET_HOME" "$repo_path" "$config_file" "$ci"
-invoke_korebuild_command "$command" "$@"
diff --git a/src/Connections.Abstractions/Connections.Abstractions.csproj b/src/Connections.Abstractions/Connections.Abstractions.csproj
deleted file mode 100644
index 7ac34a26ddc..00000000000
--- a/src/Connections.Abstractions/Connections.Abstractions.csproj
+++ /dev/null
@@ -1,19 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-  <PropertyGroup>
-    <AssemblyName>Microsoft.AspNetCore.Connections.Abstractions</AssemblyName>
-    <RootNamespace>Microsoft.AspNetCore.Connections.Abstractions</RootNamespace>
-    <Description>Core components of ASP.NET Core networking protocol stack.</Description>
-    <TargetFramework>netstandard2.0</TargetFramework>
-    <GenerateDocumentationFile>true</GenerateDocumentationFile>
-    <PackageTags>aspnetcore</PackageTags>
-    <NoWarn>CS1591;$(NoWarn)</NoWarn>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.Http.Features" Version="$(MicrosoftAspNetCoreHttpFeaturesPackageVersion)" />
-    <PackageReference Include="System.IO.Pipelines" Version="$(SystemIOPipelinesPackageVersion)" />
-    <PackageReference Include="Microsoft.Extensions.ActivatorUtilities.Sources" Version="$(MicrosoftExtensionsActivatorUtilitiesSourcesPackageVersion)" PrivateAssets="All" />
-  </ItemGroup>
-
-</Project>
diff --git a/src/Directory.Build.props b/src/Directory.Build.props
deleted file mode 100644
index 6b85b2cf04e..00000000000
--- a/src/Directory.Build.props
+++ /dev/null
@@ -1,13 +0,0 @@
-<Project>
-  <Import Project="..\Directory.Build.props" />
-  <PropertyGroup>
-    <DefineConstants Condition="'$(InnerLoop)' != ''">$(DefineConstants);INNER_LOOP</DefineConstants>
-  </PropertyGroup>
-  <ItemGroup>
-    <PackageReference Include="Internal.AspNetCore.Sdk" PrivateAssets="All" Version="$(InternalAspNetCoreSdkPackageVersion)" />
-  </ItemGroup>
-  <PropertyGroup>
-    <!-- https://github.com/aspnet/KestrelHttpServer/issues/2350 -->
-    <EnableApiCheck>false</EnableApiCheck>
-  </PropertyGroup>
-</Project>
diff --git a/src/Kestrel.Core/Kestrel.Core.csproj b/src/Kestrel.Core/Kestrel.Core.csproj
deleted file mode 100644
index 8551a56002b..00000000000
--- a/src/Kestrel.Core/Kestrel.Core.csproj
+++ /dev/null
@@ -1,43 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-  <PropertyGroup>
-    <AssemblyName>Microsoft.AspNetCore.Server.Kestrel.Core</AssemblyName>
-    <RootNamespace>Microsoft.AspNetCore.Server.Kestrel.Core</RootNamespace>
-    <Description>Core components of ASP.NET Core Kestrel cross-platform web server.</Description>
-    <TargetFrameworks>netstandard2.0;netcoreapp2.1</TargetFrameworks>
-    <GenerateDocumentationFile>true</GenerateDocumentationFile>
-    <PackageTags>aspnetcore;kestrel</PackageTags>
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <NoWarn>CS1591;$(NoWarn)</NoWarn>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <Compile Include="..\shared\ThrowHelper.cs" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.Certificates.Generation.Sources" PrivateAssets="All" Version="$(MicrosoftAspNetCoreCertificatesGenerationSourcesPackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.Hosting.Abstractions" Version="$(MicrosoftAspNetCoreHostingAbstractionsPackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.WebUtilities" Version="$(MicrosoftAspNetCoreWebUtilitiesPackageVersion)" />
-    <PackageReference Include="Microsoft.Net.Http.Headers" Version="$(MicrosoftNetHttpHeadersPackageVersion)" />
-    <PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="$(MicrosoftExtensionsConfigurationBinderPackageVersion)" />
-    <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="$(MicrosoftExtensionsLoggingAbstractionsPackageVersion)" />
-    <PackageReference Include="Microsoft.Extensions.Options" Version="$(MicrosoftExtensionsOptionsPackageVersion)" />
-    <PackageReference Include="System.Threading.Tasks.Extensions" Version="$(SystemThreadingTasksExtensionsPackageVersion)" />
-    <PackageReference Include="System.Memory" Version="$(SystemMemoryPackageVersion)" />
-    <PackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="$(SystemRuntimeCompilerServicesUnsafePackageVersion)" />
-    <PackageReference Include="System.Security.Cryptography.Cng" Version="$(SystemSecurityCryptographyCngPackageVersion)" />
-    <PackageReference Include="System.Numerics.Vectors" Version="$(SystemNumericsVectorsPackageVersion)" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\Kestrel.Transport.Abstractions\Kestrel.Transport.Abstractions.csproj" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <EmbeddedResource Update="CoreStrings.resx">
-      <Generator></Generator>
-    </EmbeddedResource>
-  </ItemGroup>
-
-</Project>
diff --git a/src/Kestrel.Transport.Libuv/Kestrel.Transport.Libuv.csproj b/src/Kestrel.Transport.Libuv/Kestrel.Transport.Libuv.csproj
deleted file mode 100644
index bef2f77e606..00000000000
--- a/src/Kestrel.Transport.Libuv/Kestrel.Transport.Libuv.csproj
+++ /dev/null
@@ -1,25 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-  <PropertyGroup>
-    <AssemblyName>Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv</AssemblyName>
-    <RootNamespace>Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv</RootNamespace>
-    <Description>Libuv transport for the ASP.NET Core Kestrel cross-platform web server.</Description>
-    <TargetFramework>netstandard2.0</TargetFramework>
-    <GenerateDocumentationFile>true</GenerateDocumentationFile>
-    <PackageTags>aspnetcore;kestrel</PackageTags>
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <NoWarn>CS1591;$(NoWarn)</NoWarn>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Libuv" Version="$(LibuvPackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.Hosting.Abstractions" Version="$(MicrosoftAspNetCoreHostingAbstractionsPackageVersion)" />
-    <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="$(MicrosoftExtensionsLoggingAbstractionsPackageVersion)" />
-    <PackageReference Include="Microsoft.Extensions.Options" Version="$(MicrosoftExtensionsOptionsPackageVersion)" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\Kestrel.Transport.Abstractions\Kestrel.Transport.Abstractions.csproj" />
-  </ItemGroup>
-
-</Project>
diff --git a/src/Kestrel/Kestrel.csproj b/src/Kestrel/Kestrel.csproj
deleted file mode 100644
index f0978630861..00000000000
--- a/src/Kestrel/Kestrel.csproj
+++ /dev/null
@@ -1,23 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-  <PropertyGroup>
-    <AssemblyName>Microsoft.AspNetCore.Server.Kestrel</AssemblyName>
-    <RootNamespace>Microsoft.AspNetCore.Server.Kestrel</RootNamespace>
-    <Description>ASP.NET Core Kestrel cross-platform web server.</Description>
-    <TargetFramework>netstandard2.0</TargetFramework>
-    <GenerateDocumentationFile>true</GenerateDocumentationFile>
-    <PackageTags>aspnetcore;kestrel</PackageTags>
-    <NoWarn>CS1591;$(NoWarn)</NoWarn>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.Hosting" Version="$(MicrosoftAspNetCoreHostingPackageVersion)" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\Kestrel.Core\Kestrel.Core.csproj" />
-    <ProjectReference Include="..\Kestrel.Https\Kestrel.Https.csproj" />
-    <ProjectReference Include="..\Kestrel.Transport.Sockets\Kestrel.Transport.Sockets.csproj" />
-  </ItemGroup>
-
-</Project>
diff --git a/src/Connections.Abstractions/ConnectionBuilder.cs b/src/Servers/Connections.Abstractions/src/ConnectionBuilder.cs
similarity index 100%
rename from src/Connections.Abstractions/ConnectionBuilder.cs
rename to src/Servers/Connections.Abstractions/src/ConnectionBuilder.cs
diff --git a/src/Connections.Abstractions/ConnectionBuilderExtensions.cs b/src/Servers/Connections.Abstractions/src/ConnectionBuilderExtensions.cs
similarity index 100%
rename from src/Connections.Abstractions/ConnectionBuilderExtensions.cs
rename to src/Servers/Connections.Abstractions/src/ConnectionBuilderExtensions.cs
diff --git a/src/Connections.Abstractions/ConnectionContext.cs b/src/Servers/Connections.Abstractions/src/ConnectionContext.cs
similarity index 100%
rename from src/Connections.Abstractions/ConnectionContext.cs
rename to src/Servers/Connections.Abstractions/src/ConnectionContext.cs
diff --git a/src/Connections.Abstractions/ConnectionDelegate.cs b/src/Servers/Connections.Abstractions/src/ConnectionDelegate.cs
similarity index 100%
rename from src/Connections.Abstractions/ConnectionDelegate.cs
rename to src/Servers/Connections.Abstractions/src/ConnectionDelegate.cs
diff --git a/src/Connections.Abstractions/ConnectionHandler.cs b/src/Servers/Connections.Abstractions/src/ConnectionHandler.cs
similarity index 100%
rename from src/Connections.Abstractions/ConnectionHandler.cs
rename to src/Servers/Connections.Abstractions/src/ConnectionHandler.cs
diff --git a/src/Connections.Abstractions/ConnectionItems.cs b/src/Servers/Connections.Abstractions/src/ConnectionItems.cs
similarity index 100%
rename from src/Connections.Abstractions/ConnectionItems.cs
rename to src/Servers/Connections.Abstractions/src/ConnectionItems.cs
diff --git a/src/Connections.Abstractions/DefaultConnectionContext.cs b/src/Servers/Connections.Abstractions/src/DefaultConnectionContext.cs
similarity index 100%
rename from src/Connections.Abstractions/DefaultConnectionContext.cs
rename to src/Servers/Connections.Abstractions/src/DefaultConnectionContext.cs
diff --git a/src/Connections.Abstractions/Exceptions/AddressInUseException.cs b/src/Servers/Connections.Abstractions/src/Exceptions/AddressInUseException.cs
similarity index 100%
rename from src/Connections.Abstractions/Exceptions/AddressInUseException.cs
rename to src/Servers/Connections.Abstractions/src/Exceptions/AddressInUseException.cs
diff --git a/src/Connections.Abstractions/Exceptions/ConnectionAbortedException.cs b/src/Servers/Connections.Abstractions/src/Exceptions/ConnectionAbortedException.cs
similarity index 100%
rename from src/Connections.Abstractions/Exceptions/ConnectionAbortedException.cs
rename to src/Servers/Connections.Abstractions/src/Exceptions/ConnectionAbortedException.cs
diff --git a/src/Connections.Abstractions/Exceptions/ConnectionResetException.cs b/src/Servers/Connections.Abstractions/src/Exceptions/ConnectionResetException.cs
similarity index 100%
rename from src/Connections.Abstractions/Exceptions/ConnectionResetException.cs
rename to src/Servers/Connections.Abstractions/src/Exceptions/ConnectionResetException.cs
diff --git a/src/Connections.Abstractions/Features/IConnectionHeartbeatFeature.cs b/src/Servers/Connections.Abstractions/src/Features/IConnectionHeartbeatFeature.cs
similarity index 100%
rename from src/Connections.Abstractions/Features/IConnectionHeartbeatFeature.cs
rename to src/Servers/Connections.Abstractions/src/Features/IConnectionHeartbeatFeature.cs
diff --git a/src/Connections.Abstractions/Features/IConnectionIdFeature.cs b/src/Servers/Connections.Abstractions/src/Features/IConnectionIdFeature.cs
similarity index 100%
rename from src/Connections.Abstractions/Features/IConnectionIdFeature.cs
rename to src/Servers/Connections.Abstractions/src/Features/IConnectionIdFeature.cs
diff --git a/src/Connections.Abstractions/Features/IConnectionInherentKeepAliveFeature.cs b/src/Servers/Connections.Abstractions/src/Features/IConnectionInherentKeepAliveFeature.cs
similarity index 100%
rename from src/Connections.Abstractions/Features/IConnectionInherentKeepAliveFeature.cs
rename to src/Servers/Connections.Abstractions/src/Features/IConnectionInherentKeepAliveFeature.cs
diff --git a/src/Connections.Abstractions/Features/IConnectionItemsFeature.cs b/src/Servers/Connections.Abstractions/src/Features/IConnectionItemsFeature.cs
similarity index 100%
rename from src/Connections.Abstractions/Features/IConnectionItemsFeature.cs
rename to src/Servers/Connections.Abstractions/src/Features/IConnectionItemsFeature.cs
diff --git a/src/Connections.Abstractions/Features/IConnectionLifetimeFeature.cs b/src/Servers/Connections.Abstractions/src/Features/IConnectionLifetimeFeature.cs
similarity index 100%
rename from src/Connections.Abstractions/Features/IConnectionLifetimeFeature.cs
rename to src/Servers/Connections.Abstractions/src/Features/IConnectionLifetimeFeature.cs
diff --git a/src/Connections.Abstractions/Features/IConnectionTransportFeature.cs b/src/Servers/Connections.Abstractions/src/Features/IConnectionTransportFeature.cs
similarity index 100%
rename from src/Connections.Abstractions/Features/IConnectionTransportFeature.cs
rename to src/Servers/Connections.Abstractions/src/Features/IConnectionTransportFeature.cs
diff --git a/src/Connections.Abstractions/Features/IConnectionUserFeature.cs b/src/Servers/Connections.Abstractions/src/Features/IConnectionUserFeature.cs
similarity index 100%
rename from src/Connections.Abstractions/Features/IConnectionUserFeature.cs
rename to src/Servers/Connections.Abstractions/src/Features/IConnectionUserFeature.cs
diff --git a/src/Connections.Abstractions/Features/IMemoryPoolFeature.cs b/src/Servers/Connections.Abstractions/src/Features/IMemoryPoolFeature.cs
similarity index 100%
rename from src/Connections.Abstractions/Features/IMemoryPoolFeature.cs
rename to src/Servers/Connections.Abstractions/src/Features/IMemoryPoolFeature.cs
diff --git a/src/Connections.Abstractions/Features/ITransferFormatFeature.cs b/src/Servers/Connections.Abstractions/src/Features/ITransferFormatFeature.cs
similarity index 100%
rename from src/Connections.Abstractions/Features/ITransferFormatFeature.cs
rename to src/Servers/Connections.Abstractions/src/Features/ITransferFormatFeature.cs
diff --git a/src/Connections.Abstractions/IConnectionBuilder.cs b/src/Servers/Connections.Abstractions/src/IConnectionBuilder.cs
similarity index 100%
rename from src/Connections.Abstractions/IConnectionBuilder.cs
rename to src/Servers/Connections.Abstractions/src/IConnectionBuilder.cs
diff --git a/src/Servers/Connections.Abstractions/src/Microsoft.AspNetCore.Connections.Abstractions.csproj b/src/Servers/Connections.Abstractions/src/Microsoft.AspNetCore.Connections.Abstractions.csproj
new file mode 100644
index 00000000000..5546aef7b8d
--- /dev/null
+++ b/src/Servers/Connections.Abstractions/src/Microsoft.AspNetCore.Connections.Abstractions.csproj
@@ -0,0 +1,17 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <Description>Core components of ASP.NET Core networking protocol stack.</Description>
+    <TargetFramework>netstandard2.0</TargetFramework>
+    <GenerateDocumentationFile>true</GenerateDocumentationFile>
+    <PackageTags>aspnetcore</PackageTags>
+    <NoWarn>CS1591;$(NoWarn)</NoWarn>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.AspNetCore.Http.Features" />
+    <Reference Include="Microsoft.Extensions.ActivatorUtilities.Sources" PrivateAssets="All" />
+    <Reference Include="System.IO.Pipelines" />
+  </ItemGroup>
+
+</Project>
diff --git a/src/Connections.Abstractions/TransferFormat.cs b/src/Servers/Connections.Abstractions/src/TransferFormat.cs
similarity index 100%
rename from src/Connections.Abstractions/TransferFormat.cs
rename to src/Servers/Connections.Abstractions/src/TransferFormat.cs
diff --git a/src/Connections.Abstractions/baseline.netcore.json b/src/Servers/Connections.Abstractions/src/baseline.netcore.json
similarity index 100%
rename from src/Connections.Abstractions/baseline.netcore.json
rename to src/Servers/Connections.Abstractions/src/baseline.netcore.json
diff --git a/src/Servers/Directory.Build.props b/src/Servers/Directory.Build.props
new file mode 100644
index 00000000000..6b358026891
--- /dev/null
+++ b/src/Servers/Directory.Build.props
@@ -0,0 +1,9 @@
+<Project>
+  <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory)..\, Directory.Build.props))\Directory.Build.props" />
+
+  <PropertyGroup>
+    <BaseIntermediateOutputPath>$(RepositoryRoot)obj\$(MSBuildProjectName)\</BaseIntermediateOutputPath>
+    <BaseOutputPath>$(RepositoryRoot)bin\$(MSBuildProjectName)\</BaseOutputPath>
+  </PropertyGroup>
+
+</Project>
diff --git a/src/Kestrel.Core/Adapter/Internal/AdaptedPipeline.cs b/src/Servers/Kestrel/Core/src/Adapter/Internal/AdaptedPipeline.cs
similarity index 100%
rename from src/Kestrel.Core/Adapter/Internal/AdaptedPipeline.cs
rename to src/Servers/Kestrel/Core/src/Adapter/Internal/AdaptedPipeline.cs
diff --git a/src/Kestrel.Core/Adapter/Internal/ConnectionAdapterContext.cs b/src/Servers/Kestrel/Core/src/Adapter/Internal/ConnectionAdapterContext.cs
similarity index 100%
rename from src/Kestrel.Core/Adapter/Internal/ConnectionAdapterContext.cs
rename to src/Servers/Kestrel/Core/src/Adapter/Internal/ConnectionAdapterContext.cs
diff --git a/src/Kestrel.Core/Adapter/Internal/IAdaptedConnection.cs b/src/Servers/Kestrel/Core/src/Adapter/Internal/IAdaptedConnection.cs
similarity index 100%
rename from src/Kestrel.Core/Adapter/Internal/IAdaptedConnection.cs
rename to src/Servers/Kestrel/Core/src/Adapter/Internal/IAdaptedConnection.cs
diff --git a/src/Kestrel.Core/Adapter/Internal/IConnectionAdapter.cs b/src/Servers/Kestrel/Core/src/Adapter/Internal/IConnectionAdapter.cs
similarity index 100%
rename from src/Kestrel.Core/Adapter/Internal/IConnectionAdapter.cs
rename to src/Servers/Kestrel/Core/src/Adapter/Internal/IConnectionAdapter.cs
diff --git a/src/Kestrel.Core/Adapter/Internal/LoggingConnectionAdapter.cs b/src/Servers/Kestrel/Core/src/Adapter/Internal/LoggingConnectionAdapter.cs
similarity index 100%
rename from src/Kestrel.Core/Adapter/Internal/LoggingConnectionAdapter.cs
rename to src/Servers/Kestrel/Core/src/Adapter/Internal/LoggingConnectionAdapter.cs
diff --git a/src/Kestrel.Core/Adapter/Internal/LoggingStream.cs b/src/Servers/Kestrel/Core/src/Adapter/Internal/LoggingStream.cs
similarity index 100%
rename from src/Kestrel.Core/Adapter/Internal/LoggingStream.cs
rename to src/Servers/Kestrel/Core/src/Adapter/Internal/LoggingStream.cs
diff --git a/src/Kestrel.Core/Adapter/Internal/RawStream.cs b/src/Servers/Kestrel/Core/src/Adapter/Internal/RawStream.cs
similarity index 100%
rename from src/Kestrel.Core/Adapter/Internal/RawStream.cs
rename to src/Servers/Kestrel/Core/src/Adapter/Internal/RawStream.cs
diff --git a/src/Kestrel.Core/Adapter/ListenOptionsConnectionLoggingExtensions.cs b/src/Servers/Kestrel/Core/src/Adapter/ListenOptionsConnectionLoggingExtensions.cs
similarity index 100%
rename from src/Kestrel.Core/Adapter/ListenOptionsConnectionLoggingExtensions.cs
rename to src/Servers/Kestrel/Core/src/Adapter/ListenOptionsConnectionLoggingExtensions.cs
diff --git a/src/Kestrel.Core/AnyIPListenOptions.cs b/src/Servers/Kestrel/Core/src/AnyIPListenOptions.cs
similarity index 100%
rename from src/Kestrel.Core/AnyIPListenOptions.cs
rename to src/Servers/Kestrel/Core/src/AnyIPListenOptions.cs
diff --git a/src/Kestrel.Core/BadHttpRequestException.cs b/src/Servers/Kestrel/Core/src/BadHttpRequestException.cs
similarity index 100%
rename from src/Kestrel.Core/BadHttpRequestException.cs
rename to src/Servers/Kestrel/Core/src/BadHttpRequestException.cs
diff --git a/src/Kestrel.Core/ClientCertificateMode.cs b/src/Servers/Kestrel/Core/src/ClientCertificateMode.cs
similarity index 100%
rename from src/Kestrel.Core/ClientCertificateMode.cs
rename to src/Servers/Kestrel/Core/src/ClientCertificateMode.cs
diff --git a/src/Kestrel.Core/CoreStrings.resx b/src/Servers/Kestrel/Core/src/CoreStrings.resx
similarity index 100%
rename from src/Kestrel.Core/CoreStrings.resx
rename to src/Servers/Kestrel/Core/src/CoreStrings.resx
diff --git a/src/Kestrel.Core/EndpointConfiguration.cs b/src/Servers/Kestrel/Core/src/EndpointConfiguration.cs
similarity index 100%
rename from src/Kestrel.Core/EndpointConfiguration.cs
rename to src/Servers/Kestrel/Core/src/EndpointConfiguration.cs
diff --git a/src/Kestrel.Core/Features/IConnectionTimeoutFeature.cs b/src/Servers/Kestrel/Core/src/Features/IConnectionTimeoutFeature.cs
similarity index 100%
rename from src/Kestrel.Core/Features/IConnectionTimeoutFeature.cs
rename to src/Servers/Kestrel/Core/src/Features/IConnectionTimeoutFeature.cs
diff --git a/src/Kestrel.Core/Features/IDecrementConcurrentConnectionCountFeature.cs b/src/Servers/Kestrel/Core/src/Features/IDecrementConcurrentConnectionCountFeature.cs
similarity index 100%
rename from src/Kestrel.Core/Features/IDecrementConcurrentConnectionCountFeature.cs
rename to src/Servers/Kestrel/Core/src/Features/IDecrementConcurrentConnectionCountFeature.cs
diff --git a/src/Kestrel.Core/Features/IHttp2StreamIdFeature.cs b/src/Servers/Kestrel/Core/src/Features/IHttp2StreamIdFeature.cs
similarity index 100%
rename from src/Kestrel.Core/Features/IHttp2StreamIdFeature.cs
rename to src/Servers/Kestrel/Core/src/Features/IHttp2StreamIdFeature.cs
diff --git a/src/Kestrel.Core/Features/IHttpMinRequestBodyDataRateFeature.cs b/src/Servers/Kestrel/Core/src/Features/IHttpMinRequestBodyDataRateFeature.cs
similarity index 100%
rename from src/Kestrel.Core/Features/IHttpMinRequestBodyDataRateFeature.cs
rename to src/Servers/Kestrel/Core/src/Features/IHttpMinRequestBodyDataRateFeature.cs
diff --git a/src/Kestrel.Core/Features/IHttpMinResponseDataRateFeature.cs b/src/Servers/Kestrel/Core/src/Features/IHttpMinResponseDataRateFeature.cs
similarity index 100%
rename from src/Kestrel.Core/Features/IHttpMinResponseDataRateFeature.cs
rename to src/Servers/Kestrel/Core/src/Features/IHttpMinResponseDataRateFeature.cs
diff --git a/src/Kestrel.Core/Features/ITlsApplicationProtocolFeature.cs b/src/Servers/Kestrel/Core/src/Features/ITlsApplicationProtocolFeature.cs
similarity index 100%
rename from src/Kestrel.Core/Features/ITlsApplicationProtocolFeature.cs
rename to src/Servers/Kestrel/Core/src/Features/ITlsApplicationProtocolFeature.cs
diff --git a/src/Kestrel.Core/HttpProtocols.cs b/src/Servers/Kestrel/Core/src/HttpProtocols.cs
similarity index 100%
rename from src/Kestrel.Core/HttpProtocols.cs
rename to src/Servers/Kestrel/Core/src/HttpProtocols.cs
diff --git a/src/Kestrel.Core/HttpsConnectionAdapterOptions.cs b/src/Servers/Kestrel/Core/src/HttpsConnectionAdapterOptions.cs
similarity index 100%
rename from src/Kestrel.Core/HttpsConnectionAdapterOptions.cs
rename to src/Servers/Kestrel/Core/src/HttpsConnectionAdapterOptions.cs
diff --git a/src/Kestrel.Core/Internal/AddressBindContext.cs b/src/Servers/Kestrel/Core/src/Internal/AddressBindContext.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/AddressBindContext.cs
rename to src/Servers/Kestrel/Core/src/Internal/AddressBindContext.cs
diff --git a/src/Kestrel.Core/Internal/AddressBinder.cs b/src/Servers/Kestrel/Core/src/Internal/AddressBinder.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/AddressBinder.cs
rename to src/Servers/Kestrel/Core/src/Internal/AddressBinder.cs
diff --git a/src/Kestrel.Core/Internal/BufferReader.cs b/src/Servers/Kestrel/Core/src/Internal/BufferReader.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/BufferReader.cs
rename to src/Servers/Kestrel/Core/src/Internal/BufferReader.cs
diff --git a/src/Kestrel.Core/Internal/BufferWriter.cs b/src/Servers/Kestrel/Core/src/Internal/BufferWriter.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/BufferWriter.cs
rename to src/Servers/Kestrel/Core/src/Internal/BufferWriter.cs
diff --git a/src/Kestrel.Core/Internal/CertificateLoader.cs b/src/Servers/Kestrel/Core/src/Internal/CertificateLoader.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/CertificateLoader.cs
rename to src/Servers/Kestrel/Core/src/Internal/CertificateLoader.cs
diff --git a/src/Kestrel.Core/Internal/ClosedStream.cs b/src/Servers/Kestrel/Core/src/Internal/ClosedStream.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/ClosedStream.cs
rename to src/Servers/Kestrel/Core/src/Internal/ClosedStream.cs
diff --git a/src/Kestrel.Core/Internal/ConfigurationReader.cs b/src/Servers/Kestrel/Core/src/Internal/ConfigurationReader.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/ConfigurationReader.cs
rename to src/Servers/Kestrel/Core/src/Internal/ConfigurationReader.cs
diff --git a/src/Kestrel.Core/Internal/ConnectionDispatcher.cs b/src/Servers/Kestrel/Core/src/Internal/ConnectionDispatcher.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/ConnectionDispatcher.cs
rename to src/Servers/Kestrel/Core/src/Internal/ConnectionDispatcher.cs
diff --git a/src/Kestrel.Core/Internal/ConnectionLimitMiddleware.cs b/src/Servers/Kestrel/Core/src/Internal/ConnectionLimitMiddleware.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/ConnectionLimitMiddleware.cs
rename to src/Servers/Kestrel/Core/src/Internal/ConnectionLimitMiddleware.cs
diff --git a/src/Kestrel.Core/Internal/ConnectionLogScope.cs b/src/Servers/Kestrel/Core/src/Internal/ConnectionLogScope.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/ConnectionLogScope.cs
rename to src/Servers/Kestrel/Core/src/Internal/ConnectionLogScope.cs
diff --git a/src/Kestrel.Core/Internal/DuplexPipe.cs b/src/Servers/Kestrel/Core/src/Internal/DuplexPipe.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/DuplexPipe.cs
rename to src/Servers/Kestrel/Core/src/Internal/DuplexPipe.cs
diff --git a/src/Kestrel.Core/Internal/Http/ChunkWriter.cs b/src/Servers/Kestrel/Core/src/Internal/Http/ChunkWriter.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http/ChunkWriter.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http/ChunkWriter.cs
diff --git a/src/Kestrel.Core/Internal/Http/ConnectionOptions.cs b/src/Servers/Kestrel/Core/src/Internal/Http/ConnectionOptions.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http/ConnectionOptions.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http/ConnectionOptions.cs
diff --git a/src/Kestrel.Core/Internal/Http/DateHeaderValueManager.cs b/src/Servers/Kestrel/Core/src/Internal/Http/DateHeaderValueManager.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http/DateHeaderValueManager.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http/DateHeaderValueManager.cs
diff --git a/src/Kestrel.Core/Internal/Http/Http1Connection.FeatureCollection.cs b/src/Servers/Kestrel/Core/src/Internal/Http/Http1Connection.FeatureCollection.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http/Http1Connection.FeatureCollection.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http/Http1Connection.FeatureCollection.cs
diff --git a/src/Kestrel.Core/Internal/Http/Http1Connection.cs b/src/Servers/Kestrel/Core/src/Internal/Http/Http1Connection.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http/Http1Connection.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http/Http1Connection.cs
diff --git a/src/Kestrel.Core/Internal/Http/Http1ConnectionContext.cs b/src/Servers/Kestrel/Core/src/Internal/Http/Http1ConnectionContext.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http/Http1ConnectionContext.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http/Http1ConnectionContext.cs
diff --git a/src/Kestrel.Core/Internal/Http/Http1MessageBody.cs b/src/Servers/Kestrel/Core/src/Internal/Http/Http1MessageBody.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http/Http1MessageBody.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http/Http1MessageBody.cs
diff --git a/src/Kestrel.Core/Internal/Http/Http1OutputProducer.cs b/src/Servers/Kestrel/Core/src/Internal/Http/Http1OutputProducer.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http/Http1OutputProducer.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http/Http1OutputProducer.cs
diff --git a/src/Kestrel.Core/Internal/Http/Http1ParsingHandler.cs b/src/Servers/Kestrel/Core/src/Internal/Http/Http1ParsingHandler.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http/Http1ParsingHandler.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http/Http1ParsingHandler.cs
diff --git a/src/Kestrel.Core/Internal/Http/HttpHeaders.Generated.cs b/src/Servers/Kestrel/Core/src/Internal/Http/HttpHeaders.Generated.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http/HttpHeaders.Generated.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http/HttpHeaders.Generated.cs
diff --git a/src/Kestrel.Core/Internal/Http/HttpHeaders.cs b/src/Servers/Kestrel/Core/src/Internal/Http/HttpHeaders.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http/HttpHeaders.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http/HttpHeaders.cs
diff --git a/src/Kestrel.Core/Internal/Http/HttpMethod.cs b/src/Servers/Kestrel/Core/src/Internal/Http/HttpMethod.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http/HttpMethod.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http/HttpMethod.cs
diff --git a/src/Kestrel.Core/Internal/Http/HttpParser.cs b/src/Servers/Kestrel/Core/src/Internal/Http/HttpParser.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http/HttpParser.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http/HttpParser.cs
diff --git a/src/Kestrel.Core/Internal/Http/HttpProtocol.FeatureCollection.cs b/src/Servers/Kestrel/Core/src/Internal/Http/HttpProtocol.FeatureCollection.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http/HttpProtocol.FeatureCollection.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http/HttpProtocol.FeatureCollection.cs
diff --git a/src/Kestrel.Core/Internal/Http/HttpProtocol.Generated.cs b/src/Servers/Kestrel/Core/src/Internal/Http/HttpProtocol.Generated.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http/HttpProtocol.Generated.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http/HttpProtocol.Generated.cs
diff --git a/src/Kestrel.Core/Internal/Http/HttpProtocol.cs b/src/Servers/Kestrel/Core/src/Internal/Http/HttpProtocol.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http/HttpProtocol.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http/HttpProtocol.cs
diff --git a/src/Kestrel.Core/Internal/Http/HttpRequestHeaders.cs b/src/Servers/Kestrel/Core/src/Internal/Http/HttpRequestHeaders.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http/HttpRequestHeaders.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http/HttpRequestHeaders.cs
diff --git a/src/Kestrel.Core/Internal/Http/HttpRequestStream.cs b/src/Servers/Kestrel/Core/src/Internal/Http/HttpRequestStream.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http/HttpRequestStream.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http/HttpRequestStream.cs
diff --git a/src/Kestrel.Core/Internal/Http/HttpRequestTargetForm.cs b/src/Servers/Kestrel/Core/src/Internal/Http/HttpRequestTargetForm.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http/HttpRequestTargetForm.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http/HttpRequestTargetForm.cs
diff --git a/src/Kestrel.Core/Internal/Http/HttpResponseHeaders.cs b/src/Servers/Kestrel/Core/src/Internal/Http/HttpResponseHeaders.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http/HttpResponseHeaders.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http/HttpResponseHeaders.cs
diff --git a/src/Kestrel.Core/Internal/Http/HttpResponseStream.cs b/src/Servers/Kestrel/Core/src/Internal/Http/HttpResponseStream.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http/HttpResponseStream.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http/HttpResponseStream.cs
diff --git a/src/Kestrel.Core/Internal/Http/HttpScheme.cs b/src/Servers/Kestrel/Core/src/Internal/Http/HttpScheme.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http/HttpScheme.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http/HttpScheme.cs
diff --git a/src/Kestrel.Core/Internal/Http/HttpStreamState.cs b/src/Servers/Kestrel/Core/src/Internal/Http/HttpStreamState.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http/HttpStreamState.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http/HttpStreamState.cs
diff --git a/src/Kestrel.Core/Internal/Http/HttpUpgradeStream.cs b/src/Servers/Kestrel/Core/src/Internal/Http/HttpUpgradeStream.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http/HttpUpgradeStream.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http/HttpUpgradeStream.cs
diff --git a/src/Kestrel.Core/Internal/Http/HttpVersion.cs b/src/Servers/Kestrel/Core/src/Internal/Http/HttpVersion.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http/HttpVersion.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http/HttpVersion.cs
diff --git a/src/Kestrel.Core/Internal/Http/IHttpHeadersHandler.cs b/src/Servers/Kestrel/Core/src/Internal/Http/IHttpHeadersHandler.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http/IHttpHeadersHandler.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http/IHttpHeadersHandler.cs
diff --git a/src/Kestrel.Core/Internal/Http/IHttpOutputProducer.cs b/src/Servers/Kestrel/Core/src/Internal/Http/IHttpOutputProducer.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http/IHttpOutputProducer.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http/IHttpOutputProducer.cs
diff --git a/src/Kestrel.Core/Internal/Http/IHttpParser.cs b/src/Servers/Kestrel/Core/src/Internal/Http/IHttpParser.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http/IHttpParser.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http/IHttpParser.cs
diff --git a/src/Kestrel.Core/Internal/Http/IHttpProtocolContext.cs b/src/Servers/Kestrel/Core/src/Internal/Http/IHttpProtocolContext.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http/IHttpProtocolContext.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http/IHttpProtocolContext.cs
diff --git a/src/Kestrel.Core/Internal/Http/IHttpRequestLineHandler.cs b/src/Servers/Kestrel/Core/src/Internal/Http/IHttpRequestLineHandler.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http/IHttpRequestLineHandler.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http/IHttpRequestLineHandler.cs
diff --git a/src/Kestrel.Core/Internal/Http/IHttpResponseControl.cs b/src/Servers/Kestrel/Core/src/Internal/Http/IHttpResponseControl.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http/IHttpResponseControl.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http/IHttpResponseControl.cs
diff --git a/src/Kestrel.Core/Internal/Http/MessageBody.cs b/src/Servers/Kestrel/Core/src/Internal/Http/MessageBody.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http/MessageBody.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http/MessageBody.cs
diff --git a/src/Kestrel.Core/Internal/Http/PathNormalizer.cs b/src/Servers/Kestrel/Core/src/Internal/Http/PathNormalizer.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http/PathNormalizer.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http/PathNormalizer.cs
diff --git a/src/Kestrel.Core/Internal/Http/PipelineExtensions.cs b/src/Servers/Kestrel/Core/src/Internal/Http/PipelineExtensions.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http/PipelineExtensions.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http/PipelineExtensions.cs
diff --git a/src/Kestrel.Core/Internal/Http/ProduceEndType.cs b/src/Servers/Kestrel/Core/src/Internal/Http/ProduceEndType.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http/ProduceEndType.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http/ProduceEndType.cs
diff --git a/src/Kestrel.Core/Internal/Http/ReasonPhrases.cs b/src/Servers/Kestrel/Core/src/Internal/Http/ReasonPhrases.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http/ReasonPhrases.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http/ReasonPhrases.cs
diff --git a/src/Kestrel.Core/Internal/Http/RequestProcessingStatus.cs b/src/Servers/Kestrel/Core/src/Internal/Http/RequestProcessingStatus.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http/RequestProcessingStatus.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http/RequestProcessingStatus.cs
diff --git a/src/Kestrel.Core/Internal/Http/RequestRejectionReason.cs b/src/Servers/Kestrel/Core/src/Internal/Http/RequestRejectionReason.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http/RequestRejectionReason.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http/RequestRejectionReason.cs
diff --git a/src/Kestrel.Core/Internal/Http/TransferCoding.cs b/src/Servers/Kestrel/Core/src/Internal/Http/TransferCoding.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http/TransferCoding.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http/TransferCoding.cs
diff --git a/src/Kestrel.Core/Internal/Http/UrlDecoder.cs b/src/Servers/Kestrel/Core/src/Internal/Http/UrlDecoder.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http/UrlDecoder.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http/UrlDecoder.cs
diff --git a/src/Kestrel.Core/Internal/Http2/HPack/DynamicTable.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/HPack/DynamicTable.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/HPack/DynamicTable.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/HPack/DynamicTable.cs
diff --git a/src/Kestrel.Core/Internal/Http2/HPack/HPackDecoder.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/HPack/HPackDecoder.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/HPack/HPackDecoder.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/HPack/HPackDecoder.cs
diff --git a/src/Kestrel.Core/Internal/Http2/HPack/HPackDecodingException.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/HPack/HPackDecodingException.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/HPack/HPackDecodingException.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/HPack/HPackDecodingException.cs
diff --git a/src/Kestrel.Core/Internal/Http2/HPack/HPackEncoder.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/HPack/HPackEncoder.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/HPack/HPackEncoder.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/HPack/HPackEncoder.cs
diff --git a/src/Kestrel.Core/Internal/Http2/HPack/HeaderField.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/HPack/HeaderField.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/HPack/HeaderField.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/HPack/HeaderField.cs
diff --git a/src/Kestrel.Core/Internal/Http2/HPack/Huffman.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/HPack/Huffman.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/HPack/Huffman.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/HPack/Huffman.cs
diff --git a/src/Kestrel.Core/Internal/Http2/HPack/HuffmanDecodingException.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/HPack/HuffmanDecodingException.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/HPack/HuffmanDecodingException.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/HPack/HuffmanDecodingException.cs
diff --git a/src/Kestrel.Core/Internal/Http2/HPack/IntegerDecoder.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/HPack/IntegerDecoder.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/HPack/IntegerDecoder.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/HPack/IntegerDecoder.cs
diff --git a/src/Kestrel.Core/Internal/Http2/HPack/IntegerEncoder.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/HPack/IntegerEncoder.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/HPack/IntegerEncoder.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/HPack/IntegerEncoder.cs
diff --git a/src/Kestrel.Core/Internal/Http2/HPack/StaticTable.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/HPack/StaticTable.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/HPack/StaticTable.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/HPack/StaticTable.cs
diff --git a/src/Kestrel.Core/Internal/Http2/HPack/StatusCodes.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/HPack/StatusCodes.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/HPack/StatusCodes.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/HPack/StatusCodes.cs
diff --git a/src/Kestrel.Core/Internal/Http2/Http2Connection.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/Http2Connection.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/Http2Connection.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/Http2Connection.cs
diff --git a/src/Kestrel.Core/Internal/Http2/Http2ConnectionContext.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/Http2ConnectionContext.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/Http2ConnectionContext.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/Http2ConnectionContext.cs
diff --git a/src/Kestrel.Core/Internal/Http2/Http2ConnectionErrorException.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/Http2ConnectionErrorException.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/Http2ConnectionErrorException.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/Http2ConnectionErrorException.cs
diff --git a/src/Kestrel.Core/Internal/Http2/Http2ContinuationFrameFlags.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/Http2ContinuationFrameFlags.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/Http2ContinuationFrameFlags.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/Http2ContinuationFrameFlags.cs
diff --git a/src/Kestrel.Core/Internal/Http2/Http2DataFrameFlags.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/Http2DataFrameFlags.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/Http2DataFrameFlags.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/Http2DataFrameFlags.cs
diff --git a/src/Kestrel.Core/Internal/Http2/Http2ErrorCode.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/Http2ErrorCode.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/Http2ErrorCode.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/Http2ErrorCode.cs
diff --git a/src/Kestrel.Core/Internal/Http2/Http2Frame.Continuation.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/Http2Frame.Continuation.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/Http2Frame.Continuation.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/Http2Frame.Continuation.cs
diff --git a/src/Kestrel.Core/Internal/Http2/Http2Frame.Data.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/Http2Frame.Data.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/Http2Frame.Data.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/Http2Frame.Data.cs
diff --git a/src/Kestrel.Core/Internal/Http2/Http2Frame.GoAway.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/Http2Frame.GoAway.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/Http2Frame.GoAway.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/Http2Frame.GoAway.cs
diff --git a/src/Kestrel.Core/Internal/Http2/Http2Frame.Headers.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/Http2Frame.Headers.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/Http2Frame.Headers.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/Http2Frame.Headers.cs
diff --git a/src/Kestrel.Core/Internal/Http2/Http2Frame.Ping.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/Http2Frame.Ping.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/Http2Frame.Ping.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/Http2Frame.Ping.cs
diff --git a/src/Kestrel.Core/Internal/Http2/Http2Frame.Priority.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/Http2Frame.Priority.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/Http2Frame.Priority.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/Http2Frame.Priority.cs
diff --git a/src/Kestrel.Core/Internal/Http2/Http2Frame.RstStream.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/Http2Frame.RstStream.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/Http2Frame.RstStream.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/Http2Frame.RstStream.cs
diff --git a/src/Kestrel.Core/Internal/Http2/Http2Frame.Settings.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/Http2Frame.Settings.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/Http2Frame.Settings.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/Http2Frame.Settings.cs
diff --git a/src/Kestrel.Core/Internal/Http2/Http2Frame.WindowUpdate.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/Http2Frame.WindowUpdate.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/Http2Frame.WindowUpdate.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/Http2Frame.WindowUpdate.cs
diff --git a/src/Kestrel.Core/Internal/Http2/Http2Frame.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/Http2Frame.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/Http2Frame.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/Http2Frame.cs
diff --git a/src/Kestrel.Core/Internal/Http2/Http2FrameReader.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/Http2FrameReader.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/Http2FrameReader.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/Http2FrameReader.cs
diff --git a/src/Kestrel.Core/Internal/Http2/Http2FrameType.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/Http2FrameType.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/Http2FrameType.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/Http2FrameType.cs
diff --git a/src/Kestrel.Core/Internal/Http2/Http2FrameWriter.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/Http2FrameWriter.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/Http2FrameWriter.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/Http2FrameWriter.cs
diff --git a/src/Kestrel.Core/Internal/Http2/Http2HeadersFrameFlags.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/Http2HeadersFrameFlags.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/Http2HeadersFrameFlags.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/Http2HeadersFrameFlags.cs
diff --git a/src/Kestrel.Core/Internal/Http2/Http2MessageBody.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/Http2MessageBody.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/Http2MessageBody.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/Http2MessageBody.cs
diff --git a/src/Kestrel.Core/Internal/Http2/Http2OutputProducer.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/Http2OutputProducer.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/Http2OutputProducer.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/Http2OutputProducer.cs
diff --git a/src/Kestrel.Core/Internal/Http2/Http2PeerSetting.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/Http2PeerSetting.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/Http2PeerSetting.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/Http2PeerSetting.cs
diff --git a/src/Kestrel.Core/Internal/Http2/Http2PeerSettings.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/Http2PeerSettings.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/Http2PeerSettings.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/Http2PeerSettings.cs
diff --git a/src/Kestrel.Core/Internal/Http2/Http2PingFrameFlags.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/Http2PingFrameFlags.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/Http2PingFrameFlags.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/Http2PingFrameFlags.cs
diff --git a/src/Kestrel.Core/Internal/Http2/Http2SettingsFrameFlags.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/Http2SettingsFrameFlags.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/Http2SettingsFrameFlags.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/Http2SettingsFrameFlags.cs
diff --git a/src/Kestrel.Core/Internal/Http2/Http2SettingsParameter.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/Http2SettingsParameter.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/Http2SettingsParameter.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/Http2SettingsParameter.cs
diff --git a/src/Kestrel.Core/Internal/Http2/Http2SettingsParameterOutOfRangeException.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/Http2SettingsParameterOutOfRangeException.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/Http2SettingsParameterOutOfRangeException.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/Http2SettingsParameterOutOfRangeException.cs
diff --git a/src/Kestrel.Core/Internal/Http2/Http2Stream.FeatureCollection.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/Http2Stream.FeatureCollection.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/Http2Stream.FeatureCollection.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/Http2Stream.FeatureCollection.cs
diff --git a/src/Kestrel.Core/Internal/Http2/Http2Stream.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/Http2Stream.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/Http2Stream.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/Http2Stream.cs
diff --git a/src/Kestrel.Core/Internal/Http2/Http2StreamContext.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/Http2StreamContext.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/Http2StreamContext.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/Http2StreamContext.cs
diff --git a/src/Kestrel.Core/Internal/Http2/Http2StreamErrorException.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/Http2StreamErrorException.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/Http2StreamErrorException.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/Http2StreamErrorException.cs
diff --git a/src/Kestrel.Core/Internal/Http2/IHttp2FrameWriter.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/IHttp2FrameWriter.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/IHttp2FrameWriter.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/IHttp2FrameWriter.cs
diff --git a/src/Kestrel.Core/Internal/Http2/IHttp2StreamLifetimeHandler.cs b/src/Servers/Kestrel/Core/src/Internal/Http2/IHttp2StreamLifetimeHandler.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Http2/IHttp2StreamLifetimeHandler.cs
rename to src/Servers/Kestrel/Core/src/Internal/Http2/IHttp2StreamLifetimeHandler.cs
diff --git a/src/Kestrel.Core/Internal/HttpConnection.cs b/src/Servers/Kestrel/Core/src/Internal/HttpConnection.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/HttpConnection.cs
rename to src/Servers/Kestrel/Core/src/Internal/HttpConnection.cs
diff --git a/src/Kestrel.Core/Internal/HttpConnectionBuilderExtensions.cs b/src/Servers/Kestrel/Core/src/Internal/HttpConnectionBuilderExtensions.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/HttpConnectionBuilderExtensions.cs
rename to src/Servers/Kestrel/Core/src/Internal/HttpConnectionBuilderExtensions.cs
diff --git a/src/Kestrel.Core/Internal/HttpConnectionContext.cs b/src/Servers/Kestrel/Core/src/Internal/HttpConnectionContext.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/HttpConnectionContext.cs
rename to src/Servers/Kestrel/Core/src/Internal/HttpConnectionContext.cs
diff --git a/src/Kestrel.Core/Internal/HttpConnectionMiddleware.cs b/src/Servers/Kestrel/Core/src/Internal/HttpConnectionMiddleware.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/HttpConnectionMiddleware.cs
rename to src/Servers/Kestrel/Core/src/Internal/HttpConnectionMiddleware.cs
diff --git a/src/Kestrel.Core/Internal/HttpsConnectionAdapter.cs b/src/Servers/Kestrel/Core/src/Internal/HttpsConnectionAdapter.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/HttpsConnectionAdapter.cs
rename to src/Servers/Kestrel/Core/src/Internal/HttpsConnectionAdapter.cs
diff --git a/src/Kestrel.Core/Internal/IRequestProcessor.cs b/src/Servers/Kestrel/Core/src/Internal/IRequestProcessor.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/IRequestProcessor.cs
rename to src/Servers/Kestrel/Core/src/Internal/IRequestProcessor.cs
diff --git a/src/Kestrel.Core/Internal/Infrastructure/CancellationTokenExtensions.cs b/src/Servers/Kestrel/Core/src/Internal/Infrastructure/CancellationTokenExtensions.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Infrastructure/CancellationTokenExtensions.cs
rename to src/Servers/Kestrel/Core/src/Internal/Infrastructure/CancellationTokenExtensions.cs
diff --git a/src/Kestrel.Core/Internal/Infrastructure/Constants.cs b/src/Servers/Kestrel/Core/src/Internal/Infrastructure/Constants.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Infrastructure/Constants.cs
rename to src/Servers/Kestrel/Core/src/Internal/Infrastructure/Constants.cs
diff --git a/src/Kestrel.Core/Internal/Infrastructure/CorrelationIdGenerator.cs b/src/Servers/Kestrel/Core/src/Internal/Infrastructure/CorrelationIdGenerator.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Infrastructure/CorrelationIdGenerator.cs
rename to src/Servers/Kestrel/Core/src/Internal/Infrastructure/CorrelationIdGenerator.cs
diff --git a/src/Kestrel.Core/Internal/Infrastructure/DebuggerWrapper.cs b/src/Servers/Kestrel/Core/src/Internal/Infrastructure/DebuggerWrapper.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Infrastructure/DebuggerWrapper.cs
rename to src/Servers/Kestrel/Core/src/Internal/Infrastructure/DebuggerWrapper.cs
diff --git a/src/Kestrel.Core/Internal/Infrastructure/Disposable.cs b/src/Servers/Kestrel/Core/src/Internal/Infrastructure/Disposable.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Infrastructure/Disposable.cs
rename to src/Servers/Kestrel/Core/src/Internal/Infrastructure/Disposable.cs
diff --git a/src/Kestrel.Core/Internal/Infrastructure/DisposableAction.cs b/src/Servers/Kestrel/Core/src/Internal/Infrastructure/DisposableAction.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Infrastructure/DisposableAction.cs
rename to src/Servers/Kestrel/Core/src/Internal/Infrastructure/DisposableAction.cs
diff --git a/src/Kestrel.Core/Internal/Infrastructure/Heartbeat.cs b/src/Servers/Kestrel/Core/src/Internal/Infrastructure/Heartbeat.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Infrastructure/Heartbeat.cs
rename to src/Servers/Kestrel/Core/src/Internal/Infrastructure/Heartbeat.cs
diff --git a/src/Kestrel.Core/Internal/Infrastructure/HttpConnectionManager.cs b/src/Servers/Kestrel/Core/src/Internal/Infrastructure/HttpConnectionManager.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Infrastructure/HttpConnectionManager.cs
rename to src/Servers/Kestrel/Core/src/Internal/Infrastructure/HttpConnectionManager.cs
diff --git a/src/Kestrel.Core/Internal/Infrastructure/HttpConnectionManagerShutdownExtensions.cs b/src/Servers/Kestrel/Core/src/Internal/Infrastructure/HttpConnectionManagerShutdownExtensions.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Infrastructure/HttpConnectionManagerShutdownExtensions.cs
rename to src/Servers/Kestrel/Core/src/Internal/Infrastructure/HttpConnectionManagerShutdownExtensions.cs
diff --git a/src/Kestrel.Core/Internal/Infrastructure/HttpConnectionReference.cs b/src/Servers/Kestrel/Core/src/Internal/Infrastructure/HttpConnectionReference.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Infrastructure/HttpConnectionReference.cs
rename to src/Servers/Kestrel/Core/src/Internal/Infrastructure/HttpConnectionReference.cs
diff --git a/src/Kestrel.Core/Internal/Infrastructure/HttpHeartbeatManager.cs b/src/Servers/Kestrel/Core/src/Internal/Infrastructure/HttpHeartbeatManager.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Infrastructure/HttpHeartbeatManager.cs
rename to src/Servers/Kestrel/Core/src/Internal/Infrastructure/HttpHeartbeatManager.cs
diff --git a/src/Kestrel.Core/Internal/Infrastructure/HttpUtilities.Generated.cs b/src/Servers/Kestrel/Core/src/Internal/Infrastructure/HttpUtilities.Generated.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Infrastructure/HttpUtilities.Generated.cs
rename to src/Servers/Kestrel/Core/src/Internal/Infrastructure/HttpUtilities.Generated.cs
diff --git a/src/Kestrel.Core/Internal/Infrastructure/HttpUtilities.cs b/src/Servers/Kestrel/Core/src/Internal/Infrastructure/HttpUtilities.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Infrastructure/HttpUtilities.cs
rename to src/Servers/Kestrel/Core/src/Internal/Infrastructure/HttpUtilities.cs
diff --git a/src/Kestrel.Core/Internal/Infrastructure/IDebugger.cs b/src/Servers/Kestrel/Core/src/Internal/Infrastructure/IDebugger.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Infrastructure/IDebugger.cs
rename to src/Servers/Kestrel/Core/src/Internal/Infrastructure/IDebugger.cs
diff --git a/src/Kestrel.Core/Internal/Infrastructure/IHeartbeatHandler.cs b/src/Servers/Kestrel/Core/src/Internal/Infrastructure/IHeartbeatHandler.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Infrastructure/IHeartbeatHandler.cs
rename to src/Servers/Kestrel/Core/src/Internal/Infrastructure/IHeartbeatHandler.cs
diff --git a/src/Kestrel.Core/Internal/Infrastructure/IKestrelTrace.cs b/src/Servers/Kestrel/Core/src/Internal/Infrastructure/IKestrelTrace.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Infrastructure/IKestrelTrace.cs
rename to src/Servers/Kestrel/Core/src/Internal/Infrastructure/IKestrelTrace.cs
diff --git a/src/Kestrel.Core/Internal/Infrastructure/ISystemClock.cs b/src/Servers/Kestrel/Core/src/Internal/Infrastructure/ISystemClock.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Infrastructure/ISystemClock.cs
rename to src/Servers/Kestrel/Core/src/Internal/Infrastructure/ISystemClock.cs
diff --git a/src/Kestrel.Core/Internal/Infrastructure/ITimeoutControl.cs b/src/Servers/Kestrel/Core/src/Internal/Infrastructure/ITimeoutControl.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Infrastructure/ITimeoutControl.cs
rename to src/Servers/Kestrel/Core/src/Internal/Infrastructure/ITimeoutControl.cs
diff --git a/src/Kestrel.Core/Internal/Infrastructure/KestrelEventSource.cs b/src/Servers/Kestrel/Core/src/Internal/Infrastructure/KestrelEventSource.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Infrastructure/KestrelEventSource.cs
rename to src/Servers/Kestrel/Core/src/Internal/Infrastructure/KestrelEventSource.cs
diff --git a/src/Kestrel.Core/Internal/Infrastructure/KestrelTrace.cs b/src/Servers/Kestrel/Core/src/Internal/Infrastructure/KestrelTrace.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Infrastructure/KestrelTrace.cs
rename to src/Servers/Kestrel/Core/src/Internal/Infrastructure/KestrelTrace.cs
diff --git a/src/Kestrel.Core/Internal/Infrastructure/ReadOnlyStream.cs b/src/Servers/Kestrel/Core/src/Internal/Infrastructure/ReadOnlyStream.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Infrastructure/ReadOnlyStream.cs
rename to src/Servers/Kestrel/Core/src/Internal/Infrastructure/ReadOnlyStream.cs
diff --git a/src/Kestrel.Core/Internal/Infrastructure/ResourceCounter.cs b/src/Servers/Kestrel/Core/src/Internal/Infrastructure/ResourceCounter.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Infrastructure/ResourceCounter.cs
rename to src/Servers/Kestrel/Core/src/Internal/Infrastructure/ResourceCounter.cs
diff --git a/src/Kestrel.Core/Internal/Infrastructure/StackTraceHiddenAttribute.cs b/src/Servers/Kestrel/Core/src/Internal/Infrastructure/StackTraceHiddenAttribute.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Infrastructure/StackTraceHiddenAttribute.cs
rename to src/Servers/Kestrel/Core/src/Internal/Infrastructure/StackTraceHiddenAttribute.cs
diff --git a/src/Kestrel.Core/Internal/Infrastructure/Streams.cs b/src/Servers/Kestrel/Core/src/Internal/Infrastructure/Streams.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Infrastructure/Streams.cs
rename to src/Servers/Kestrel/Core/src/Internal/Infrastructure/Streams.cs
diff --git a/src/Kestrel.Core/Internal/Infrastructure/StringUtilities.cs b/src/Servers/Kestrel/Core/src/Internal/Infrastructure/StringUtilities.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Infrastructure/StringUtilities.cs
rename to src/Servers/Kestrel/Core/src/Internal/Infrastructure/StringUtilities.cs
diff --git a/src/Kestrel.Core/Internal/Infrastructure/SystemClock.cs b/src/Servers/Kestrel/Core/src/Internal/Infrastructure/SystemClock.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Infrastructure/SystemClock.cs
rename to src/Servers/Kestrel/Core/src/Internal/Infrastructure/SystemClock.cs
diff --git a/src/Kestrel.Core/Internal/Infrastructure/ThrowingWriteOnlyStream.cs b/src/Servers/Kestrel/Core/src/Internal/Infrastructure/ThrowingWriteOnlyStream.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Infrastructure/ThrowingWriteOnlyStream.cs
rename to src/Servers/Kestrel/Core/src/Internal/Infrastructure/ThrowingWriteOnlyStream.cs
diff --git a/src/Kestrel.Core/Internal/Infrastructure/TimeoutAction.cs b/src/Servers/Kestrel/Core/src/Internal/Infrastructure/TimeoutAction.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Infrastructure/TimeoutAction.cs
rename to src/Servers/Kestrel/Core/src/Internal/Infrastructure/TimeoutAction.cs
diff --git a/src/Kestrel.Core/Internal/Infrastructure/UriUtilities.cs b/src/Servers/Kestrel/Core/src/Internal/Infrastructure/UriUtilities.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Infrastructure/UriUtilities.cs
rename to src/Servers/Kestrel/Core/src/Internal/Infrastructure/UriUtilities.cs
diff --git a/src/Kestrel.Core/Internal/Infrastructure/WrappingStream.cs b/src/Servers/Kestrel/Core/src/Internal/Infrastructure/WrappingStream.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Infrastructure/WrappingStream.cs
rename to src/Servers/Kestrel/Core/src/Internal/Infrastructure/WrappingStream.cs
diff --git a/src/Kestrel.Core/Internal/Infrastructure/WriteOnlyStream.cs b/src/Servers/Kestrel/Core/src/Internal/Infrastructure/WriteOnlyStream.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/Infrastructure/WriteOnlyStream.cs
rename to src/Servers/Kestrel/Core/src/Internal/Infrastructure/WriteOnlyStream.cs
diff --git a/src/Kestrel.Core/Internal/KestrelServerOptionsSetup.cs b/src/Servers/Kestrel/Core/src/Internal/KestrelServerOptionsSetup.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/KestrelServerOptionsSetup.cs
rename to src/Servers/Kestrel/Core/src/Internal/KestrelServerOptionsSetup.cs
diff --git a/src/Kestrel.Core/Internal/LoggerExtensions.cs b/src/Servers/Kestrel/Core/src/Internal/LoggerExtensions.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/LoggerExtensions.cs
rename to src/Servers/Kestrel/Core/src/Internal/LoggerExtensions.cs
diff --git a/src/Kestrel.Core/Internal/ServerAddressesFeature.cs b/src/Servers/Kestrel/Core/src/Internal/ServerAddressesFeature.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/ServerAddressesFeature.cs
rename to src/Servers/Kestrel/Core/src/Internal/ServerAddressesFeature.cs
diff --git a/src/Kestrel.Core/Internal/ServiceContext.cs b/src/Servers/Kestrel/Core/src/Internal/ServiceContext.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/ServiceContext.cs
rename to src/Servers/Kestrel/Core/src/Internal/ServiceContext.cs
diff --git a/src/Kestrel.Core/Internal/TlsConnectionFeature.cs b/src/Servers/Kestrel/Core/src/Internal/TlsConnectionFeature.cs
similarity index 100%
rename from src/Kestrel.Core/Internal/TlsConnectionFeature.cs
rename to src/Servers/Kestrel/Core/src/Internal/TlsConnectionFeature.cs
diff --git a/src/Kestrel.Core/KestrelConfigurationLoader.cs b/src/Servers/Kestrel/Core/src/KestrelConfigurationLoader.cs
similarity index 100%
rename from src/Kestrel.Core/KestrelConfigurationLoader.cs
rename to src/Servers/Kestrel/Core/src/KestrelConfigurationLoader.cs
diff --git a/src/Kestrel.Core/KestrelServer.cs b/src/Servers/Kestrel/Core/src/KestrelServer.cs
similarity index 100%
rename from src/Kestrel.Core/KestrelServer.cs
rename to src/Servers/Kestrel/Core/src/KestrelServer.cs
diff --git a/src/Kestrel.Core/KestrelServerLimits.cs b/src/Servers/Kestrel/Core/src/KestrelServerLimits.cs
similarity index 100%
rename from src/Kestrel.Core/KestrelServerLimits.cs
rename to src/Servers/Kestrel/Core/src/KestrelServerLimits.cs
diff --git a/src/Kestrel.Core/KestrelServerOptions.cs b/src/Servers/Kestrel/Core/src/KestrelServerOptions.cs
similarity index 100%
rename from src/Kestrel.Core/KestrelServerOptions.cs
rename to src/Servers/Kestrel/Core/src/KestrelServerOptions.cs
diff --git a/src/Kestrel.Core/ListenOptions.cs b/src/Servers/Kestrel/Core/src/ListenOptions.cs
similarity index 100%
rename from src/Kestrel.Core/ListenOptions.cs
rename to src/Servers/Kestrel/Core/src/ListenOptions.cs
diff --git a/src/Kestrel.Core/ListenOptionsHttpsExtensions.cs b/src/Servers/Kestrel/Core/src/ListenOptionsHttpsExtensions.cs
similarity index 100%
rename from src/Kestrel.Core/ListenOptionsHttpsExtensions.cs
rename to src/Servers/Kestrel/Core/src/ListenOptionsHttpsExtensions.cs
diff --git a/src/Kestrel.Core/LocalhostListenOptions.cs b/src/Servers/Kestrel/Core/src/LocalhostListenOptions.cs
similarity index 100%
rename from src/Kestrel.Core/LocalhostListenOptions.cs
rename to src/Servers/Kestrel/Core/src/LocalhostListenOptions.cs
diff --git a/src/Servers/Kestrel/Core/src/Microsoft.AspNetCore.Server.Kestrel.Core.csproj b/src/Servers/Kestrel/Core/src/Microsoft.AspNetCore.Server.Kestrel.Core.csproj
new file mode 100644
index 00000000000..dae8056002d
--- /dev/null
+++ b/src/Servers/Kestrel/Core/src/Microsoft.AspNetCore.Server.Kestrel.Core.csproj
@@ -0,0 +1,38 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <Description>Core components of ASP.NET Core Kestrel cross-platform web server.</Description>
+    <TargetFrameworks>netstandard2.0;netcoreapp2.1</TargetFrameworks>
+    <GenerateDocumentationFile>true</GenerateDocumentationFile>
+    <PackageTags>aspnetcore;kestrel</PackageTags>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+    <NoWarn>CS1591;$(NoWarn)</NoWarn>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Compile Include="$(KestrelSharedSourceRoot)src\ThrowHelper.cs" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.AspNetCore.Certificates.Generation.Sources" PrivateAssets="All" />
+    <Reference Include="Microsoft.AspNetCore.Hosting.Abstractions" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions" />
+    <Reference Include="Microsoft.AspNetCore.WebUtilities" />
+    <Reference Include="Microsoft.Extensions.Configuration.Binder" />
+    <Reference Include="Microsoft.Extensions.Logging.Abstractions" />
+    <Reference Include="Microsoft.Extensions.Options" />
+    <Reference Include="Microsoft.Net.Http.Headers" />
+    <Reference Include="System.Memory" />
+    <Reference Include="System.Numerics.Vectors" />
+    <Reference Include="System.Runtime.CompilerServices.Unsafe" />
+    <Reference Include="System.Security.Cryptography.Cng" />
+    <Reference Include="System.Threading.Tasks.Extensions" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <EmbeddedResource Update="CoreStrings.resx">
+      <Generator></Generator>
+    </EmbeddedResource>
+  </ItemGroup>
+
+</Project>
diff --git a/src/Kestrel.Core/MinDataRate.cs b/src/Servers/Kestrel/Core/src/MinDataRate.cs
similarity index 100%
rename from src/Kestrel.Core/MinDataRate.cs
rename to src/Servers/Kestrel/Core/src/MinDataRate.cs
diff --git a/src/Kestrel.Core/Properties/AssemblyInfo.cs b/src/Servers/Kestrel/Core/src/Properties/AssemblyInfo.cs
similarity index 87%
rename from src/Kestrel.Core/Properties/AssemblyInfo.cs
rename to src/Servers/Kestrel/Core/src/Properties/AssemblyInfo.cs
index 6898d541a69..1806c94cf25 100644
--- a/src/Kestrel.Core/Properties/AssemblyInfo.cs
+++ b/src/Servers/Kestrel/Core/src/Properties/AssemblyInfo.cs
@@ -7,7 +7,7 @@ using System.Runtime.CompilerServices;
 [assembly: InternalsVisibleTo("Libuv.FunctionalTests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
 [assembly: InternalsVisibleTo("Sockets.FunctionalTests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
 [assembly: InternalsVisibleTo("Microsoft.AspNetCore.Server.Kestrel.Core.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
-[assembly: InternalsVisibleTo("Kestrel.Performance, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
+[assembly: InternalsVisibleTo("Microsoft.AspNetCore.Server.Kestrel.Performance, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
 [assembly: InternalsVisibleTo("Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
 [assembly: InternalsVisibleTo("Http2SampleApp, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
 [assembly: InternalsVisibleTo("PlatformBenchmarks, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
diff --git a/src/Kestrel.Core/Properties/CoreStrings.Designer.cs b/src/Servers/Kestrel/Core/src/Properties/CoreStrings.Designer.cs
similarity index 100%
rename from src/Kestrel.Core/Properties/CoreStrings.Designer.cs
rename to src/Servers/Kestrel/Core/src/Properties/CoreStrings.Designer.cs
diff --git a/src/Kestrel.Core/ServerAddress.cs b/src/Servers/Kestrel/Core/src/ServerAddress.cs
similarity index 100%
rename from src/Kestrel.Core/ServerAddress.cs
rename to src/Servers/Kestrel/Core/src/ServerAddress.cs
diff --git a/src/Kestrel.Core/Systemd/KestrelServerOptionsSystemdExtensions.cs b/src/Servers/Kestrel/Core/src/Systemd/KestrelServerOptionsSystemdExtensions.cs
similarity index 100%
rename from src/Kestrel.Core/Systemd/KestrelServerOptionsSystemdExtensions.cs
rename to src/Servers/Kestrel/Core/src/Systemd/KestrelServerOptionsSystemdExtensions.cs
diff --git a/src/Kestrel.Core/baseline.netcore.json b/src/Servers/Kestrel/Core/src/baseline.netcore.json
similarity index 100%
rename from src/Kestrel.Core/baseline.netcore.json
rename to src/Servers/Kestrel/Core/src/baseline.netcore.json
diff --git a/test/Kestrel.Core.Tests/AddressBinderTests.cs b/src/Servers/Kestrel/Core/test/AddressBinderTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/AddressBinderTests.cs
rename to src/Servers/Kestrel/Core/test/AddressBinderTests.cs
diff --git a/test/Kestrel.Core.Tests/AsciiDecoding.cs b/src/Servers/Kestrel/Core/test/AsciiDecoding.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/AsciiDecoding.cs
rename to src/Servers/Kestrel/Core/test/AsciiDecoding.cs
diff --git a/test/Kestrel.Core.Tests/BufferReaderTests.cs b/src/Servers/Kestrel/Core/test/BufferReaderTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/BufferReaderTests.cs
rename to src/Servers/Kestrel/Core/test/BufferReaderTests.cs
diff --git a/test/Kestrel.Core.Tests/BufferWriterTests.cs b/src/Servers/Kestrel/Core/test/BufferWriterTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/BufferWriterTests.cs
rename to src/Servers/Kestrel/Core/test/BufferWriterTests.cs
diff --git a/test/Kestrel.Core.Tests/ChunkWriterTests.cs b/src/Servers/Kestrel/Core/test/ChunkWriterTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/ChunkWriterTests.cs
rename to src/Servers/Kestrel/Core/test/ChunkWriterTests.cs
diff --git a/test/Kestrel.Core.Tests/ConnectionDispatcherTests.cs b/src/Servers/Kestrel/Core/test/ConnectionDispatcherTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/ConnectionDispatcherTests.cs
rename to src/Servers/Kestrel/Core/test/ConnectionDispatcherTests.cs
diff --git a/test/Kestrel.Core.Tests/DateHeaderValueManagerTests.cs b/src/Servers/Kestrel/Core/test/DateHeaderValueManagerTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/DateHeaderValueManagerTests.cs
rename to src/Servers/Kestrel/Core/test/DateHeaderValueManagerTests.cs
diff --git a/test/Kestrel.Core.Tests/DynamicTableTests.cs b/src/Servers/Kestrel/Core/test/DynamicTableTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/DynamicTableTests.cs
rename to src/Servers/Kestrel/Core/test/DynamicTableTests.cs
diff --git a/test/Kestrel.Core.Tests/HPackDecoderTests.cs b/src/Servers/Kestrel/Core/test/HPackDecoderTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/HPackDecoderTests.cs
rename to src/Servers/Kestrel/Core/test/HPackDecoderTests.cs
diff --git a/test/Kestrel.Core.Tests/HPackEncoderTests.cs b/src/Servers/Kestrel/Core/test/HPackEncoderTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/HPackEncoderTests.cs
rename to src/Servers/Kestrel/Core/test/HPackEncoderTests.cs
diff --git a/test/Kestrel.Core.Tests/HeartbeatTests.cs b/src/Servers/Kestrel/Core/test/HeartbeatTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/HeartbeatTests.cs
rename to src/Servers/Kestrel/Core/test/HeartbeatTests.cs
diff --git a/test/Kestrel.Core.Tests/Http1ConnectionTests.cs b/src/Servers/Kestrel/Core/test/Http1ConnectionTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/Http1ConnectionTests.cs
rename to src/Servers/Kestrel/Core/test/Http1ConnectionTests.cs
diff --git a/test/Kestrel.Core.Tests/Http2ConnectionTests.cs b/src/Servers/Kestrel/Core/test/Http2ConnectionTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/Http2ConnectionTests.cs
rename to src/Servers/Kestrel/Core/test/Http2ConnectionTests.cs
diff --git a/test/Kestrel.Core.Tests/HttpConnectionManagerTests.cs b/src/Servers/Kestrel/Core/test/HttpConnectionManagerTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/HttpConnectionManagerTests.cs
rename to src/Servers/Kestrel/Core/test/HttpConnectionManagerTests.cs
diff --git a/test/Kestrel.Core.Tests/HttpConnectionTests.cs b/src/Servers/Kestrel/Core/test/HttpConnectionTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/HttpConnectionTests.cs
rename to src/Servers/Kestrel/Core/test/HttpConnectionTests.cs
diff --git a/test/Kestrel.Core.Tests/HttpHeadersTests.cs b/src/Servers/Kestrel/Core/test/HttpHeadersTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/HttpHeadersTests.cs
rename to src/Servers/Kestrel/Core/test/HttpHeadersTests.cs
diff --git a/test/Kestrel.Core.Tests/HttpParserTests.cs b/src/Servers/Kestrel/Core/test/HttpParserTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/HttpParserTests.cs
rename to src/Servers/Kestrel/Core/test/HttpParserTests.cs
diff --git a/test/Kestrel.Core.Tests/HttpProtocolFeatureCollectionTests.cs b/src/Servers/Kestrel/Core/test/HttpProtocolFeatureCollectionTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/HttpProtocolFeatureCollectionTests.cs
rename to src/Servers/Kestrel/Core/test/HttpProtocolFeatureCollectionTests.cs
diff --git a/test/Kestrel.Core.Tests/HttpRequestHeadersTests.cs b/src/Servers/Kestrel/Core/test/HttpRequestHeadersTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/HttpRequestHeadersTests.cs
rename to src/Servers/Kestrel/Core/test/HttpRequestHeadersTests.cs
diff --git a/test/Kestrel.Core.Tests/HttpRequestStreamTests.cs b/src/Servers/Kestrel/Core/test/HttpRequestStreamTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/HttpRequestStreamTests.cs
rename to src/Servers/Kestrel/Core/test/HttpRequestStreamTests.cs
diff --git a/test/Kestrel.Core.Tests/HttpResponseHeadersTests.cs b/src/Servers/Kestrel/Core/test/HttpResponseHeadersTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/HttpResponseHeadersTests.cs
rename to src/Servers/Kestrel/Core/test/HttpResponseHeadersTests.cs
diff --git a/test/Kestrel.Core.Tests/HttpResponseStreamTests.cs b/src/Servers/Kestrel/Core/test/HttpResponseStreamTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/HttpResponseStreamTests.cs
rename to src/Servers/Kestrel/Core/test/HttpResponseStreamTests.cs
diff --git a/test/Kestrel.Core.Tests/HttpUtilitiesTest.cs b/src/Servers/Kestrel/Core/test/HttpUtilitiesTest.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/HttpUtilitiesTest.cs
rename to src/Servers/Kestrel/Core/test/HttpUtilitiesTest.cs
diff --git a/test/Kestrel.Core.Tests/HuffmanTests.cs b/src/Servers/Kestrel/Core/test/HuffmanTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/HuffmanTests.cs
rename to src/Servers/Kestrel/Core/test/HuffmanTests.cs
diff --git a/test/Kestrel.Core.Tests/IntegerDecoderTests.cs b/src/Servers/Kestrel/Core/test/IntegerDecoderTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/IntegerDecoderTests.cs
rename to src/Servers/Kestrel/Core/test/IntegerDecoderTests.cs
diff --git a/test/Kestrel.Core.Tests/IntegerEncoderTests.cs b/src/Servers/Kestrel/Core/test/IntegerEncoderTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/IntegerEncoderTests.cs
rename to src/Servers/Kestrel/Core/test/IntegerEncoderTests.cs
diff --git a/test/Kestrel.Core.Tests/KestrelEventSourceTests.cs b/src/Servers/Kestrel/Core/test/KestrelEventSourceTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/KestrelEventSourceTests.cs
rename to src/Servers/Kestrel/Core/test/KestrelEventSourceTests.cs
diff --git a/test/Kestrel.Core.Tests/KestrelServerLimitsTests.cs b/src/Servers/Kestrel/Core/test/KestrelServerLimitsTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/KestrelServerLimitsTests.cs
rename to src/Servers/Kestrel/Core/test/KestrelServerLimitsTests.cs
diff --git a/test/Kestrel.Core.Tests/KestrelServerOptionsTests.cs b/src/Servers/Kestrel/Core/test/KestrelServerOptionsTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/KestrelServerOptionsTests.cs
rename to src/Servers/Kestrel/Core/test/KestrelServerOptionsTests.cs
diff --git a/test/Kestrel.Core.Tests/KestrelServerTests.cs b/src/Servers/Kestrel/Core/test/KestrelServerTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/KestrelServerTests.cs
rename to src/Servers/Kestrel/Core/test/KestrelServerTests.cs
diff --git a/test/Kestrel.Core.Tests/KnownStringsTests.cs b/src/Servers/Kestrel/Core/test/KnownStringsTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/KnownStringsTests.cs
rename to src/Servers/Kestrel/Core/test/KnownStringsTests.cs
diff --git a/test/Kestrel.Core.Tests/ListenOptionsTests.cs b/src/Servers/Kestrel/Core/test/ListenOptionsTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/ListenOptionsTests.cs
rename to src/Servers/Kestrel/Core/test/ListenOptionsTests.cs
diff --git a/test/Kestrel.Core.Tests/MessageBodyTests.cs b/src/Servers/Kestrel/Core/test/MessageBodyTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/MessageBodyTests.cs
rename to src/Servers/Kestrel/Core/test/MessageBodyTests.cs
diff --git a/src/Servers/Kestrel/Core/test/Microsoft.AspNetCore.Server.Kestrel.Core.Tests.csproj b/src/Servers/Kestrel/Core/test/Microsoft.AspNetCore.Server.Kestrel.Core.Tests.csproj
new file mode 100644
index 00000000000..e11845c9019
--- /dev/null
+++ b/src/Servers/Kestrel/Core/test/Microsoft.AspNetCore.Server.Kestrel.Core.Tests.csproj
@@ -0,0 +1,23 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFrameworks>netcoreapp2.1;net461</TargetFrameworks>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Compile Include="$(KestrelSharedSourceRoot)test\**\*.cs" />
+    <Compile Include="$(RepositoryRoot)\src\Shared\Buffers.Testing\*.cs" />
+    <Content Include="$(KestrelSharedSourceRoot)test\TestCertificates\*.pfx" CopyToOutputDirectory="PreserveNewest" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.AspNetCore.Http" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel.Core" />
+    <Reference Include="Microsoft.Extensions.DependencyInjection" />
+    <Reference Include="Microsoft.Extensions.Logging" />
+    <Reference Include="System.Memory" />
+    <Reference Include="System.Runtime.CompilerServices.Unsafe" />
+  </ItemGroup>
+
+</Project>
diff --git a/test/Kestrel.Core.Tests/MinDataRateTests.cs b/src/Servers/Kestrel/Core/test/MinDataRateTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/MinDataRateTests.cs
rename to src/Servers/Kestrel/Core/test/MinDataRateTests.cs
diff --git a/test/Kestrel.Core.Tests/OutputProducerTests.cs b/src/Servers/Kestrel/Core/test/OutputProducerTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/OutputProducerTests.cs
rename to src/Servers/Kestrel/Core/test/OutputProducerTests.cs
diff --git a/test/Kestrel.Core.Tests/PathNormalizerTests.cs b/src/Servers/Kestrel/Core/test/PathNormalizerTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/PathNormalizerTests.cs
rename to src/Servers/Kestrel/Core/test/PathNormalizerTests.cs
diff --git a/test/Kestrel.Core.Tests/PipeOptionsTests.cs b/src/Servers/Kestrel/Core/test/PipeOptionsTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/PipeOptionsTests.cs
rename to src/Servers/Kestrel/Core/test/PipeOptionsTests.cs
diff --git a/test/Kestrel.Core.Tests/PipelineExtensionTests.cs b/src/Servers/Kestrel/Core/test/PipelineExtensionTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/PipelineExtensionTests.cs
rename to src/Servers/Kestrel/Core/test/PipelineExtensionTests.cs
diff --git a/test/Kestrel.Core.Tests/ReasonPhrasesTests.cs b/src/Servers/Kestrel/Core/test/ReasonPhrasesTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/ReasonPhrasesTests.cs
rename to src/Servers/Kestrel/Core/test/ReasonPhrasesTests.cs
diff --git a/test/Kestrel.Core.Tests/ResourceCounterTests.cs b/src/Servers/Kestrel/Core/test/ResourceCounterTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/ResourceCounterTests.cs
rename to src/Servers/Kestrel/Core/test/ResourceCounterTests.cs
diff --git a/test/Kestrel.Core.Tests/ServerAddressTests.cs b/src/Servers/Kestrel/Core/test/ServerAddressTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/ServerAddressTests.cs
rename to src/Servers/Kestrel/Core/test/ServerAddressTests.cs
diff --git a/test/Kestrel.Core.Tests/StreamsTests.cs b/src/Servers/Kestrel/Core/test/StreamsTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/StreamsTests.cs
rename to src/Servers/Kestrel/Core/test/StreamsTests.cs
diff --git a/test/Kestrel.Core.Tests/StringUtilitiesTests.cs b/src/Servers/Kestrel/Core/test/StringUtilitiesTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/StringUtilitiesTests.cs
rename to src/Servers/Kestrel/Core/test/StringUtilitiesTests.cs
diff --git a/test/Kestrel.Core.Tests/TestHelpers/AssertExtensions.cs b/src/Servers/Kestrel/Core/test/TestHelpers/AssertExtensions.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/TestHelpers/AssertExtensions.cs
rename to src/Servers/Kestrel/Core/test/TestHelpers/AssertExtensions.cs
diff --git a/test/Kestrel.Core.Tests/TestHelpers/MockHttpResponseControl.cs b/src/Servers/Kestrel/Core/test/TestHelpers/MockHttpResponseControl.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/TestHelpers/MockHttpResponseControl.cs
rename to src/Servers/Kestrel/Core/test/TestHelpers/MockHttpResponseControl.cs
diff --git a/test/Kestrel.Core.Tests/TestInput.cs b/src/Servers/Kestrel/Core/test/TestInput.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/TestInput.cs
rename to src/Servers/Kestrel/Core/test/TestInput.cs
diff --git a/test/Kestrel.Core.Tests/ThrowingWriteOnlyStreamTests.cs b/src/Servers/Kestrel/Core/test/ThrowingWriteOnlyStreamTests.cs
similarity index 100%
rename from test/Kestrel.Core.Tests/ThrowingWriteOnlyStreamTests.cs
rename to src/Servers/Kestrel/Core/test/ThrowingWriteOnlyStreamTests.cs
diff --git a/src/Servers/Kestrel/Directory.Build.props b/src/Servers/Kestrel/Directory.Build.props
new file mode 100644
index 00000000000..ad68f6ce2ab
--- /dev/null
+++ b/src/Servers/Kestrel/Directory.Build.props
@@ -0,0 +1,25 @@
+<Project>
+  <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory)..\, Directory.Build.props))\Directory.Build.props" />
+
+  <PropertyGroup>
+    <DefineConstants Condition="'$(InnerLoop)' != ''">$(DefineConstants);INNER_LOOP</DefineConstants>
+  </PropertyGroup>
+
+  <PropertyGroup>
+    <!-- https://github.com/aspnet/KestrelHttpServer/issues/2350 -->
+    <EnableApiCheck>false</EnableApiCheck>
+    <KestrelSharedSourceRoot>$(MSBuildThisFileDirectory)shared\</KestrelSharedSourceRoot>
+  </PropertyGroup>
+
+  <PropertyGroup Condition=" '$(IsTestProject)' == 'true' ">
+    <!--
+      Workaround for "Use executable flags in Microsoft.NET.Test.Sdk" (https://github.com/Microsoft/vstest/issues/792).
+      Remove when fixed.
+    -->
+    <HasRuntimeOutput>true</HasRuntimeOutput>
+  </PropertyGroup>
+
+  <ItemGroup  Condition=" '$(IsTestProject)' == 'true' ">
+    <None Include="$(MSBuildThisFileDirectory)xunit.runner.json" Link="xunit.runner.json" CopyToOutputDirectory="PreserveNewest" />
+  </ItemGroup>
+</Project>
diff --git a/src/Kestrel.Https/Kestrel.Https.csproj b/src/Servers/Kestrel/Https/src/Microsoft.AspNetCore.Server.Kestrel.Https.csproj
similarity index 53%
rename from src/Kestrel.Https/Kestrel.Https.csproj
rename to src/Servers/Kestrel/Https/src/Microsoft.AspNetCore.Server.Kestrel.Https.csproj
index 8b3226529eb..9e6fde40bd4 100644
--- a/src/Kestrel.Https/Kestrel.Https.csproj
+++ b/src/Servers/Kestrel/Https/src/Microsoft.AspNetCore.Server.Kestrel.Https.csproj
@@ -1,8 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <AssemblyName>Microsoft.AspNetCore.Server.Kestrel.Https</AssemblyName>
-    <RootNamespace>Microsoft.AspNetCore.Server.Kestrel.Https</RootNamespace>
     <Description>HTTPS support for the ASP.NET Core Kestrel cross-platform web server.</Description>
     <TargetFrameworks>netstandard2.0;netcoreapp2.1</TargetFrameworks>
     <GenerateDocumentationFile>true</GenerateDocumentationFile>
@@ -11,11 +9,8 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <ProjectReference Include="..\Kestrel.Core\Kestrel.Core.csproj" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.Http.Abstractions" Version="$(MicrosoftAspNetCoreHttpAbstractionsPackageVersion)" />
+    <Reference Include="Microsoft.AspNetCore.Http.Abstractions" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel.Core" />
   </ItemGroup>
 
 </Project>
diff --git a/src/Kestrel.Https/Properties/AssemblyInfo.cs b/src/Servers/Kestrel/Https/src/Properties/AssemblyInfo.cs
similarity index 100%
rename from src/Kestrel.Https/Properties/AssemblyInfo.cs
rename to src/Servers/Kestrel/Https/src/Properties/AssemblyInfo.cs
diff --git a/src/Kestrel.Https/baseline.netcore.json b/src/Servers/Kestrel/Https/src/baseline.netcore.json
similarity index 100%
rename from src/Kestrel.Https/baseline.netcore.json
rename to src/Servers/Kestrel/Https/src/baseline.netcore.json
diff --git a/src/Servers/Kestrel/Kestrel/src/Microsoft.AspNetCore.Server.Kestrel.csproj b/src/Servers/Kestrel/Kestrel/src/Microsoft.AspNetCore.Server.Kestrel.csproj
new file mode 100644
index 00000000000..6b8de4426f3
--- /dev/null
+++ b/src/Servers/Kestrel/Kestrel/src/Microsoft.AspNetCore.Server.Kestrel.csproj
@@ -0,0 +1,18 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <Description>ASP.NET Core Kestrel cross-platform web server.</Description>
+    <TargetFramework>netstandard2.0</TargetFramework>
+    <GenerateDocumentationFile>true</GenerateDocumentationFile>
+    <PackageTags>aspnetcore;kestrel</PackageTags>
+    <NoWarn>CS1591;$(NoWarn)</NoWarn>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.AspNetCore.Hosting" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel.Core" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel.Https" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets" />
+  </ItemGroup>
+
+</Project>
diff --git a/src/Kestrel/WebHostBuilderKestrelExtensions.cs b/src/Servers/Kestrel/Kestrel/src/WebHostBuilderKestrelExtensions.cs
similarity index 100%
rename from src/Kestrel/WebHostBuilderKestrelExtensions.cs
rename to src/Servers/Kestrel/Kestrel/src/WebHostBuilderKestrelExtensions.cs
diff --git a/src/Kestrel/baseline.netcore.json b/src/Servers/Kestrel/Kestrel/src/baseline.netcore.json
similarity index 100%
rename from src/Kestrel/baseline.netcore.json
rename to src/Servers/Kestrel/Kestrel/src/baseline.netcore.json
diff --git a/test/Kestrel.Tests/ConfigurationReaderTests.cs b/src/Servers/Kestrel/Kestrel/test/ConfigurationReaderTests.cs
similarity index 100%
rename from test/Kestrel.Tests/ConfigurationReaderTests.cs
rename to src/Servers/Kestrel/Kestrel/test/ConfigurationReaderTests.cs
diff --git a/test/Kestrel.Tests/KestrelConfigurationBuilderTests.cs b/src/Servers/Kestrel/Kestrel/test/KestrelConfigurationBuilderTests.cs
similarity index 100%
rename from test/Kestrel.Tests/KestrelConfigurationBuilderTests.cs
rename to src/Servers/Kestrel/Kestrel/test/KestrelConfigurationBuilderTests.cs
diff --git a/src/Servers/Kestrel/Kestrel/test/Microsoft.AspNetCore.Server.Kestrel.Tests.csproj b/src/Servers/Kestrel/Kestrel/test/Microsoft.AspNetCore.Server.Kestrel.Tests.csproj
new file mode 100644
index 00000000000..9bb414d3215
--- /dev/null
+++ b/src/Servers/Kestrel/Kestrel/test/Microsoft.AspNetCore.Server.Kestrel.Tests.csproj
@@ -0,0 +1,17 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFrameworks>netcoreapp2.1;net461</TargetFrameworks>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Compile Include="$(KestrelSharedSourceRoot)test\**\*.cs" />
+    <Content Include="$(KestrelSharedSourceRoot)test\TestCertificates\*.pfx" CopyToOutputDirectory="PreserveNewest" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv" />
+  </ItemGroup>
+
+</Project>
diff --git a/test/Kestrel.Tests/WebHostBuilderKestrelExtensionsTests.cs b/src/Servers/Kestrel/Kestrel/test/WebHostBuilderKestrelExtensionsTests.cs
similarity index 100%
rename from test/Kestrel.Tests/WebHostBuilderKestrelExtensionsTests.cs
rename to src/Servers/Kestrel/Kestrel/test/WebHostBuilderKestrelExtensionsTests.cs
diff --git a/src/Servers/Kestrel/README.md b/src/Servers/Kestrel/README.md
new file mode 100644
index 00000000000..5aaf71c466d
--- /dev/null
+++ b/src/Servers/Kestrel/README.md
@@ -0,0 +1,8 @@
+KestrelHttpServer
+=================
+
+Kestrel is a cross-platform web server for ASP.NET Core.
+
+## File logging for functional test
+
+Turn on file logging for Kestrel functional tests by specifying the environment variable ASPNETCORE_TEST_LOG_DIR to the log output directory.
diff --git a/src/Kestrel.Transport.Abstractions/Internal/FileHandleType.cs b/src/Servers/Kestrel/Transport.Abstractions/src/Internal/FileHandleType.cs
similarity index 100%
rename from src/Kestrel.Transport.Abstractions/Internal/FileHandleType.cs
rename to src/Servers/Kestrel/Transport.Abstractions/src/Internal/FileHandleType.cs
diff --git a/src/Kestrel.Transport.Abstractions/Internal/IApplicationTransportFeature.cs b/src/Servers/Kestrel/Transport.Abstractions/src/Internal/IApplicationTransportFeature.cs
similarity index 100%
rename from src/Kestrel.Transport.Abstractions/Internal/IApplicationTransportFeature.cs
rename to src/Servers/Kestrel/Transport.Abstractions/src/Internal/IApplicationTransportFeature.cs
diff --git a/src/Kestrel.Transport.Abstractions/Internal/IBytesWrittenFeature.cs b/src/Servers/Kestrel/Transport.Abstractions/src/Internal/IBytesWrittenFeature.cs
similarity index 100%
rename from src/Kestrel.Transport.Abstractions/Internal/IBytesWrittenFeature.cs
rename to src/Servers/Kestrel/Transport.Abstractions/src/Internal/IBytesWrittenFeature.cs
diff --git a/src/Kestrel.Transport.Abstractions/Internal/IConnectionDispatcher.cs b/src/Servers/Kestrel/Transport.Abstractions/src/Internal/IConnectionDispatcher.cs
similarity index 100%
rename from src/Kestrel.Transport.Abstractions/Internal/IConnectionDispatcher.cs
rename to src/Servers/Kestrel/Transport.Abstractions/src/Internal/IConnectionDispatcher.cs
diff --git a/src/Kestrel.Transport.Abstractions/Internal/IEndPointInformation.cs b/src/Servers/Kestrel/Transport.Abstractions/src/Internal/IEndPointInformation.cs
similarity index 100%
rename from src/Kestrel.Transport.Abstractions/Internal/IEndPointInformation.cs
rename to src/Servers/Kestrel/Transport.Abstractions/src/Internal/IEndPointInformation.cs
diff --git a/src/Kestrel.Transport.Abstractions/Internal/ITransport.cs b/src/Servers/Kestrel/Transport.Abstractions/src/Internal/ITransport.cs
similarity index 100%
rename from src/Kestrel.Transport.Abstractions/Internal/ITransport.cs
rename to src/Servers/Kestrel/Transport.Abstractions/src/Internal/ITransport.cs
diff --git a/src/Kestrel.Transport.Abstractions/Internal/ITransportFactory.cs b/src/Servers/Kestrel/Transport.Abstractions/src/Internal/ITransportFactory.cs
similarity index 100%
rename from src/Kestrel.Transport.Abstractions/Internal/ITransportFactory.cs
rename to src/Servers/Kestrel/Transport.Abstractions/src/Internal/ITransportFactory.cs
diff --git a/src/Kestrel.Transport.Abstractions/Internal/ITransportSchedulerFeature.cs b/src/Servers/Kestrel/Transport.Abstractions/src/Internal/ITransportSchedulerFeature.cs
similarity index 100%
rename from src/Kestrel.Transport.Abstractions/Internal/ITransportSchedulerFeature.cs
rename to src/Servers/Kestrel/Transport.Abstractions/src/Internal/ITransportSchedulerFeature.cs
diff --git a/src/Kestrel.Transport.Abstractions/Internal/KestrelMemoryPool.cs b/src/Servers/Kestrel/Transport.Abstractions/src/Internal/KestrelMemoryPool.cs
similarity index 100%
rename from src/Kestrel.Transport.Abstractions/Internal/KestrelMemoryPool.cs
rename to src/Servers/Kestrel/Transport.Abstractions/src/Internal/KestrelMemoryPool.cs
diff --git a/src/Kestrel.Transport.Abstractions/Internal/ListenType.cs b/src/Servers/Kestrel/Transport.Abstractions/src/Internal/ListenType.cs
similarity index 100%
rename from src/Kestrel.Transport.Abstractions/Internal/ListenType.cs
rename to src/Servers/Kestrel/Transport.Abstractions/src/Internal/ListenType.cs
diff --git a/src/Kestrel.Transport.Abstractions/Internal/MemoryPoolBlock.Debug.cs b/src/Servers/Kestrel/Transport.Abstractions/src/Internal/MemoryPoolBlock.Debug.cs
similarity index 100%
rename from src/Kestrel.Transport.Abstractions/Internal/MemoryPoolBlock.Debug.cs
rename to src/Servers/Kestrel/Transport.Abstractions/src/Internal/MemoryPoolBlock.Debug.cs
diff --git a/src/Kestrel.Transport.Abstractions/Internal/MemoryPoolBlock.Release.cs b/src/Servers/Kestrel/Transport.Abstractions/src/Internal/MemoryPoolBlock.Release.cs
similarity index 100%
rename from src/Kestrel.Transport.Abstractions/Internal/MemoryPoolBlock.Release.cs
rename to src/Servers/Kestrel/Transport.Abstractions/src/Internal/MemoryPoolBlock.Release.cs
diff --git a/src/Kestrel.Transport.Abstractions/Internal/MemoryPoolSlab.cs b/src/Servers/Kestrel/Transport.Abstractions/src/Internal/MemoryPoolSlab.cs
similarity index 100%
rename from src/Kestrel.Transport.Abstractions/Internal/MemoryPoolSlab.cs
rename to src/Servers/Kestrel/Transport.Abstractions/src/Internal/MemoryPoolSlab.cs
diff --git a/src/Kestrel.Transport.Abstractions/Internal/SchedulingMode.cs b/src/Servers/Kestrel/Transport.Abstractions/src/Internal/SchedulingMode.cs
similarity index 100%
rename from src/Kestrel.Transport.Abstractions/Internal/SchedulingMode.cs
rename to src/Servers/Kestrel/Transport.Abstractions/src/Internal/SchedulingMode.cs
diff --git a/src/Kestrel.Transport.Abstractions/Internal/SlabMemoryPool.cs b/src/Servers/Kestrel/Transport.Abstractions/src/Internal/SlabMemoryPool.cs
similarity index 100%
rename from src/Kestrel.Transport.Abstractions/Internal/SlabMemoryPool.cs
rename to src/Servers/Kestrel/Transport.Abstractions/src/Internal/SlabMemoryPool.cs
diff --git a/src/Kestrel.Transport.Abstractions/Internal/TransportConnection.Features.cs b/src/Servers/Kestrel/Transport.Abstractions/src/Internal/TransportConnection.Features.cs
similarity index 100%
rename from src/Kestrel.Transport.Abstractions/Internal/TransportConnection.Features.cs
rename to src/Servers/Kestrel/Transport.Abstractions/src/Internal/TransportConnection.Features.cs
diff --git a/src/Kestrel.Transport.Abstractions/Internal/TransportConnection.cs b/src/Servers/Kestrel/Transport.Abstractions/src/Internal/TransportConnection.cs
similarity index 100%
rename from src/Kestrel.Transport.Abstractions/Internal/TransportConnection.cs
rename to src/Servers/Kestrel/Transport.Abstractions/src/Internal/TransportConnection.cs
diff --git a/src/Kestrel.Transport.Abstractions/Kestrel.Transport.Abstractions.csproj b/src/Servers/Kestrel/Transport.Abstractions/src/Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.csproj
similarity index 64%
rename from src/Kestrel.Transport.Abstractions/Kestrel.Transport.Abstractions.csproj
rename to src/Servers/Kestrel/Transport.Abstractions/src/Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.csproj
index 3dc81350fb0..fe131c9dd62 100644
--- a/src/Kestrel.Transport.Abstractions/Kestrel.Transport.Abstractions.csproj
+++ b/src/Servers/Kestrel/Transport.Abstractions/src/Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.csproj
@@ -1,8 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <AssemblyName>Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions</AssemblyName>
-    <RootNamespace>Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions</RootNamespace>
     <Description>Transport abstractions for the ASP.NET Core Kestrel cross-platform web server.</Description>
     <TargetFramework>netstandard2.0</TargetFramework>
     <GenerateDocumentationFile>true</GenerateDocumentationFile>
@@ -13,11 +11,11 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <Compile Include="..\shared\ThrowHelper.cs" />
+    <Compile Include="$(KestrelSharedSourceRoot)src\ThrowHelper.cs" />
   </ItemGroup>
 
   <ItemGroup>
-    <ProjectReference Include="..\Connections.Abstractions\Connections.Abstractions.csproj" />
+    <Reference Include="Microsoft.AspNetCore.Connections.Abstractions" />
   </ItemGroup>
 
 </Project>
diff --git a/src/Kestrel.Transport.Abstractions/baseline.netcore.json b/src/Servers/Kestrel/Transport.Abstractions/src/baseline.netcore.json
similarity index 100%
rename from src/Kestrel.Transport.Abstractions/baseline.netcore.json
rename to src/Servers/Kestrel/Transport.Abstractions/src/baseline.netcore.json
diff --git a/src/Kestrel.Transport.Libuv/Internal/IAsyncDisposable.cs b/src/Servers/Kestrel/Transport.Libuv/src/Internal/IAsyncDisposable.cs
similarity index 100%
rename from src/Kestrel.Transport.Libuv/Internal/IAsyncDisposable.cs
rename to src/Servers/Kestrel/Transport.Libuv/src/Internal/IAsyncDisposable.cs
diff --git a/src/Kestrel.Transport.Libuv/Internal/ILibuvTrace.cs b/src/Servers/Kestrel/Transport.Libuv/src/Internal/ILibuvTrace.cs
similarity index 100%
rename from src/Kestrel.Transport.Libuv/Internal/ILibuvTrace.cs
rename to src/Servers/Kestrel/Transport.Libuv/src/Internal/ILibuvTrace.cs
diff --git a/src/Kestrel.Transport.Libuv/Internal/LibuvAwaitable.cs b/src/Servers/Kestrel/Transport.Libuv/src/Internal/LibuvAwaitable.cs
similarity index 100%
rename from src/Kestrel.Transport.Libuv/Internal/LibuvAwaitable.cs
rename to src/Servers/Kestrel/Transport.Libuv/src/Internal/LibuvAwaitable.cs
diff --git a/src/Kestrel.Transport.Libuv/Internal/LibuvConnection.cs b/src/Servers/Kestrel/Transport.Libuv/src/Internal/LibuvConnection.cs
similarity index 100%
rename from src/Kestrel.Transport.Libuv/Internal/LibuvConnection.cs
rename to src/Servers/Kestrel/Transport.Libuv/src/Internal/LibuvConnection.cs
diff --git a/src/Kestrel.Transport.Libuv/Internal/LibuvConstants.cs b/src/Servers/Kestrel/Transport.Libuv/src/Internal/LibuvConstants.cs
similarity index 100%
rename from src/Kestrel.Transport.Libuv/Internal/LibuvConstants.cs
rename to src/Servers/Kestrel/Transport.Libuv/src/Internal/LibuvConstants.cs
diff --git a/src/Kestrel.Transport.Libuv/Internal/LibuvOutputConsumer.cs b/src/Servers/Kestrel/Transport.Libuv/src/Internal/LibuvOutputConsumer.cs
similarity index 100%
rename from src/Kestrel.Transport.Libuv/Internal/LibuvOutputConsumer.cs
rename to src/Servers/Kestrel/Transport.Libuv/src/Internal/LibuvOutputConsumer.cs
diff --git a/src/Kestrel.Transport.Libuv/Internal/LibuvThread.cs b/src/Servers/Kestrel/Transport.Libuv/src/Internal/LibuvThread.cs
similarity index 100%
rename from src/Kestrel.Transport.Libuv/Internal/LibuvThread.cs
rename to src/Servers/Kestrel/Transport.Libuv/src/Internal/LibuvThread.cs
diff --git a/src/Kestrel.Transport.Libuv/Internal/LibuvTrace.cs b/src/Servers/Kestrel/Transport.Libuv/src/Internal/LibuvTrace.cs
similarity index 100%
rename from src/Kestrel.Transport.Libuv/Internal/LibuvTrace.cs
rename to src/Servers/Kestrel/Transport.Libuv/src/Internal/LibuvTrace.cs
diff --git a/src/Kestrel.Transport.Libuv/Internal/LibuvTransport.cs b/src/Servers/Kestrel/Transport.Libuv/src/Internal/LibuvTransport.cs
similarity index 100%
rename from src/Kestrel.Transport.Libuv/Internal/LibuvTransport.cs
rename to src/Servers/Kestrel/Transport.Libuv/src/Internal/LibuvTransport.cs
diff --git a/src/Kestrel.Transport.Libuv/Internal/LibuvTransportContext.cs b/src/Servers/Kestrel/Transport.Libuv/src/Internal/LibuvTransportContext.cs
similarity index 100%
rename from src/Kestrel.Transport.Libuv/Internal/LibuvTransportContext.cs
rename to src/Servers/Kestrel/Transport.Libuv/src/Internal/LibuvTransportContext.cs
diff --git a/src/Kestrel.Transport.Libuv/Internal/LibuvTransportFactory.cs b/src/Servers/Kestrel/Transport.Libuv/src/Internal/LibuvTransportFactory.cs
similarity index 100%
rename from src/Kestrel.Transport.Libuv/Internal/LibuvTransportFactory.cs
rename to src/Servers/Kestrel/Transport.Libuv/src/Internal/LibuvTransportFactory.cs
diff --git a/src/Kestrel.Transport.Libuv/Internal/Listener.cs b/src/Servers/Kestrel/Transport.Libuv/src/Internal/Listener.cs
similarity index 100%
rename from src/Kestrel.Transport.Libuv/Internal/Listener.cs
rename to src/Servers/Kestrel/Transport.Libuv/src/Internal/Listener.cs
diff --git a/src/Kestrel.Transport.Libuv/Internal/ListenerContext.cs b/src/Servers/Kestrel/Transport.Libuv/src/Internal/ListenerContext.cs
similarity index 100%
rename from src/Kestrel.Transport.Libuv/Internal/ListenerContext.cs
rename to src/Servers/Kestrel/Transport.Libuv/src/Internal/ListenerContext.cs
diff --git a/src/Kestrel.Transport.Libuv/Internal/ListenerPrimary.cs b/src/Servers/Kestrel/Transport.Libuv/src/Internal/ListenerPrimary.cs
similarity index 100%
rename from src/Kestrel.Transport.Libuv/Internal/ListenerPrimary.cs
rename to src/Servers/Kestrel/Transport.Libuv/src/Internal/ListenerPrimary.cs
diff --git a/src/Kestrel.Transport.Libuv/Internal/ListenerSecondary.cs b/src/Servers/Kestrel/Transport.Libuv/src/Internal/ListenerSecondary.cs
similarity index 100%
rename from src/Kestrel.Transport.Libuv/Internal/ListenerSecondary.cs
rename to src/Servers/Kestrel/Transport.Libuv/src/Internal/ListenerSecondary.cs
diff --git a/src/Kestrel.Transport.Libuv/Internal/Networking/LibuvFunctions.cs b/src/Servers/Kestrel/Transport.Libuv/src/Internal/Networking/LibuvFunctions.cs
similarity index 100%
rename from src/Kestrel.Transport.Libuv/Internal/Networking/LibuvFunctions.cs
rename to src/Servers/Kestrel/Transport.Libuv/src/Internal/Networking/LibuvFunctions.cs
diff --git a/src/Kestrel.Transport.Libuv/Internal/Networking/PlatformApis.cs b/src/Servers/Kestrel/Transport.Libuv/src/Internal/Networking/PlatformApis.cs
similarity index 100%
rename from src/Kestrel.Transport.Libuv/Internal/Networking/PlatformApis.cs
rename to src/Servers/Kestrel/Transport.Libuv/src/Internal/Networking/PlatformApis.cs
diff --git a/src/Kestrel.Transport.Libuv/Internal/Networking/SockAddr.cs b/src/Servers/Kestrel/Transport.Libuv/src/Internal/Networking/SockAddr.cs
similarity index 100%
rename from src/Kestrel.Transport.Libuv/Internal/Networking/SockAddr.cs
rename to src/Servers/Kestrel/Transport.Libuv/src/Internal/Networking/SockAddr.cs
diff --git a/src/Kestrel.Transport.Libuv/Internal/Networking/UvAsyncHandle.cs b/src/Servers/Kestrel/Transport.Libuv/src/Internal/Networking/UvAsyncHandle.cs
similarity index 100%
rename from src/Kestrel.Transport.Libuv/Internal/Networking/UvAsyncHandle.cs
rename to src/Servers/Kestrel/Transport.Libuv/src/Internal/Networking/UvAsyncHandle.cs
diff --git a/src/Kestrel.Transport.Libuv/Internal/Networking/UvConnectRequest.cs b/src/Servers/Kestrel/Transport.Libuv/src/Internal/Networking/UvConnectRequest.cs
similarity index 100%
rename from src/Kestrel.Transport.Libuv/Internal/Networking/UvConnectRequest.cs
rename to src/Servers/Kestrel/Transport.Libuv/src/Internal/Networking/UvConnectRequest.cs
diff --git a/src/Kestrel.Transport.Libuv/Internal/Networking/UvException.cs b/src/Servers/Kestrel/Transport.Libuv/src/Internal/Networking/UvException.cs
similarity index 100%
rename from src/Kestrel.Transport.Libuv/Internal/Networking/UvException.cs
rename to src/Servers/Kestrel/Transport.Libuv/src/Internal/Networking/UvException.cs
diff --git a/src/Kestrel.Transport.Libuv/Internal/Networking/UvHandle.cs b/src/Servers/Kestrel/Transport.Libuv/src/Internal/Networking/UvHandle.cs
similarity index 100%
rename from src/Kestrel.Transport.Libuv/Internal/Networking/UvHandle.cs
rename to src/Servers/Kestrel/Transport.Libuv/src/Internal/Networking/UvHandle.cs
diff --git a/src/Kestrel.Transport.Libuv/Internal/Networking/UvLoopHandle.cs b/src/Servers/Kestrel/Transport.Libuv/src/Internal/Networking/UvLoopHandle.cs
similarity index 100%
rename from src/Kestrel.Transport.Libuv/Internal/Networking/UvLoopHandle.cs
rename to src/Servers/Kestrel/Transport.Libuv/src/Internal/Networking/UvLoopHandle.cs
diff --git a/src/Kestrel.Transport.Libuv/Internal/Networking/UvMemory.cs b/src/Servers/Kestrel/Transport.Libuv/src/Internal/Networking/UvMemory.cs
similarity index 100%
rename from src/Kestrel.Transport.Libuv/Internal/Networking/UvMemory.cs
rename to src/Servers/Kestrel/Transport.Libuv/src/Internal/Networking/UvMemory.cs
diff --git a/src/Kestrel.Transport.Libuv/Internal/Networking/UvPipeHandle.cs b/src/Servers/Kestrel/Transport.Libuv/src/Internal/Networking/UvPipeHandle.cs
similarity index 100%
rename from src/Kestrel.Transport.Libuv/Internal/Networking/UvPipeHandle.cs
rename to src/Servers/Kestrel/Transport.Libuv/src/Internal/Networking/UvPipeHandle.cs
diff --git a/src/Kestrel.Transport.Libuv/Internal/Networking/UvRequest.cs b/src/Servers/Kestrel/Transport.Libuv/src/Internal/Networking/UvRequest.cs
similarity index 100%
rename from src/Kestrel.Transport.Libuv/Internal/Networking/UvRequest.cs
rename to src/Servers/Kestrel/Transport.Libuv/src/Internal/Networking/UvRequest.cs
diff --git a/src/Kestrel.Transport.Libuv/Internal/Networking/UvStreamHandle.cs b/src/Servers/Kestrel/Transport.Libuv/src/Internal/Networking/UvStreamHandle.cs
similarity index 100%
rename from src/Kestrel.Transport.Libuv/Internal/Networking/UvStreamHandle.cs
rename to src/Servers/Kestrel/Transport.Libuv/src/Internal/Networking/UvStreamHandle.cs
diff --git a/src/Kestrel.Transport.Libuv/Internal/Networking/UvTcpHandle.cs b/src/Servers/Kestrel/Transport.Libuv/src/Internal/Networking/UvTcpHandle.cs
similarity index 100%
rename from src/Kestrel.Transport.Libuv/Internal/Networking/UvTcpHandle.cs
rename to src/Servers/Kestrel/Transport.Libuv/src/Internal/Networking/UvTcpHandle.cs
diff --git a/src/Kestrel.Transport.Libuv/Internal/Networking/UvTimerHandle.cs b/src/Servers/Kestrel/Transport.Libuv/src/Internal/Networking/UvTimerHandle.cs
similarity index 100%
rename from src/Kestrel.Transport.Libuv/Internal/Networking/UvTimerHandle.cs
rename to src/Servers/Kestrel/Transport.Libuv/src/Internal/Networking/UvTimerHandle.cs
diff --git a/src/Kestrel.Transport.Libuv/Internal/Networking/UvWriteReq.cs b/src/Servers/Kestrel/Transport.Libuv/src/Internal/Networking/UvWriteReq.cs
similarity index 100%
rename from src/Kestrel.Transport.Libuv/Internal/Networking/UvWriteReq.cs
rename to src/Servers/Kestrel/Transport.Libuv/src/Internal/Networking/UvWriteReq.cs
diff --git a/src/Kestrel.Transport.Libuv/Internal/WriteReqPool.cs b/src/Servers/Kestrel/Transport.Libuv/src/Internal/WriteReqPool.cs
similarity index 100%
rename from src/Kestrel.Transport.Libuv/Internal/WriteReqPool.cs
rename to src/Servers/Kestrel/Transport.Libuv/src/Internal/WriteReqPool.cs
diff --git a/src/Kestrel.Transport.Libuv/LibuvTransportOptions.cs b/src/Servers/Kestrel/Transport.Libuv/src/LibuvTransportOptions.cs
similarity index 100%
rename from src/Kestrel.Transport.Libuv/LibuvTransportOptions.cs
rename to src/Servers/Kestrel/Transport.Libuv/src/LibuvTransportOptions.cs
diff --git a/src/Servers/Kestrel/Transport.Libuv/src/Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.csproj b/src/Servers/Kestrel/Transport.Libuv/src/Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.csproj
new file mode 100644
index 00000000000..001e97cdb6b
--- /dev/null
+++ b/src/Servers/Kestrel/Transport.Libuv/src/Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.csproj
@@ -0,0 +1,20 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <Description>Libuv transport for the ASP.NET Core Kestrel cross-platform web server.</Description>
+    <TargetFramework>netstandard2.0</TargetFramework>
+    <GenerateDocumentationFile>true</GenerateDocumentationFile>
+    <PackageTags>aspnetcore;kestrel</PackageTags>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+    <NoWarn>CS1591;$(NoWarn)</NoWarn>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Reference Include="Libuv" />
+    <Reference Include="Microsoft.AspNetCore.Hosting.Abstractions" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions" />
+    <Reference Include="Microsoft.Extensions.Logging.Abstractions" />
+    <Reference Include="Microsoft.Extensions.Options" />
+  </ItemGroup>
+
+</Project>
diff --git a/src/Kestrel.Transport.Libuv/WebHostBuilderLibuvExtensions.cs b/src/Servers/Kestrel/Transport.Libuv/src/WebHostBuilderLibuvExtensions.cs
similarity index 100%
rename from src/Kestrel.Transport.Libuv/WebHostBuilderLibuvExtensions.cs
rename to src/Servers/Kestrel/Transport.Libuv/src/WebHostBuilderLibuvExtensions.cs
diff --git a/src/Kestrel.Transport.Libuv/baseline.netcore.json b/src/Servers/Kestrel/Transport.Libuv/src/baseline.netcore.json
similarity index 100%
rename from src/Kestrel.Transport.Libuv/baseline.netcore.json
rename to src/Servers/Kestrel/Transport.Libuv/src/baseline.netcore.json
diff --git a/src/Kestrel.Transport.Libuv/breakingchanges.netcore.json b/src/Servers/Kestrel/Transport.Libuv/src/breakingchanges.netcore.json
similarity index 100%
rename from src/Kestrel.Transport.Libuv/breakingchanges.netcore.json
rename to src/Servers/Kestrel/Transport.Libuv/src/breakingchanges.netcore.json
diff --git a/test/Kestrel.Transport.Libuv.Tests/LibuvConnectionTests.cs b/src/Servers/Kestrel/Transport.Libuv/test/LibuvConnectionTests.cs
similarity index 100%
rename from test/Kestrel.Transport.Libuv.Tests/LibuvConnectionTests.cs
rename to src/Servers/Kestrel/Transport.Libuv/test/LibuvConnectionTests.cs
diff --git a/test/Kestrel.Transport.Libuv.Tests/LibuvOutputConsumerTests.cs b/src/Servers/Kestrel/Transport.Libuv/test/LibuvOutputConsumerTests.cs
similarity index 100%
rename from test/Kestrel.Transport.Libuv.Tests/LibuvOutputConsumerTests.cs
rename to src/Servers/Kestrel/Transport.Libuv/test/LibuvOutputConsumerTests.cs
diff --git a/test/Kestrel.Transport.Libuv.Tests/LibuvThreadTests.cs b/src/Servers/Kestrel/Transport.Libuv/test/LibuvThreadTests.cs
similarity index 100%
rename from test/Kestrel.Transport.Libuv.Tests/LibuvThreadTests.cs
rename to src/Servers/Kestrel/Transport.Libuv/test/LibuvThreadTests.cs
diff --git a/test/Kestrel.Transport.Libuv.Tests/LibuvTransportFactoryTests.cs b/src/Servers/Kestrel/Transport.Libuv/test/LibuvTransportFactoryTests.cs
similarity index 100%
rename from test/Kestrel.Transport.Libuv.Tests/LibuvTransportFactoryTests.cs
rename to src/Servers/Kestrel/Transport.Libuv/test/LibuvTransportFactoryTests.cs
diff --git a/test/Kestrel.Transport.Libuv.Tests/LibuvTransportOptionsTests.cs b/src/Servers/Kestrel/Transport.Libuv/test/LibuvTransportOptionsTests.cs
similarity index 100%
rename from test/Kestrel.Transport.Libuv.Tests/LibuvTransportOptionsTests.cs
rename to src/Servers/Kestrel/Transport.Libuv/test/LibuvTransportOptionsTests.cs
diff --git a/test/Kestrel.Transport.Libuv.Tests/LibuvTransportTests.cs b/src/Servers/Kestrel/Transport.Libuv/test/LibuvTransportTests.cs
similarity index 100%
rename from test/Kestrel.Transport.Libuv.Tests/LibuvTransportTests.cs
rename to src/Servers/Kestrel/Transport.Libuv/test/LibuvTransportTests.cs
diff --git a/test/Kestrel.Transport.Libuv.Tests/ListenerPrimaryTests.cs b/src/Servers/Kestrel/Transport.Libuv/test/ListenerPrimaryTests.cs
similarity index 100%
rename from test/Kestrel.Transport.Libuv.Tests/ListenerPrimaryTests.cs
rename to src/Servers/Kestrel/Transport.Libuv/test/ListenerPrimaryTests.cs
diff --git a/src/Servers/Kestrel/Transport.Libuv/test/Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Tests.csproj b/src/Servers/Kestrel/Transport.Libuv/test/Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Tests.csproj
new file mode 100644
index 00000000000..4aa1f389e4c
--- /dev/null
+++ b/src/Servers/Kestrel/Transport.Libuv/test/Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Tests.csproj
@@ -0,0 +1,20 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFrameworks>netcoreapp2.1;net461</TargetFrameworks>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+    <ServerGarbageCollection>true</ServerGarbageCollection>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Compile Include="$(KestrelSharedSourceRoot)test\**\*.cs" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.AspNetCore.Http" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel.Core" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv" />
+    <Reference Include="Microsoft.Extensions.Logging" />
+  </ItemGroup>
+
+</Project>
diff --git a/test/Kestrel.Transport.Libuv.Tests/MultipleLoopTests.cs b/src/Servers/Kestrel/Transport.Libuv/test/MultipleLoopTests.cs
similarity index 100%
rename from test/Kestrel.Transport.Libuv.Tests/MultipleLoopTests.cs
rename to src/Servers/Kestrel/Transport.Libuv/test/MultipleLoopTests.cs
diff --git a/test/Kestrel.Transport.Libuv.Tests/NetworkingTests.cs b/src/Servers/Kestrel/Transport.Libuv/test/NetworkingTests.cs
similarity index 100%
rename from test/Kestrel.Transport.Libuv.Tests/NetworkingTests.cs
rename to src/Servers/Kestrel/Transport.Libuv/test/NetworkingTests.cs
diff --git a/test/Kestrel.Transport.Libuv.Tests/TestHelpers/MockConnectionDispatcher.cs b/src/Servers/Kestrel/Transport.Libuv/test/TestHelpers/MockConnectionDispatcher.cs
similarity index 100%
rename from test/Kestrel.Transport.Libuv.Tests/TestHelpers/MockConnectionDispatcher.cs
rename to src/Servers/Kestrel/Transport.Libuv/test/TestHelpers/MockConnectionDispatcher.cs
diff --git a/test/Kestrel.Transport.Libuv.Tests/TestHelpers/MockLibuv.cs b/src/Servers/Kestrel/Transport.Libuv/test/TestHelpers/MockLibuv.cs
similarity index 100%
rename from test/Kestrel.Transport.Libuv.Tests/TestHelpers/MockLibuv.cs
rename to src/Servers/Kestrel/Transport.Libuv/test/TestHelpers/MockLibuv.cs
diff --git a/test/Kestrel.Transport.Libuv.Tests/TestHelpers/MockSocket.cs b/src/Servers/Kestrel/Transport.Libuv/test/TestHelpers/MockSocket.cs
similarity index 100%
rename from test/Kestrel.Transport.Libuv.Tests/TestHelpers/MockSocket.cs
rename to src/Servers/Kestrel/Transport.Libuv/test/TestHelpers/MockSocket.cs
diff --git a/test/Kestrel.Transport.Libuv.Tests/TestHelpers/TestLibuvTransportContext.cs b/src/Servers/Kestrel/Transport.Libuv/test/TestHelpers/TestLibuvTransportContext.cs
similarity index 100%
rename from test/Kestrel.Transport.Libuv.Tests/TestHelpers/TestLibuvTransportContext.cs
rename to src/Servers/Kestrel/Transport.Libuv/test/TestHelpers/TestLibuvTransportContext.cs
diff --git a/test/Kestrel.Transport.Libuv.Tests/UvStreamHandleTests.cs b/src/Servers/Kestrel/Transport.Libuv/test/UvStreamHandleTests.cs
similarity index 100%
rename from test/Kestrel.Transport.Libuv.Tests/UvStreamHandleTests.cs
rename to src/Servers/Kestrel/Transport.Libuv/test/UvStreamHandleTests.cs
diff --git a/test/Kestrel.Transport.Libuv.Tests/UvTimerHandleTests.cs b/src/Servers/Kestrel/Transport.Libuv/test/UvTimerHandleTests.cs
similarity index 100%
rename from test/Kestrel.Transport.Libuv.Tests/UvTimerHandleTests.cs
rename to src/Servers/Kestrel/Transport.Libuv/test/UvTimerHandleTests.cs
diff --git a/src/Kestrel.Transport.Sockets/Internal/BufferExtensions.cs b/src/Servers/Kestrel/Transport.Sockets/src/Internal/BufferExtensions.cs
similarity index 100%
rename from src/Kestrel.Transport.Sockets/Internal/BufferExtensions.cs
rename to src/Servers/Kestrel/Transport.Sockets/src/Internal/BufferExtensions.cs
diff --git a/src/Kestrel.Transport.Sockets/Internal/IOQueue.cs b/src/Servers/Kestrel/Transport.Sockets/src/Internal/IOQueue.cs
similarity index 100%
rename from src/Kestrel.Transport.Sockets/Internal/IOQueue.cs
rename to src/Servers/Kestrel/Transport.Sockets/src/Internal/IOQueue.cs
diff --git a/src/Kestrel.Transport.Sockets/Internal/ISocketsTrace.cs b/src/Servers/Kestrel/Transport.Sockets/src/Internal/ISocketsTrace.cs
similarity index 100%
rename from src/Kestrel.Transport.Sockets/Internal/ISocketsTrace.cs
rename to src/Servers/Kestrel/Transport.Sockets/src/Internal/ISocketsTrace.cs
diff --git a/src/Kestrel.Transport.Sockets/Internal/SocketAwaitable.cs b/src/Servers/Kestrel/Transport.Sockets/src/Internal/SocketAwaitable.cs
similarity index 100%
rename from src/Kestrel.Transport.Sockets/Internal/SocketAwaitable.cs
rename to src/Servers/Kestrel/Transport.Sockets/src/Internal/SocketAwaitable.cs
diff --git a/src/Kestrel.Transport.Sockets/Internal/SocketConnection.cs b/src/Servers/Kestrel/Transport.Sockets/src/Internal/SocketConnection.cs
similarity index 100%
rename from src/Kestrel.Transport.Sockets/Internal/SocketConnection.cs
rename to src/Servers/Kestrel/Transport.Sockets/src/Internal/SocketConnection.cs
diff --git a/src/Kestrel.Transport.Sockets/Internal/SocketReceiver.cs b/src/Servers/Kestrel/Transport.Sockets/src/Internal/SocketReceiver.cs
similarity index 100%
rename from src/Kestrel.Transport.Sockets/Internal/SocketReceiver.cs
rename to src/Servers/Kestrel/Transport.Sockets/src/Internal/SocketReceiver.cs
diff --git a/src/Kestrel.Transport.Sockets/Internal/SocketSender.cs b/src/Servers/Kestrel/Transport.Sockets/src/Internal/SocketSender.cs
similarity index 100%
rename from src/Kestrel.Transport.Sockets/Internal/SocketSender.cs
rename to src/Servers/Kestrel/Transport.Sockets/src/Internal/SocketSender.cs
diff --git a/src/Kestrel.Transport.Sockets/Internal/SocketsTrace.cs b/src/Servers/Kestrel/Transport.Sockets/src/Internal/SocketsTrace.cs
similarity index 100%
rename from src/Kestrel.Transport.Sockets/Internal/SocketsTrace.cs
rename to src/Servers/Kestrel/Transport.Sockets/src/Internal/SocketsTrace.cs
diff --git a/src/Kestrel.Transport.Sockets/Kestrel.Transport.Sockets.csproj b/src/Servers/Kestrel/Transport.Sockets/src/Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.csproj
similarity index 52%
rename from src/Kestrel.Transport.Sockets/Kestrel.Transport.Sockets.csproj
rename to src/Servers/Kestrel/Transport.Sockets/src/Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.csproj
index 8af83058522..82dde8daa86 100644
--- a/src/Kestrel.Transport.Sockets/Kestrel.Transport.Sockets.csproj
+++ b/src/Servers/Kestrel/Transport.Sockets/src/Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.csproj
@@ -1,8 +1,6 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <AssemblyName>Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets</AssemblyName>
-    <RootNamespace>Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets</RootNamespace>
     <Description>Managed socket transport for the ASP.NET Core Kestrel cross-platform web server.</Description>
     <TargetFrameworks>netstandard2.0;netcoreapp2.1</TargetFrameworks>
     <GenerateDocumentationFile>true</GenerateDocumentationFile>
@@ -12,12 +10,9 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.Hosting.Abstractions" Version="$(MicrosoftAspNetCoreHostingAbstractionsPackageVersion)" />
-    <PackageReference Include="Microsoft.Extensions.Options" Version="$(MicrosoftExtensionsOptionsPackageVersion)" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\Kestrel.Transport.Abstractions\Kestrel.Transport.Abstractions.csproj" />
+    <Reference Include="Microsoft.AspNetCore.Hosting.Abstractions" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions" />
+    <Reference Include="Microsoft.Extensions.Options" />
   </ItemGroup>
 
   <ItemGroup>
diff --git a/src/Kestrel.Transport.Sockets/Properties/SocketsStrings.Designer.cs b/src/Servers/Kestrel/Transport.Sockets/src/Properties/SocketsStrings.Designer.cs
similarity index 100%
rename from src/Kestrel.Transport.Sockets/Properties/SocketsStrings.Designer.cs
rename to src/Servers/Kestrel/Transport.Sockets/src/Properties/SocketsStrings.Designer.cs
diff --git a/src/Kestrel.Transport.Sockets/SocketTransport.cs b/src/Servers/Kestrel/Transport.Sockets/src/SocketTransport.cs
similarity index 100%
rename from src/Kestrel.Transport.Sockets/SocketTransport.cs
rename to src/Servers/Kestrel/Transport.Sockets/src/SocketTransport.cs
diff --git a/src/Kestrel.Transport.Sockets/SocketTransportFactory.cs b/src/Servers/Kestrel/Transport.Sockets/src/SocketTransportFactory.cs
similarity index 100%
rename from src/Kestrel.Transport.Sockets/SocketTransportFactory.cs
rename to src/Servers/Kestrel/Transport.Sockets/src/SocketTransportFactory.cs
diff --git a/src/Kestrel.Transport.Sockets/SocketTransportOptions.cs b/src/Servers/Kestrel/Transport.Sockets/src/SocketTransportOptions.cs
similarity index 100%
rename from src/Kestrel.Transport.Sockets/SocketTransportOptions.cs
rename to src/Servers/Kestrel/Transport.Sockets/src/SocketTransportOptions.cs
diff --git a/src/Kestrel.Transport.Sockets/SocketsStrings.resx b/src/Servers/Kestrel/Transport.Sockets/src/SocketsStrings.resx
similarity index 100%
rename from src/Kestrel.Transport.Sockets/SocketsStrings.resx
rename to src/Servers/Kestrel/Transport.Sockets/src/SocketsStrings.resx
diff --git a/src/Kestrel.Transport.Sockets/WebHostBuilderSocketExtensions.cs b/src/Servers/Kestrel/Transport.Sockets/src/WebHostBuilderSocketExtensions.cs
similarity index 100%
rename from src/Kestrel.Transport.Sockets/WebHostBuilderSocketExtensions.cs
rename to src/Servers/Kestrel/Transport.Sockets/src/WebHostBuilderSocketExtensions.cs
diff --git a/src/Kestrel.Transport.Sockets/baseline.netcore.json b/src/Servers/Kestrel/Transport.Sockets/src/baseline.netcore.json
similarity index 100%
rename from src/Kestrel.Transport.Sockets/baseline.netcore.json
rename to src/Servers/Kestrel/Transport.Sockets/src/baseline.netcore.json
diff --git a/benchmarks/Kestrel.Performance/AsciiBytesToStringBenchmark.cs b/src/Servers/Kestrel/perf/Kestrel.Performance/AsciiBytesToStringBenchmark.cs
similarity index 100%
rename from benchmarks/Kestrel.Performance/AsciiBytesToStringBenchmark.cs
rename to src/Servers/Kestrel/perf/Kestrel.Performance/AsciiBytesToStringBenchmark.cs
diff --git a/benchmarks/Kestrel.Performance/AssemblyInfo.cs b/src/Servers/Kestrel/perf/Kestrel.Performance/AssemblyInfo.cs
similarity index 100%
rename from benchmarks/Kestrel.Performance/AssemblyInfo.cs
rename to src/Servers/Kestrel/perf/Kestrel.Performance/AssemblyInfo.cs
diff --git a/benchmarks/Kestrel.Performance/DotSegmentRemovalBenchmark.cs b/src/Servers/Kestrel/perf/Kestrel.Performance/DotSegmentRemovalBenchmark.cs
similarity index 100%
rename from benchmarks/Kestrel.Performance/DotSegmentRemovalBenchmark.cs
rename to src/Servers/Kestrel/perf/Kestrel.Performance/DotSegmentRemovalBenchmark.cs
diff --git a/benchmarks/Kestrel.Performance/ErrorUtilities.cs b/src/Servers/Kestrel/perf/Kestrel.Performance/ErrorUtilities.cs
similarity index 100%
rename from benchmarks/Kestrel.Performance/ErrorUtilities.cs
rename to src/Servers/Kestrel/perf/Kestrel.Performance/ErrorUtilities.cs
diff --git a/benchmarks/Kestrel.Performance/Http1ConnectionBenchmark.cs b/src/Servers/Kestrel/perf/Kestrel.Performance/Http1ConnectionBenchmark.cs
similarity index 100%
rename from benchmarks/Kestrel.Performance/Http1ConnectionBenchmark.cs
rename to src/Servers/Kestrel/perf/Kestrel.Performance/Http1ConnectionBenchmark.cs
diff --git a/benchmarks/Kestrel.Performance/Http1ConnectionParsingOverheadBenchmark.cs b/src/Servers/Kestrel/perf/Kestrel.Performance/Http1ConnectionParsingOverheadBenchmark.cs
similarity index 100%
rename from benchmarks/Kestrel.Performance/Http1ConnectionParsingOverheadBenchmark.cs
rename to src/Servers/Kestrel/perf/Kestrel.Performance/Http1ConnectionParsingOverheadBenchmark.cs
diff --git a/benchmarks/Kestrel.Performance/Http1WritingBenchmark.cs b/src/Servers/Kestrel/perf/Kestrel.Performance/Http1WritingBenchmark.cs
similarity index 100%
rename from benchmarks/Kestrel.Performance/Http1WritingBenchmark.cs
rename to src/Servers/Kestrel/perf/Kestrel.Performance/Http1WritingBenchmark.cs
diff --git a/benchmarks/Kestrel.Performance/HttpParserBenchmark.cs b/src/Servers/Kestrel/perf/Kestrel.Performance/HttpParserBenchmark.cs
similarity index 100%
rename from benchmarks/Kestrel.Performance/HttpParserBenchmark.cs
rename to src/Servers/Kestrel/perf/Kestrel.Performance/HttpParserBenchmark.cs
diff --git a/benchmarks/Kestrel.Performance/HttpProtocolFeatureCollection.cs b/src/Servers/Kestrel/perf/Kestrel.Performance/HttpProtocolFeatureCollection.cs
similarity index 100%
rename from benchmarks/Kestrel.Performance/HttpProtocolFeatureCollection.cs
rename to src/Servers/Kestrel/perf/Kestrel.Performance/HttpProtocolFeatureCollection.cs
diff --git a/benchmarks/Kestrel.Performance/InMemoryTransportBenchmark.cs b/src/Servers/Kestrel/perf/Kestrel.Performance/InMemoryTransportBenchmark.cs
similarity index 100%
rename from benchmarks/Kestrel.Performance/InMemoryTransportBenchmark.cs
rename to src/Servers/Kestrel/perf/Kestrel.Performance/InMemoryTransportBenchmark.cs
diff --git a/benchmarks/Kestrel.Performance/KnownStringsBenchmark.cs b/src/Servers/Kestrel/perf/Kestrel.Performance/KnownStringsBenchmark.cs
similarity index 100%
rename from benchmarks/Kestrel.Performance/KnownStringsBenchmark.cs
rename to src/Servers/Kestrel/perf/Kestrel.Performance/KnownStringsBenchmark.cs
diff --git a/src/Servers/Kestrel/perf/Kestrel.Performance/Microsoft.AspNetCore.Server.Kestrel.Performance.csproj b/src/Servers/Kestrel/perf/Kestrel.Performance/Microsoft.AspNetCore.Server.Kestrel.Performance.csproj
new file mode 100644
index 00000000000..1998485c204
--- /dev/null
+++ b/src/Servers/Kestrel/perf/Kestrel.Performance/Microsoft.AspNetCore.Server.Kestrel.Performance.csproj
@@ -0,0 +1,27 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFramework>netcoreapp2.0</TargetFramework>
+    <OutputType>Exe</OutputType>
+    <ServerGarbageCollection>true</ServerGarbageCollection>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+    <IsPackable>false</IsPackable>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Compile Include="$(KestrelSharedSourceRoot)test\TestApplicationErrorLogger.cs" />
+    <Compile Include="$(KestrelSharedSourceRoot)test\TestHttp1Connection.cs" />
+    <Compile Include="$(KestrelSharedSourceRoot)test\TestKestrelTrace.cs" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <Reference Include="BenchmarkDotNet" />
+    <Reference Include="Microsoft.AspNetCore.BenchmarkRunner.Sources" PrivateAssets="All" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel.Core" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel.Https" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel" />
+  </ItemGroup>
+
+</Project>
diff --git a/benchmarks/Kestrel.Performance/Mocks/MockTimeoutControl.cs b/src/Servers/Kestrel/perf/Kestrel.Performance/Mocks/MockTimeoutControl.cs
similarity index 100%
rename from benchmarks/Kestrel.Performance/Mocks/MockTimeoutControl.cs
rename to src/Servers/Kestrel/perf/Kestrel.Performance/Mocks/MockTimeoutControl.cs
diff --git a/benchmarks/Kestrel.Performance/Mocks/MockTrace.cs b/src/Servers/Kestrel/perf/Kestrel.Performance/Mocks/MockTrace.cs
similarity index 100%
rename from benchmarks/Kestrel.Performance/Mocks/MockTrace.cs
rename to src/Servers/Kestrel/perf/Kestrel.Performance/Mocks/MockTrace.cs
diff --git a/benchmarks/Kestrel.Performance/Mocks/NullParser.cs b/src/Servers/Kestrel/perf/Kestrel.Performance/Mocks/NullParser.cs
similarity index 100%
rename from benchmarks/Kestrel.Performance/Mocks/NullParser.cs
rename to src/Servers/Kestrel/perf/Kestrel.Performance/Mocks/NullParser.cs
diff --git a/benchmarks/Kestrel.Performance/PipeThroughputBenchmark.cs b/src/Servers/Kestrel/perf/Kestrel.Performance/PipeThroughputBenchmark.cs
similarity index 100%
rename from benchmarks/Kestrel.Performance/PipeThroughputBenchmark.cs
rename to src/Servers/Kestrel/perf/Kestrel.Performance/PipeThroughputBenchmark.cs
diff --git a/benchmarks/Kestrel.Performance/README.md b/src/Servers/Kestrel/perf/Kestrel.Performance/README.md
similarity index 100%
rename from benchmarks/Kestrel.Performance/README.md
rename to src/Servers/Kestrel/perf/Kestrel.Performance/README.md
diff --git a/benchmarks/Kestrel.Performance/RequestParsingBenchmark.cs b/src/Servers/Kestrel/perf/Kestrel.Performance/RequestParsingBenchmark.cs
similarity index 100%
rename from benchmarks/Kestrel.Performance/RequestParsingBenchmark.cs
rename to src/Servers/Kestrel/perf/Kestrel.Performance/RequestParsingBenchmark.cs
diff --git a/benchmarks/Kestrel.Performance/RequestParsingData.cs b/src/Servers/Kestrel/perf/Kestrel.Performance/RequestParsingData.cs
similarity index 100%
rename from benchmarks/Kestrel.Performance/RequestParsingData.cs
rename to src/Servers/Kestrel/perf/Kestrel.Performance/RequestParsingData.cs
diff --git a/benchmarks/Kestrel.Performance/ResponseHeaderCollectionBenchmark.cs b/src/Servers/Kestrel/perf/Kestrel.Performance/ResponseHeaderCollectionBenchmark.cs
similarity index 100%
rename from benchmarks/Kestrel.Performance/ResponseHeaderCollectionBenchmark.cs
rename to src/Servers/Kestrel/perf/Kestrel.Performance/ResponseHeaderCollectionBenchmark.cs
diff --git a/benchmarks/Kestrel.Performance/ResponseHeadersWritingBenchmark.cs b/src/Servers/Kestrel/perf/Kestrel.Performance/ResponseHeadersWritingBenchmark.cs
similarity index 100%
rename from benchmarks/Kestrel.Performance/ResponseHeadersWritingBenchmark.cs
rename to src/Servers/Kestrel/perf/Kestrel.Performance/ResponseHeadersWritingBenchmark.cs
diff --git a/benchmarks/Kestrel.Performance/StringUtilitiesBenchmark.cs b/src/Servers/Kestrel/perf/Kestrel.Performance/StringUtilitiesBenchmark.cs
similarity index 100%
rename from benchmarks/Kestrel.Performance/StringUtilitiesBenchmark.cs
rename to src/Servers/Kestrel/perf/Kestrel.Performance/StringUtilitiesBenchmark.cs
diff --git a/benchmarkapps/PlatformBenchmarks/AsciiString.cs b/src/Servers/Kestrel/perf/PlatformBenchmarks/AsciiString.cs
similarity index 100%
rename from benchmarkapps/PlatformBenchmarks/AsciiString.cs
rename to src/Servers/Kestrel/perf/PlatformBenchmarks/AsciiString.cs
diff --git a/benchmarkapps/PlatformBenchmarks/BenchmarkApplication.cs b/src/Servers/Kestrel/perf/PlatformBenchmarks/BenchmarkApplication.cs
similarity index 100%
rename from benchmarkapps/PlatformBenchmarks/BenchmarkApplication.cs
rename to src/Servers/Kestrel/perf/PlatformBenchmarks/BenchmarkApplication.cs
diff --git a/benchmarkapps/PlatformBenchmarks/BenchmarkConfigurationHelpers.cs b/src/Servers/Kestrel/perf/PlatformBenchmarks/BenchmarkConfigurationHelpers.cs
similarity index 100%
rename from benchmarkapps/PlatformBenchmarks/BenchmarkConfigurationHelpers.cs
rename to src/Servers/Kestrel/perf/PlatformBenchmarks/BenchmarkConfigurationHelpers.cs
diff --git a/benchmarkapps/PlatformBenchmarks/DateHeader.cs b/src/Servers/Kestrel/perf/PlatformBenchmarks/DateHeader.cs
similarity index 100%
rename from benchmarkapps/PlatformBenchmarks/DateHeader.cs
rename to src/Servers/Kestrel/perf/PlatformBenchmarks/DateHeader.cs
diff --git a/benchmarkapps/PlatformBenchmarks/HttpApplication.cs b/src/Servers/Kestrel/perf/PlatformBenchmarks/HttpApplication.cs
similarity index 100%
rename from benchmarkapps/PlatformBenchmarks/HttpApplication.cs
rename to src/Servers/Kestrel/perf/PlatformBenchmarks/HttpApplication.cs
diff --git a/benchmarkapps/PlatformBenchmarks/PlatformBenchmarks.csproj b/src/Servers/Kestrel/perf/PlatformBenchmarks/PlatformBenchmarks.csproj
similarity index 52%
rename from benchmarkapps/PlatformBenchmarks/PlatformBenchmarks.csproj
rename to src/Servers/Kestrel/perf/PlatformBenchmarks/PlatformBenchmarks.csproj
index 4d4126c6885..faeef6ecb24 100644
--- a/benchmarkapps/PlatformBenchmarks/PlatformBenchmarks.csproj
+++ b/src/Servers/Kestrel/perf/PlatformBenchmarks/PlatformBenchmarks.csproj
@@ -5,22 +5,22 @@
     <OutputType>Exe</OutputType>
     <LangVersion>latest</LangVersion>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+    <IsTestAssetProject>true</IsTestAssetProject>
   </PropertyGroup>
-  
+
   <ItemGroup>
-    <PackageReference Include="Utf8Json" Version="$(Utf8JsonPackageVersion)" />
+    <Reference Include="Utf8Json" />
   </ItemGroup>
-  
+
   <!-- These references are used when running locally -->
   <ItemGroup Condition="'$(BenchmarksTargetFramework)' == ''">
-    <ProjectReference Include="..\..\src\Kestrel\Kestrel.csproj" />
-    <ProjectReference Include="..\..\src\Kestrel.Transport.Libuv\Kestrel.Transport.Libuv.csproj" />
-
-    <PackageReference Include="Microsoft.Extensions.Configuration.CommandLine" Version="$(MicrosoftExtensionsConfigurationCommandLinePackageVersion)" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv" />
+    <Reference Include="Microsoft.Extensions.Configuration.CommandLine" />
   </ItemGroup>
 
   <!-- These references are used when running on the Benchmarks Server -->
   <ItemGroup Condition="'$(BenchmarksTargetFramework)' != ''">
-    <PackageReference Include="Microsoft.AspNetCore.All" Version="$(MicrosoftAspNetCoreAllPackageVersion)" />
+    <Reference Include="Microsoft.AspNetCore.All" />
   </ItemGroup>
 </Project>
diff --git a/benchmarkapps/PlatformBenchmarks/Program.cs b/src/Servers/Kestrel/perf/PlatformBenchmarks/Program.cs
similarity index 100%
rename from benchmarkapps/PlatformBenchmarks/Program.cs
rename to src/Servers/Kestrel/perf/PlatformBenchmarks/Program.cs
diff --git a/benchmarkapps/PlatformBenchmarks/Startup.cs b/src/Servers/Kestrel/perf/PlatformBenchmarks/Startup.cs
similarity index 100%
rename from benchmarkapps/PlatformBenchmarks/Startup.cs
rename to src/Servers/Kestrel/perf/PlatformBenchmarks/Startup.cs
diff --git a/benchmarkapps/PlatformBenchmarks/benchmarks.json.json b/src/Servers/Kestrel/perf/PlatformBenchmarks/benchmarks.json.json
similarity index 100%
rename from benchmarkapps/PlatformBenchmarks/benchmarks.json.json
rename to src/Servers/Kestrel/perf/PlatformBenchmarks/benchmarks.json.json
diff --git a/benchmarkapps/PlatformBenchmarks/benchmarks.plaintext.json b/src/Servers/Kestrel/perf/PlatformBenchmarks/benchmarks.plaintext.json
similarity index 100%
rename from benchmarkapps/PlatformBenchmarks/benchmarks.plaintext.json
rename to src/Servers/Kestrel/perf/PlatformBenchmarks/benchmarks.plaintext.json
diff --git a/samples/Http2SampleApp/Dockerfile b/src/Servers/Kestrel/samples/Http2SampleApp/Dockerfile
similarity index 100%
rename from samples/Http2SampleApp/Dockerfile
rename to src/Servers/Kestrel/samples/Http2SampleApp/Dockerfile
diff --git a/samples/Http2SampleApp/Http2SampleApp.csproj b/src/Servers/Kestrel/samples/Http2SampleApp/Http2SampleApp.csproj
similarity index 59%
rename from samples/Http2SampleApp/Http2SampleApp.csproj
rename to src/Servers/Kestrel/samples/Http2SampleApp/Http2SampleApp.csproj
index cd660a6c80e..08078fe3cf4 100644
--- a/samples/Http2SampleApp/Http2SampleApp.csproj
+++ b/src/Servers/Kestrel/samples/Http2SampleApp/Http2SampleApp.csproj
@@ -1,4 +1,4 @@
-<Project Sdk="Microsoft.NET.Sdk.Web">
+<Project Sdk="Microsoft.NET.Sdk.Web">
 
   <PropertyGroup>
     <TargetFrameworks>netcoreapp2.1</TargetFrameworks>
@@ -7,11 +7,8 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <ProjectReference Include="..\..\src\Kestrel\Kestrel.csproj" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="$(MicrosoftExtensionsLoggingConsolePackageVersion)" />
+    <Reference Include="Microsoft.Extensions.Logging.Console" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel" />
   </ItemGroup>
 
   <ItemGroup>
diff --git a/samples/Http2SampleApp/Program.cs b/src/Servers/Kestrel/samples/Http2SampleApp/Program.cs
similarity index 100%
rename from samples/Http2SampleApp/Program.cs
rename to src/Servers/Kestrel/samples/Http2SampleApp/Program.cs
diff --git a/samples/Http2SampleApp/Startup.cs b/src/Servers/Kestrel/samples/Http2SampleApp/Startup.cs
similarity index 100%
rename from samples/Http2SampleApp/Startup.cs
rename to src/Servers/Kestrel/samples/Http2SampleApp/Startup.cs
diff --git a/samples/Http2SampleApp/scripts/build-docker.ps1 b/src/Servers/Kestrel/samples/Http2SampleApp/scripts/build-docker.ps1
similarity index 100%
rename from samples/Http2SampleApp/scripts/build-docker.ps1
rename to src/Servers/Kestrel/samples/Http2SampleApp/scripts/build-docker.ps1
diff --git a/samples/Http2SampleApp/scripts/build-docker.sh b/src/Servers/Kestrel/samples/Http2SampleApp/scripts/build-docker.sh
old mode 100755
new mode 100644
similarity index 100%
rename from samples/Http2SampleApp/scripts/build-docker.sh
rename to src/Servers/Kestrel/samples/Http2SampleApp/scripts/build-docker.sh
diff --git a/samples/Http2SampleApp/scripts/run-docker.ps1 b/src/Servers/Kestrel/samples/Http2SampleApp/scripts/run-docker.ps1
similarity index 100%
rename from samples/Http2SampleApp/scripts/run-docker.ps1
rename to src/Servers/Kestrel/samples/Http2SampleApp/scripts/run-docker.ps1
diff --git a/samples/Http2SampleApp/scripts/run-docker.sh b/src/Servers/Kestrel/samples/Http2SampleApp/scripts/run-docker.sh
old mode 100755
new mode 100644
similarity index 100%
rename from samples/Http2SampleApp/scripts/run-docker.sh
rename to src/Servers/Kestrel/samples/Http2SampleApp/scripts/run-docker.sh
diff --git a/samples/Http2SampleApp/testCert.pfx b/src/Servers/Kestrel/samples/Http2SampleApp/testCert.pfx
similarity index 100%
rename from samples/Http2SampleApp/testCert.pfx
rename to src/Servers/Kestrel/samples/Http2SampleApp/testCert.pfx
diff --git a/samples/LargeResponseApp/LargeResponseApp.csproj b/src/Servers/Kestrel/samples/LargeResponseApp/LargeResponseApp.csproj
similarity index 80%
rename from samples/LargeResponseApp/LargeResponseApp.csproj
rename to src/Servers/Kestrel/samples/LargeResponseApp/LargeResponseApp.csproj
index 13fab4a63ee..16d7aa18d1a 100644
--- a/samples/LargeResponseApp/LargeResponseApp.csproj
+++ b/src/Servers/Kestrel/samples/LargeResponseApp/LargeResponseApp.csproj
@@ -7,7 +7,7 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <ProjectReference Include="..\..\src\Kestrel\Kestrel.csproj" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel" />
   </ItemGroup>
 
 </Project>
diff --git a/samples/LargeResponseApp/Startup.cs b/src/Servers/Kestrel/samples/LargeResponseApp/Startup.cs
similarity index 100%
rename from samples/LargeResponseApp/Startup.cs
rename to src/Servers/Kestrel/samples/LargeResponseApp/Startup.cs
diff --git a/samples/PlaintextApp/PlaintextApp.csproj b/src/Servers/Kestrel/samples/PlaintextApp/PlaintextApp.csproj
similarity index 80%
rename from samples/PlaintextApp/PlaintextApp.csproj
rename to src/Servers/Kestrel/samples/PlaintextApp/PlaintextApp.csproj
index 238983e4f8f..f2c0c8a8202 100644
--- a/samples/PlaintextApp/PlaintextApp.csproj
+++ b/src/Servers/Kestrel/samples/PlaintextApp/PlaintextApp.csproj
@@ -7,7 +7,7 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <ProjectReference Include="..\..\src\Kestrel\Kestrel.csproj" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel" />
   </ItemGroup>
 
 </Project>
diff --git a/samples/PlaintextApp/Startup.cs b/src/Servers/Kestrel/samples/PlaintextApp/Startup.cs
similarity index 100%
rename from samples/PlaintextApp/Startup.cs
rename to src/Servers/Kestrel/samples/PlaintextApp/Startup.cs
diff --git a/samples/SampleApp/SampleApp.csproj b/src/Servers/Kestrel/samples/SampleApp/SampleApp.csproj
similarity index 61%
rename from samples/SampleApp/SampleApp.csproj
rename to src/Servers/Kestrel/samples/SampleApp/SampleApp.csproj
index 036867ebc12..fff5a6c3bd5 100644
--- a/samples/SampleApp/SampleApp.csproj
+++ b/src/Servers/Kestrel/samples/SampleApp/SampleApp.csproj
@@ -7,14 +7,11 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <ProjectReference Include="..\..\src\Kestrel\Kestrel.csproj" />
-    <ProjectReference Include="..\..\src\Kestrel.Https\Kestrel.Https.csproj" />
-    <ProjectReference Include="..\..\src\Kestrel.Transport.Libuv\Kestrel.Transport.Libuv.csproj" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="$(MicrosoftExtensionsConfigurationJsonPackageVersion)" />
-    <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="$(MicrosoftExtensionsLoggingConsolePackageVersion)" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel.Https" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel" />
+    <Reference Include="Microsoft.Extensions.Configuration.Json" />
+    <Reference Include="Microsoft.Extensions.Logging.Console" />
   </ItemGroup>
 
   <ItemGroup>
diff --git a/samples/SampleApp/Startup.cs b/src/Servers/Kestrel/samples/SampleApp/Startup.cs
similarity index 100%
rename from samples/SampleApp/Startup.cs
rename to src/Servers/Kestrel/samples/SampleApp/Startup.cs
diff --git a/samples/SampleApp/appsettings.Development.json b/src/Servers/Kestrel/samples/SampleApp/appsettings.Development.json
similarity index 100%
rename from samples/SampleApp/appsettings.Development.json
rename to src/Servers/Kestrel/samples/SampleApp/appsettings.Development.json
diff --git a/samples/SampleApp/appsettings.Production.json b/src/Servers/Kestrel/samples/SampleApp/appsettings.Production.json
similarity index 100%
rename from samples/SampleApp/appsettings.Production.json
rename to src/Servers/Kestrel/samples/SampleApp/appsettings.Production.json
diff --git a/samples/SampleApp/appsettings.json b/src/Servers/Kestrel/samples/SampleApp/appsettings.json
similarity index 100%
rename from samples/SampleApp/appsettings.json
rename to src/Servers/Kestrel/samples/SampleApp/appsettings.json
diff --git a/samples/SampleApp/testCert.pfx b/src/Servers/Kestrel/samples/SampleApp/testCert.pfx
similarity index 100%
rename from samples/SampleApp/testCert.pfx
rename to src/Servers/Kestrel/samples/SampleApp/testCert.pfx
diff --git a/samples/SystemdTestApp/Startup.cs b/src/Servers/Kestrel/samples/SystemdTestApp/Startup.cs
similarity index 100%
rename from samples/SystemdTestApp/Startup.cs
rename to src/Servers/Kestrel/samples/SystemdTestApp/Startup.cs
diff --git a/samples/SystemdTestApp/SystemdTestApp.csproj b/src/Servers/Kestrel/samples/SystemdTestApp/SystemdTestApp.csproj
similarity index 57%
rename from samples/SystemdTestApp/SystemdTestApp.csproj
rename to src/Servers/Kestrel/samples/SystemdTestApp/SystemdTestApp.csproj
index 28c159a38e8..a9bd0733b25 100644
--- a/samples/SystemdTestApp/SystemdTestApp.csproj
+++ b/src/Servers/Kestrel/samples/SystemdTestApp/SystemdTestApp.csproj
@@ -7,12 +7,9 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <ProjectReference Include="..\..\src\Kestrel\Kestrel.csproj" />
-    <ProjectReference Include="..\..\src\Kestrel.Transport.Libuv\Kestrel.Transport.Libuv.csproj" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="$(MicrosoftExtensionsLoggingConsolePackageVersion)" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv" />
+    <Reference Include="Microsoft.Extensions.Logging.Console" />
   </ItemGroup>
 
   <ItemGroup>
diff --git a/samples/SystemdTestApp/testCert.pfx b/src/Servers/Kestrel/samples/SystemdTestApp/testCert.pfx
similarity index 100%
rename from samples/SystemdTestApp/testCert.pfx
rename to src/Servers/Kestrel/samples/SystemdTestApp/testCert.pfx
diff --git a/src/shared/ThrowHelper.cs b/src/Servers/Kestrel/shared/src/ThrowHelper.cs
similarity index 100%
rename from src/shared/ThrowHelper.cs
rename to src/Servers/Kestrel/shared/src/ThrowHelper.cs
diff --git a/test/shared/DisposableStack.cs b/src/Servers/Kestrel/shared/test/DisposableStack.cs
similarity index 100%
rename from test/shared/DisposableStack.cs
rename to src/Servers/Kestrel/shared/test/DisposableStack.cs
diff --git a/test/shared/DummyApplication.cs b/src/Servers/Kestrel/shared/test/DummyApplication.cs
similarity index 100%
rename from test/shared/DummyApplication.cs
rename to src/Servers/Kestrel/shared/test/DummyApplication.cs
diff --git a/test/shared/EventRaisingResourceCounter.cs b/src/Servers/Kestrel/shared/test/EventRaisingResourceCounter.cs
similarity index 100%
rename from test/shared/EventRaisingResourceCounter.cs
rename to src/Servers/Kestrel/shared/test/EventRaisingResourceCounter.cs
diff --git a/test/shared/HttpParsingData.cs b/src/Servers/Kestrel/shared/test/HttpParsingData.cs
similarity index 100%
rename from test/shared/HttpParsingData.cs
rename to src/Servers/Kestrel/shared/test/HttpParsingData.cs
diff --git a/test/shared/KestrelTestLoggerProvider.cs b/src/Servers/Kestrel/shared/test/KestrelTestLoggerProvider.cs
similarity index 100%
rename from test/shared/KestrelTestLoggerProvider.cs
rename to src/Servers/Kestrel/shared/test/KestrelTestLoggerProvider.cs
diff --git a/test/shared/LifetimeNotImplemented.cs b/src/Servers/Kestrel/shared/test/LifetimeNotImplemented.cs
similarity index 100%
rename from test/shared/LifetimeNotImplemented.cs
rename to src/Servers/Kestrel/shared/test/LifetimeNotImplemented.cs
diff --git a/test/shared/MockLogger.cs b/src/Servers/Kestrel/shared/test/MockLogger.cs
similarity index 100%
rename from test/shared/MockLogger.cs
rename to src/Servers/Kestrel/shared/test/MockLogger.cs
diff --git a/test/shared/MockSystemClock.cs b/src/Servers/Kestrel/shared/test/MockSystemClock.cs
similarity index 100%
rename from test/shared/MockSystemClock.cs
rename to src/Servers/Kestrel/shared/test/MockSystemClock.cs
diff --git a/test/shared/PassThroughConnectionAdapter.cs b/src/Servers/Kestrel/shared/test/PassThroughConnectionAdapter.cs
similarity index 100%
rename from test/shared/PassThroughConnectionAdapter.cs
rename to src/Servers/Kestrel/shared/test/PassThroughConnectionAdapter.cs
diff --git a/test/shared/StringExtensions.cs b/src/Servers/Kestrel/shared/test/StringExtensions.cs
similarity index 100%
rename from test/shared/StringExtensions.cs
rename to src/Servers/Kestrel/shared/test/StringExtensions.cs
diff --git a/test/shared/TaskTimeoutExtensions.cs b/src/Servers/Kestrel/shared/test/TaskTimeoutExtensions.cs
similarity index 100%
rename from test/shared/TaskTimeoutExtensions.cs
rename to src/Servers/Kestrel/shared/test/TaskTimeoutExtensions.cs
diff --git a/test/shared/TestApp.cs b/src/Servers/Kestrel/shared/test/TestApp.cs
similarity index 100%
rename from test/shared/TestApp.cs
rename to src/Servers/Kestrel/shared/test/TestApp.cs
diff --git a/test/shared/TestApplicationErrorLogger.cs b/src/Servers/Kestrel/shared/test/TestApplicationErrorLogger.cs
similarity index 100%
rename from test/shared/TestApplicationErrorLogger.cs
rename to src/Servers/Kestrel/shared/test/TestApplicationErrorLogger.cs
diff --git a/test/shared/TestCertificates/aspnetdevcert.pfx b/src/Servers/Kestrel/shared/test/TestCertificates/aspnetdevcert.pfx
similarity index 100%
rename from test/shared/TestCertificates/aspnetdevcert.pfx
rename to src/Servers/Kestrel/shared/test/TestCertificates/aspnetdevcert.pfx
diff --git a/test/shared/TestCertificates/eku.client.ini b/src/Servers/Kestrel/shared/test/TestCertificates/eku.client.ini
similarity index 100%
rename from test/shared/TestCertificates/eku.client.ini
rename to src/Servers/Kestrel/shared/test/TestCertificates/eku.client.ini
diff --git a/test/shared/TestCertificates/eku.client.pfx b/src/Servers/Kestrel/shared/test/TestCertificates/eku.client.pfx
similarity index 100%
rename from test/shared/TestCertificates/eku.client.pfx
rename to src/Servers/Kestrel/shared/test/TestCertificates/eku.client.pfx
diff --git a/test/shared/TestCertificates/eku.code_signing.ini b/src/Servers/Kestrel/shared/test/TestCertificates/eku.code_signing.ini
similarity index 100%
rename from test/shared/TestCertificates/eku.code_signing.ini
rename to src/Servers/Kestrel/shared/test/TestCertificates/eku.code_signing.ini
diff --git a/test/shared/TestCertificates/eku.code_signing.pfx b/src/Servers/Kestrel/shared/test/TestCertificates/eku.code_signing.pfx
similarity index 100%
rename from test/shared/TestCertificates/eku.code_signing.pfx
rename to src/Servers/Kestrel/shared/test/TestCertificates/eku.code_signing.pfx
diff --git a/test/shared/TestCertificates/eku.multiple_usages.ini b/src/Servers/Kestrel/shared/test/TestCertificates/eku.multiple_usages.ini
similarity index 100%
rename from test/shared/TestCertificates/eku.multiple_usages.ini
rename to src/Servers/Kestrel/shared/test/TestCertificates/eku.multiple_usages.ini
diff --git a/test/shared/TestCertificates/eku.multiple_usages.pfx b/src/Servers/Kestrel/shared/test/TestCertificates/eku.multiple_usages.pfx
similarity index 100%
rename from test/shared/TestCertificates/eku.multiple_usages.pfx
rename to src/Servers/Kestrel/shared/test/TestCertificates/eku.multiple_usages.pfx
diff --git a/test/shared/TestCertificates/eku.server.ini b/src/Servers/Kestrel/shared/test/TestCertificates/eku.server.ini
similarity index 100%
rename from test/shared/TestCertificates/eku.server.ini
rename to src/Servers/Kestrel/shared/test/TestCertificates/eku.server.ini
diff --git a/test/shared/TestCertificates/eku.server.pfx b/src/Servers/Kestrel/shared/test/TestCertificates/eku.server.pfx
similarity index 100%
rename from test/shared/TestCertificates/eku.server.pfx
rename to src/Servers/Kestrel/shared/test/TestCertificates/eku.server.pfx
diff --git a/test/shared/TestCertificates/make-test-certs.sh b/src/Servers/Kestrel/shared/test/TestCertificates/make-test-certs.sh
old mode 100755
new mode 100644
similarity index 100%
rename from test/shared/TestCertificates/make-test-certs.sh
rename to src/Servers/Kestrel/shared/test/TestCertificates/make-test-certs.sh
diff --git a/test/shared/TestCertificates/no_extensions.ini b/src/Servers/Kestrel/shared/test/TestCertificates/no_extensions.ini
similarity index 100%
rename from test/shared/TestCertificates/no_extensions.ini
rename to src/Servers/Kestrel/shared/test/TestCertificates/no_extensions.ini
diff --git a/test/shared/TestCertificates/no_extensions.pfx b/src/Servers/Kestrel/shared/test/TestCertificates/no_extensions.pfx
similarity index 100%
rename from test/shared/TestCertificates/no_extensions.pfx
rename to src/Servers/Kestrel/shared/test/TestCertificates/no_extensions.pfx
diff --git a/test/shared/TestCertificates/testCert.pfx b/src/Servers/Kestrel/shared/test/TestCertificates/testCert.pfx
similarity index 100%
rename from test/shared/TestCertificates/testCert.pfx
rename to src/Servers/Kestrel/shared/test/TestCertificates/testCert.pfx
diff --git a/test/shared/TestConnection.cs b/src/Servers/Kestrel/shared/test/TestConnection.cs
similarity index 100%
rename from test/shared/TestConnection.cs
rename to src/Servers/Kestrel/shared/test/TestConnection.cs
diff --git a/test/shared/TestConstants.cs b/src/Servers/Kestrel/shared/test/TestConstants.cs
similarity index 100%
rename from test/shared/TestConstants.cs
rename to src/Servers/Kestrel/shared/test/TestConstants.cs
diff --git a/test/shared/TestHttp1Connection.cs b/src/Servers/Kestrel/shared/test/TestHttp1Connection.cs
similarity index 100%
rename from test/shared/TestHttp1Connection.cs
rename to src/Servers/Kestrel/shared/test/TestHttp1Connection.cs
diff --git a/test/shared/TestKestrelTrace.cs b/src/Servers/Kestrel/shared/test/TestKestrelTrace.cs
similarity index 100%
rename from test/shared/TestKestrelTrace.cs
rename to src/Servers/Kestrel/shared/test/TestKestrelTrace.cs
diff --git a/test/shared/TestResources.cs b/src/Servers/Kestrel/shared/test/TestResources.cs
similarity index 100%
rename from test/shared/TestResources.cs
rename to src/Servers/Kestrel/shared/test/TestResources.cs
diff --git a/test/shared/TestServiceContext.cs b/src/Servers/Kestrel/shared/test/TestServiceContext.cs
similarity index 100%
rename from test/shared/TestServiceContext.cs
rename to src/Servers/Kestrel/shared/test/TestServiceContext.cs
diff --git a/test/Kestrel.FunctionalTests/AddressRegistrationTests.cs b/src/Servers/Kestrel/test/FunctionalTests/AddressRegistrationTests.cs
similarity index 100%
rename from test/Kestrel.FunctionalTests/AddressRegistrationTests.cs
rename to src/Servers/Kestrel/test/FunctionalTests/AddressRegistrationTests.cs
diff --git a/test/Kestrel.FunctionalTests/BadHttpRequestTests.cs b/src/Servers/Kestrel/test/FunctionalTests/BadHttpRequestTests.cs
similarity index 100%
rename from test/Kestrel.FunctionalTests/BadHttpRequestTests.cs
rename to src/Servers/Kestrel/test/FunctionalTests/BadHttpRequestTests.cs
diff --git a/test/Kestrel.FunctionalTests/CertificateLoaderTests.cs b/src/Servers/Kestrel/test/FunctionalTests/CertificateLoaderTests.cs
similarity index 100%
rename from test/Kestrel.FunctionalTests/CertificateLoaderTests.cs
rename to src/Servers/Kestrel/test/FunctionalTests/CertificateLoaderTests.cs
diff --git a/test/Kestrel.FunctionalTests/ChunkedRequestTests.cs b/src/Servers/Kestrel/test/FunctionalTests/ChunkedRequestTests.cs
similarity index 100%
rename from test/Kestrel.FunctionalTests/ChunkedRequestTests.cs
rename to src/Servers/Kestrel/test/FunctionalTests/ChunkedRequestTests.cs
diff --git a/test/Kestrel.FunctionalTests/ChunkedResponseTests.cs b/src/Servers/Kestrel/test/FunctionalTests/ChunkedResponseTests.cs
similarity index 100%
rename from test/Kestrel.FunctionalTests/ChunkedResponseTests.cs
rename to src/Servers/Kestrel/test/FunctionalTests/ChunkedResponseTests.cs
diff --git a/test/Kestrel.FunctionalTests/ConnectionAdapterTests.cs b/src/Servers/Kestrel/test/FunctionalTests/ConnectionAdapterTests.cs
similarity index 100%
rename from test/Kestrel.FunctionalTests/ConnectionAdapterTests.cs
rename to src/Servers/Kestrel/test/FunctionalTests/ConnectionAdapterTests.cs
diff --git a/test/Kestrel.FunctionalTests/ConnectionLimitTests.cs b/src/Servers/Kestrel/test/FunctionalTests/ConnectionLimitTests.cs
similarity index 100%
rename from test/Kestrel.FunctionalTests/ConnectionLimitTests.cs
rename to src/Servers/Kestrel/test/FunctionalTests/ConnectionLimitTests.cs
diff --git a/test/Kestrel.FunctionalTests/DefaultHeaderTests.cs b/src/Servers/Kestrel/test/FunctionalTests/DefaultHeaderTests.cs
similarity index 100%
rename from test/Kestrel.FunctionalTests/DefaultHeaderTests.cs
rename to src/Servers/Kestrel/test/FunctionalTests/DefaultHeaderTests.cs
diff --git a/test/Kestrel.FunctionalTests/EventSourceTests.cs b/src/Servers/Kestrel/test/FunctionalTests/EventSourceTests.cs
similarity index 100%
rename from test/Kestrel.FunctionalTests/EventSourceTests.cs
rename to src/Servers/Kestrel/test/FunctionalTests/EventSourceTests.cs
diff --git a/test/Kestrel.FunctionalTests/GeneratedCodeTests.cs b/src/Servers/Kestrel/test/FunctionalTests/GeneratedCodeTests.cs
similarity index 77%
rename from test/Kestrel.FunctionalTests/GeneratedCodeTests.cs
rename to src/Servers/Kestrel/test/FunctionalTests/GeneratedCodeTests.cs
index bcf34ccaf95..862890542f5 100644
--- a/test/Kestrel.FunctionalTests/GeneratedCodeTests.cs
+++ b/src/Servers/Kestrel/test/FunctionalTests/GeneratedCodeTests.cs
@@ -3,6 +3,7 @@
 
 #if NETCOREAPP2_1
 using System.IO;
+using Microsoft.AspNetCore.Testing;
 using Xunit;
 
 namespace Microsoft.AspNetCore.Server.Kestrel.FunctionalTests
@@ -12,9 +13,11 @@ namespace Microsoft.AspNetCore.Server.Kestrel.FunctionalTests
         [Fact]
         public void GeneratedCodeIsUpToDate()
         {
-            const string httpHeadersGeneratedPath = "../../../../../src/Kestrel.Core/Internal/Http/HttpHeaders.Generated.cs";
-            const string httpProtocolGeneratedPath = "../../../../../src/Kestrel.Core/Internal/Http/HttpProtocol.Generated.cs";
-            const string httpUtilitiesGeneratedPath = "../../../../../src/Kestrel.Core/Internal/Infrastructure/HttpUtilities.Generated.cs";
+            var repositoryRoot = TestPathUtilities.GetSolutionRootDirectory("Microsoft.AspNetCore");
+
+            var httpHeadersGeneratedPath = Path.Combine(repositoryRoot, "src/Servers/Kestrel/Core/src/Internal/Http/HttpHeaders.Generated.cs");
+            var httpProtocolGeneratedPath = Path.Combine(repositoryRoot, "src/Servers/Kestrel/Core/src/Internal/Http/HttpProtocol.Generated.cs");
+            var httpUtilitiesGeneratedPath = Path.Combine(repositoryRoot, "src/Servers/Kestrel/Core/src/Internal/Infrastructure/HttpUtilities.Generated.cs");
 
             var testHttpHeadersGeneratedPath = Path.GetTempFileName();
             var testHttpProtocolGeneratedPath = Path.GetTempFileName();
diff --git a/test/Kestrel.FunctionalTests/HttpConnectionManagerTests.cs b/src/Servers/Kestrel/test/FunctionalTests/HttpConnectionManagerTests.cs
similarity index 100%
rename from test/Kestrel.FunctionalTests/HttpConnectionManagerTests.cs
rename to src/Servers/Kestrel/test/FunctionalTests/HttpConnectionManagerTests.cs
diff --git a/test/Kestrel.FunctionalTests/HttpProtocolSelectionTests.cs b/src/Servers/Kestrel/test/FunctionalTests/HttpProtocolSelectionTests.cs
similarity index 100%
rename from test/Kestrel.FunctionalTests/HttpProtocolSelectionTests.cs
rename to src/Servers/Kestrel/test/FunctionalTests/HttpProtocolSelectionTests.cs
diff --git a/test/Kestrel.FunctionalTests/HttpsConnectionAdapterOptionsTest.cs b/src/Servers/Kestrel/test/FunctionalTests/HttpsConnectionAdapterOptionsTest.cs
similarity index 100%
rename from test/Kestrel.FunctionalTests/HttpsConnectionAdapterOptionsTest.cs
rename to src/Servers/Kestrel/test/FunctionalTests/HttpsConnectionAdapterOptionsTest.cs
diff --git a/test/Kestrel.FunctionalTests/HttpsConnectionAdapterTests.cs b/src/Servers/Kestrel/test/FunctionalTests/HttpsConnectionAdapterTests.cs
similarity index 100%
rename from test/Kestrel.FunctionalTests/HttpsConnectionAdapterTests.cs
rename to src/Servers/Kestrel/test/FunctionalTests/HttpsConnectionAdapterTests.cs
diff --git a/test/Kestrel.FunctionalTests/HttpsTests.cs b/src/Servers/Kestrel/test/FunctionalTests/HttpsTests.cs
similarity index 100%
rename from test/Kestrel.FunctionalTests/HttpsTests.cs
rename to src/Servers/Kestrel/test/FunctionalTests/HttpsTests.cs
diff --git a/test/Kestrel.FunctionalTests/KeepAliveTimeoutTests.cs b/src/Servers/Kestrel/test/FunctionalTests/KeepAliveTimeoutTests.cs
similarity index 100%
rename from test/Kestrel.FunctionalTests/KeepAliveTimeoutTests.cs
rename to src/Servers/Kestrel/test/FunctionalTests/KeepAliveTimeoutTests.cs
diff --git a/test/Kestrel.FunctionalTests/LoggingConnectionAdapterTests.cs b/src/Servers/Kestrel/test/FunctionalTests/LoggingConnectionAdapterTests.cs
similarity index 100%
rename from test/Kestrel.FunctionalTests/LoggingConnectionAdapterTests.cs
rename to src/Servers/Kestrel/test/FunctionalTests/LoggingConnectionAdapterTests.cs
diff --git a/test/Kestrel.FunctionalTests/MaxRequestBodySizeTests.cs b/src/Servers/Kestrel/test/FunctionalTests/MaxRequestBodySizeTests.cs
similarity index 100%
rename from test/Kestrel.FunctionalTests/MaxRequestBodySizeTests.cs
rename to src/Servers/Kestrel/test/FunctionalTests/MaxRequestBodySizeTests.cs
diff --git a/test/Kestrel.FunctionalTests/MaxRequestBufferSizeTests.cs b/src/Servers/Kestrel/test/FunctionalTests/MaxRequestBufferSizeTests.cs
similarity index 100%
rename from test/Kestrel.FunctionalTests/MaxRequestBufferSizeTests.cs
rename to src/Servers/Kestrel/test/FunctionalTests/MaxRequestBufferSizeTests.cs
diff --git a/test/Kestrel.FunctionalTests/MaxRequestLineSizeTests.cs b/src/Servers/Kestrel/test/FunctionalTests/MaxRequestLineSizeTests.cs
similarity index 100%
rename from test/Kestrel.FunctionalTests/MaxRequestLineSizeTests.cs
rename to src/Servers/Kestrel/test/FunctionalTests/MaxRequestLineSizeTests.cs
diff --git a/test/Kestrel.FunctionalTests/Properties/AssemblyInfo.cs b/src/Servers/Kestrel/test/FunctionalTests/Properties/AssemblyInfo.cs
similarity index 100%
rename from test/Kestrel.FunctionalTests/Properties/AssemblyInfo.cs
rename to src/Servers/Kestrel/test/FunctionalTests/Properties/AssemblyInfo.cs
diff --git a/test/Kestrel.FunctionalTests/RequestBodyTimeoutTests.cs b/src/Servers/Kestrel/test/FunctionalTests/RequestBodyTimeoutTests.cs
similarity index 100%
rename from test/Kestrel.FunctionalTests/RequestBodyTimeoutTests.cs
rename to src/Servers/Kestrel/test/FunctionalTests/RequestBodyTimeoutTests.cs
diff --git a/test/Kestrel.FunctionalTests/RequestHeaderLimitsTests.cs b/src/Servers/Kestrel/test/FunctionalTests/RequestHeaderLimitsTests.cs
similarity index 100%
rename from test/Kestrel.FunctionalTests/RequestHeaderLimitsTests.cs
rename to src/Servers/Kestrel/test/FunctionalTests/RequestHeaderLimitsTests.cs
diff --git a/test/Kestrel.FunctionalTests/RequestHeadersTimeoutTests.cs b/src/Servers/Kestrel/test/FunctionalTests/RequestHeadersTimeoutTests.cs
similarity index 100%
rename from test/Kestrel.FunctionalTests/RequestHeadersTimeoutTests.cs
rename to src/Servers/Kestrel/test/FunctionalTests/RequestHeadersTimeoutTests.cs
diff --git a/test/Kestrel.FunctionalTests/RequestTargetProcessingTests.cs b/src/Servers/Kestrel/test/FunctionalTests/RequestTargetProcessingTests.cs
similarity index 100%
rename from test/Kestrel.FunctionalTests/RequestTargetProcessingTests.cs
rename to src/Servers/Kestrel/test/FunctionalTests/RequestTargetProcessingTests.cs
diff --git a/test/Kestrel.FunctionalTests/RequestTests.cs b/src/Servers/Kestrel/test/FunctionalTests/RequestTests.cs
similarity index 100%
rename from test/Kestrel.FunctionalTests/RequestTests.cs
rename to src/Servers/Kestrel/test/FunctionalTests/RequestTests.cs
diff --git a/test/Kestrel.FunctionalTests/ResponseTests.cs b/src/Servers/Kestrel/test/FunctionalTests/ResponseTests.cs
similarity index 100%
rename from test/Kestrel.FunctionalTests/ResponseTests.cs
rename to src/Servers/Kestrel/test/FunctionalTests/ResponseTests.cs
diff --git a/test/Kestrel.FunctionalTests/TestHelpers/HostNameIsReachableAttribute.cs b/src/Servers/Kestrel/test/FunctionalTests/TestHelpers/HostNameIsReachableAttribute.cs
similarity index 100%
rename from test/Kestrel.FunctionalTests/TestHelpers/HostNameIsReachableAttribute.cs
rename to src/Servers/Kestrel/test/FunctionalTests/TestHelpers/HostNameIsReachableAttribute.cs
diff --git a/test/Kestrel.FunctionalTests/TestHelpers/IPv6ScopeIdPresentConditionAttribute.cs b/src/Servers/Kestrel/test/FunctionalTests/TestHelpers/IPv6ScopeIdPresentConditionAttribute.cs
similarity index 100%
rename from test/Kestrel.FunctionalTests/TestHelpers/IPv6ScopeIdPresentConditionAttribute.cs
rename to src/Servers/Kestrel/test/FunctionalTests/TestHelpers/IPv6ScopeIdPresentConditionAttribute.cs
diff --git a/test/Kestrel.FunctionalTests/TestHelpers/IPv6SupportedConditionAttribute.cs b/src/Servers/Kestrel/test/FunctionalTests/TestHelpers/IPv6SupportedConditionAttribute.cs
similarity index 100%
rename from test/Kestrel.FunctionalTests/TestHelpers/IPv6SupportedConditionAttribute.cs
rename to src/Servers/Kestrel/test/FunctionalTests/TestHelpers/IPv6SupportedConditionAttribute.cs
diff --git a/test/Kestrel.FunctionalTests/TestHelpers/IWebHostPortExtensions.cs b/src/Servers/Kestrel/test/FunctionalTests/TestHelpers/IWebHostPortExtensions.cs
similarity index 100%
rename from test/Kestrel.FunctionalTests/TestHelpers/IWebHostPortExtensions.cs
rename to src/Servers/Kestrel/test/FunctionalTests/TestHelpers/IWebHostPortExtensions.cs
diff --git a/test/Kestrel.FunctionalTests/TestHelpers/TestApplicationErrorLoggerLoggedTest.cs b/src/Servers/Kestrel/test/FunctionalTests/TestHelpers/TestApplicationErrorLoggerLoggedTest.cs
similarity index 100%
rename from test/Kestrel.FunctionalTests/TestHelpers/TestApplicationErrorLoggerLoggedTest.cs
rename to src/Servers/Kestrel/test/FunctionalTests/TestHelpers/TestApplicationErrorLoggerLoggedTest.cs
diff --git a/test/Kestrel.FunctionalTests/TestHelpers/TestServer.cs b/src/Servers/Kestrel/test/FunctionalTests/TestHelpers/TestServer.cs
similarity index 100%
rename from test/Kestrel.FunctionalTests/TestHelpers/TestServer.cs
rename to src/Servers/Kestrel/test/FunctionalTests/TestHelpers/TestServer.cs
diff --git a/test/Kestrel.FunctionalTests/UpgradeTests.cs b/src/Servers/Kestrel/test/FunctionalTests/UpgradeTests.cs
similarity index 100%
rename from test/Kestrel.FunctionalTests/UpgradeTests.cs
rename to src/Servers/Kestrel/test/FunctionalTests/UpgradeTests.cs
diff --git a/src/Servers/Kestrel/test/Libuv.FunctionalTests/Libuv.FunctionalTests.csproj b/src/Servers/Kestrel/test/Libuv.FunctionalTests/Libuv.FunctionalTests.csproj
new file mode 100644
index 00000000000..a0a9254fbf0
--- /dev/null
+++ b/src/Servers/Kestrel/test/Libuv.FunctionalTests/Libuv.FunctionalTests.csproj
@@ -0,0 +1,30 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFrameworks>netcoreapp2.1;net461</TargetFrameworks>
+    <DefineConstants Condition="$([MSBuild]::IsOSPlatform('OSX'))">$(DefineConstants);MACOS</DefineConstants>
+    <ServerGarbageCollection>true</ServerGarbageCollection>
+    <!-- Put this project into its own test group to avoid running parallel with other test projects. Libuv does not play nice with other test assemblies. -->
+    <TestGroupName>Libuv.FunctionalTests</TestGroupName>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Compile Include="$(KestrelSharedSourceRoot)test\**\*.cs" />
+    <Compile Include="..\FunctionalTests\**\*.cs" />
+    <Content Include="$(KestrelSharedSourceRoot)test\TestCertificates\*.pfx" CopyToOutputDirectory="PreserveNewest" />
+  </ItemGroup>
+
+  <ItemGroup Condition="'$(TargetFrameworkIdentifier)' != '.NETFramework'">
+    <ProjectReference Include="..\..\tools\CodeGenerator\CodeGenerator.csproj" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.AspNetCore.Http.Abstractions" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel.Https" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel" />
+    <Reference Include="Microsoft.Extensions.Logging.Testing" />
+    <Reference Include="Newtonsoft.Json" />
+  </ItemGroup>
+
+</Project>
diff --git a/test/Kestrel.Transport.Libuv.FunctionalTests/ListenHandleTests.cs b/src/Servers/Kestrel/test/Libuv.FunctionalTests/ListenHandleTests.cs
similarity index 100%
rename from test/Kestrel.Transport.Libuv.FunctionalTests/ListenHandleTests.cs
rename to src/Servers/Kestrel/test/Libuv.FunctionalTests/ListenHandleTests.cs
diff --git a/test/Kestrel.Transport.Libuv.FunctionalTests/TransportSelector.cs b/src/Servers/Kestrel/test/Libuv.FunctionalTests/TransportSelector.cs
similarity index 100%
rename from test/Kestrel.Transport.Libuv.FunctionalTests/TransportSelector.cs
rename to src/Servers/Kestrel/test/Libuv.FunctionalTests/TransportSelector.cs
diff --git a/src/Servers/Kestrel/test/Sockets.FunctionalTests/Sockets.FunctionalTests.csproj b/src/Servers/Kestrel/test/Sockets.FunctionalTests/Sockets.FunctionalTests.csproj
new file mode 100644
index 00000000000..052fd78659b
--- /dev/null
+++ b/src/Servers/Kestrel/test/Sockets.FunctionalTests/Sockets.FunctionalTests.csproj
@@ -0,0 +1,29 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFrameworks>netcoreapp2.1;net461</TargetFrameworks>
+    <DefineConstants Condition="$([MSBuild]::IsOSPlatform('OSX'))">$(DefineConstants);MACOS</DefineConstants>
+    <DefineConstants>$(DefineConstants);SOCKETS</DefineConstants>
+    <ServerGarbageCollection>true</ServerGarbageCollection>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Compile Include="..\FunctionalTests\**\*.cs" />
+    <Compile Include="$(KestrelSharedSourceRoot)test\**\*.cs" />
+    <Content Include="$(KestrelSharedSourceRoot)test\TestCertificates\*.pfx" CopyToOutputDirectory="PreserveNewest" />
+  </ItemGroup>
+
+  <ItemGroup Condition="'$(TargetFrameworkIdentifier)' != '.NETFramework'">
+    <ProjectReference Include="..\..\tools\CodeGenerator\CodeGenerator.csproj" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <Reference Include="Microsoft.AspNetCore.Http.Abstractions" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel.Https" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets" />
+    <Reference Include="Microsoft.AspNetCore.Server.Kestrel" />
+    <Reference Include="Microsoft.Extensions.Logging.Testing" />
+    <Reference Include="Newtonsoft.Json" />
+  </ItemGroup>
+
+</Project>
diff --git a/test/Kestrel.Transport.Sockets.FunctionalTests/TransportSelector.cs b/src/Servers/Kestrel/test/Sockets.FunctionalTests/TransportSelector.cs
similarity index 100%
rename from test/Kestrel.Transport.Sockets.FunctionalTests/TransportSelector.cs
rename to src/Servers/Kestrel/test/Sockets.FunctionalTests/TransportSelector.cs
diff --git a/test/SystemdActivation/Dockerfile b/src/Servers/Kestrel/test/SystemdActivation/Dockerfile
similarity index 100%
rename from test/SystemdActivation/Dockerfile
rename to src/Servers/Kestrel/test/SystemdActivation/Dockerfile
diff --git a/test/SystemdActivation/docker-entrypoint.sh b/src/Servers/Kestrel/test/SystemdActivation/docker-entrypoint.sh
similarity index 100%
rename from test/SystemdActivation/docker-entrypoint.sh
rename to src/Servers/Kestrel/test/SystemdActivation/docker-entrypoint.sh
diff --git a/test/SystemdActivation/docker.sh b/src/Servers/Kestrel/test/SystemdActivation/docker.sh
similarity index 100%
rename from test/SystemdActivation/docker.sh
rename to src/Servers/Kestrel/test/SystemdActivation/docker.sh
diff --git a/tools/CodeGenerator/CodeGenerator.csproj b/src/Servers/Kestrel/tools/CodeGenerator/CodeGenerator.csproj
similarity index 58%
rename from tools/CodeGenerator/CodeGenerator.csproj
rename to src/Servers/Kestrel/tools/CodeGenerator/CodeGenerator.csproj
index c85676e21d2..3a209fea5b1 100644
--- a/tools/CodeGenerator/CodeGenerator.csproj
+++ b/src/Servers/Kestrel/tools/CodeGenerator/CodeGenerator.csproj
@@ -5,16 +5,17 @@
     <OutputType>Exe</OutputType>
     <IsPackable>false</IsPackable>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+    <IsImplementationProject>false</IsImplementationProject>
   </PropertyGroup>
 
 
   <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.Hosting" Version="$(MicrosoftAspNetCoreHostingPackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.Http.Features" Version="$(MicrosoftAspNetCoreHttpFeaturesPackageVersion)" />
+    <Reference Include="Microsoft.AspNetCore.Hosting" />
+    <Reference Include="Microsoft.AspNetCore.Http.Features" />
   </ItemGroup>
 
   <PropertyGroup>
-    <StartWorkingDirectory>$(MSBuildThisFileDirectory)..\..\src\Kestrel.Core</StartWorkingDirectory>
+    <StartWorkingDirectory>$(MSBuildThisFileDirectory)..\..\Core\src</StartWorkingDirectory>
     <StartArguments>Internal/Http/HttpHeaders.Generated.cs Internal/Http/HttpProtocol.Generated.cs Internal/Infrastructure/HttpUtilities.Generated.cs</StartArguments>
   </PropertyGroup>
 
diff --git a/tools/CodeGenerator/HttpProtocolFeatureCollection.cs b/src/Servers/Kestrel/tools/CodeGenerator/HttpProtocolFeatureCollection.cs
similarity index 100%
rename from tools/CodeGenerator/HttpProtocolFeatureCollection.cs
rename to src/Servers/Kestrel/tools/CodeGenerator/HttpProtocolFeatureCollection.cs
diff --git a/tools/CodeGenerator/HttpUtilities/CombinationsWithoutRepetition.cs b/src/Servers/Kestrel/tools/CodeGenerator/HttpUtilities/CombinationsWithoutRepetition.cs
similarity index 100%
rename from tools/CodeGenerator/HttpUtilities/CombinationsWithoutRepetition.cs
rename to src/Servers/Kestrel/tools/CodeGenerator/HttpUtilities/CombinationsWithoutRepetition.cs
diff --git a/tools/CodeGenerator/HttpUtilities/HttpUtilities.cs b/src/Servers/Kestrel/tools/CodeGenerator/HttpUtilities/HttpUtilities.cs
similarity index 100%
rename from tools/CodeGenerator/HttpUtilities/HttpUtilities.cs
rename to src/Servers/Kestrel/tools/CodeGenerator/HttpUtilities/HttpUtilities.cs
diff --git a/tools/CodeGenerator/HttpUtilities/HttpUtilitiesGeneratorHelpers.cs b/src/Servers/Kestrel/tools/CodeGenerator/HttpUtilities/HttpUtilitiesGeneratorHelpers.cs
similarity index 100%
rename from tools/CodeGenerator/HttpUtilities/HttpUtilitiesGeneratorHelpers.cs
rename to src/Servers/Kestrel/tools/CodeGenerator/HttpUtilities/HttpUtilitiesGeneratorHelpers.cs
diff --git a/tools/CodeGenerator/KnownHeaders.cs b/src/Servers/Kestrel/tools/CodeGenerator/KnownHeaders.cs
similarity index 100%
rename from tools/CodeGenerator/KnownHeaders.cs
rename to src/Servers/Kestrel/tools/CodeGenerator/KnownHeaders.cs
diff --git a/tools/CodeGenerator/Program.cs b/src/Servers/Kestrel/tools/CodeGenerator/Program.cs
similarity index 100%
rename from tools/CodeGenerator/Program.cs
rename to src/Servers/Kestrel/tools/CodeGenerator/Program.cs
diff --git a/test/xunit.runner.json b/src/Servers/Kestrel/xunit.runner.json
similarity index 100%
rename from test/xunit.runner.json
rename to src/Servers/Kestrel/xunit.runner.json
diff --git a/shared/Microsoft.Extensions.Buffers.Testing.Sources/BufferSegment.cs b/src/Shared/Buffers.Testing/BufferSegment.cs
similarity index 100%
rename from shared/Microsoft.Extensions.Buffers.Testing.Sources/BufferSegment.cs
rename to src/Shared/Buffers.Testing/BufferSegment.cs
diff --git a/shared/Microsoft.Extensions.Buffers.Testing.Sources/CustomMemoryForTest.cs b/src/Shared/Buffers.Testing/CustomMemoryForTest.cs
similarity index 100%
rename from shared/Microsoft.Extensions.Buffers.Testing.Sources/CustomMemoryForTest.cs
rename to src/Shared/Buffers.Testing/CustomMemoryForTest.cs
diff --git a/shared/Microsoft.Extensions.Buffers.Testing.Sources/ReadOnlySequenceFactory.cs b/src/Shared/Buffers.Testing/ReadOnlySequenceFactory.cs
similarity index 100%
rename from shared/Microsoft.Extensions.Buffers.Testing.Sources/ReadOnlySequenceFactory.cs
rename to src/Shared/Buffers.Testing/ReadOnlySequenceFactory.cs
diff --git a/test/Directory.Build.props b/test/Directory.Build.props
deleted file mode 100644
index 44033a6dc3a..00000000000
--- a/test/Directory.Build.props
+++ /dev/null
@@ -1,31 +0,0 @@
-<Project>
-  <Import Project="..\Directory.Build.props" />
-
-  <PropertyGroup>
-    <DeveloperBuildTestTfms>netcoreapp2.1</DeveloperBuildTestTfms>
-    <StandardTestTfms>$(DeveloperBuildTestTfms)</StandardTestTfms>
-    <StandardTestTfms Condition=" '$(DeveloperBuild)' != 'true' ">netcoreapp2.1</StandardTestTfms>
-    <StandardTestTfms Condition=" '$(DeveloperBuild)' != 'true' AND '$(OS)' == 'Windows_NT' ">$(StandardTestTfms);net461</StandardTestTfms>
-  </PropertyGroup>
-
-  <PropertyGroup>
-    <!--
-      Workaround for "Use executable flags in Microsoft.NET.Test.Sdk" (https://github.com/Microsoft/vstest/issues/792).
-      Remove when fixed.
-    -->
-    <HasRuntimeOutput>true</HasRuntimeOutput>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Internal.AspNetCore.Sdk" PrivateAssets="All" Version="$(InternalAspNetCoreSdkPackageVersion)" />
-    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="$(MicrosoftNETTestSdkPackageVersion)" />
-    <PackageReference Include="Moq" Version="$(MoqPackageVersion)" />
-    <PackageReference Include="xunit.analyzers" Version="$(XunitAnalyzersPackageVersion)" />
-    <PackageReference Include="xunit.runner.visualstudio" Version="$(XunitRunnerVisualStudioPackageVersion)" />
-    <PackageReference Include="xunit" Version="$(XunitPackageVersion)" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <None Include="$(MSBuildThisFileDirectory)xunit.runner.json" Link="xunit.runner.json" CopyToOutputDirectory="PreserveNewest" />
-  </ItemGroup>
-</Project>
diff --git a/test/Kestrel.Core.Tests/Kestrel.Core.Tests.csproj b/test/Kestrel.Core.Tests/Kestrel.Core.Tests.csproj
deleted file mode 100644
index 2074ed65267..00000000000
--- a/test/Kestrel.Core.Tests/Kestrel.Core.Tests.csproj
+++ /dev/null
@@ -1,29 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-  <PropertyGroup>
-    <AssemblyName>Microsoft.AspNetCore.Server.Kestrel.Core.Tests</AssemblyName>
-    <RootNamespace>Microsoft.AspNetCore.Server.Kestrel.Core.Tests</RootNamespace>
-    <TargetFrameworks>$(StandardTestTfms)</TargetFrameworks>
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <Compile Include="..\shared\**\*.cs" />
-    <Compile Include="..\..\shared\Microsoft.Extensions.Buffers.Testing.Sources\*.cs" />
-    <Content Include="..\shared\TestCertificates\*.pfx" CopyToOutputDirectory="PreserveNewest" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\..\src\Kestrel.Core\Kestrel.Core.csproj" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="$(MicrosoftExtensionsDependencyInjectionPackageVersion)" />
-    <PackageReference Include="Microsoft.Extensions.Logging" Version="$(MicrosoftExtensionsLoggingPackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.Testing" Version="$(MicrosoftAspNetCoreTestingPackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.Http" Version="$(MicrosoftAspNetCoreHttpPackageVersion)" />
-    <PackageReference Include="System.Memory" Version="$(SystemMemoryPackageVersion)" />
-    <PackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="$(SystemRuntimeCompilerServicesUnsafePackageVersion)" />
-  </ItemGroup>
-
-</Project>
diff --git a/test/Kestrel.Tests/Kestrel.Tests.csproj b/test/Kestrel.Tests/Kestrel.Tests.csproj
deleted file mode 100644
index d383f39603f..00000000000
--- a/test/Kestrel.Tests/Kestrel.Tests.csproj
+++ /dev/null
@@ -1,20 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-  <PropertyGroup>
-    <AssemblyName>Microsoft.AspNetCore.Server.Kestrel.Tests</AssemblyName>
-    <RootNamespace>Microsoft.AspNetCore.Server.Kestrel.Tests</RootNamespace>
-    <TargetFrameworks>$(StandardTestTfms)</TargetFrameworks>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <Compile Include="..\shared\**\*.cs" />
-    <Content Include="..\shared\TestCertificates\*.pfx" CopyToOutputDirectory="PreserveNewest" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\..\src\Kestrel\Kestrel.csproj" />
-    <ProjectReference Include="..\..\src\Kestrel.Transport.Libuv\Kestrel.Transport.Libuv.csproj" />
-    <PackageReference Include="Microsoft.AspNetCore.Testing" Version="$(MicrosoftAspNetCoreTestingPackageVersion)" />
-  </ItemGroup>
-
-</Project>
diff --git a/test/Kestrel.Transport.Libuv.FunctionalTests/Kestrel.Transport.Libuv.FunctionalTests.csproj b/test/Kestrel.Transport.Libuv.FunctionalTests/Kestrel.Transport.Libuv.FunctionalTests.csproj
deleted file mode 100644
index 4e48a8d6665..00000000000
--- a/test/Kestrel.Transport.Libuv.FunctionalTests/Kestrel.Transport.Libuv.FunctionalTests.csproj
+++ /dev/null
@@ -1,36 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-  <PropertyGroup>
-    <AssemblyName>Libuv.FunctionalTests</AssemblyName>
-    <RootNamespace>Libuv.FunctionalTests</RootNamespace>
-    <TargetFrameworks>$(StandardTestTfms)</TargetFrameworks>
-    <DefineConstants Condition="$([MSBuild]::IsOSPlatform('OSX'))">$(DefineConstants);MACOS</DefineConstants>
-    <ServerGarbageCollection>true</ServerGarbageCollection>
-    <!-- Put this project into its own test group to avoid running parallel with other test projects. Libuv does not play nice with other test assemblies. -->
-    <TestGroupName>Libuv.FunctionalTests</TestGroupName>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <Compile Include="..\shared\**\*.cs" />
-    <Compile Include="..\Kestrel.FunctionalTests\**\*.cs" />
-    <Content Include="..\shared\TestCertificates\*.pfx" CopyToOutputDirectory="PreserveNewest" />
-  </ItemGroup>
-
-  <ItemGroup Condition="'$(TargetFramework)' != 'net461'">
-    <ProjectReference Include="..\..\tools\CodeGenerator\CodeGenerator.csproj" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\..\src\Kestrel\Kestrel.csproj" />
-    <ProjectReference Include="..\..\src\Kestrel.Transport.Libuv\Kestrel.Transport.Libuv.csproj" />
-    <ProjectReference Include="..\..\src\Kestrel.Https\Kestrel.Https.csproj" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.Http.Abstractions" Version="$(MicrosoftAspNetCoreHttpAbstractionsPackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.Testing" Version="$(MicrosoftAspNetCoreTestingPackageVersion)" />
-    <PackageReference Include="Microsoft.Extensions.Logging.Testing" Version="$(MicrosoftExtensionsLoggingTestingPackageVersion)" />
-    <PackageReference Include="Newtonsoft.Json" Version="$(NewtonsoftJsonPackageVersion)" />
-  </ItemGroup>
-
-</Project>
diff --git a/test/Kestrel.Transport.Libuv.Tests/Kestrel.Transport.Libuv.Tests.csproj b/test/Kestrel.Transport.Libuv.Tests/Kestrel.Transport.Libuv.Tests.csproj
deleted file mode 100644
index ef4f1d77425..00000000000
--- a/test/Kestrel.Transport.Libuv.Tests/Kestrel.Transport.Libuv.Tests.csproj
+++ /dev/null
@@ -1,26 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-  <PropertyGroup>
-    <AssemblyName>Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Tests</AssemblyName>
-    <RootNamespace>Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Tests</RootNamespace>
-    <TargetFrameworks>$(StandardTestTfms)</TargetFrameworks>
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <ServerGarbageCollection>true</ServerGarbageCollection>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <Compile Include="..\shared\**\*.cs" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\..\src\Kestrel.Core\Kestrel.Core.csproj" />
-    <ProjectReference Include="..\..\src\Kestrel.Transport.Libuv\Kestrel.Transport.Libuv.csproj" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.Extensions.Logging" Version="$(MicrosoftExtensionsLoggingPackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.Http" Version="$(MicrosoftAspNetCoreHttpPackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.Testing" Version="$(MicrosoftAspNetCoreTestingPackageVersion)" />
-  </ItemGroup>
-
-</Project>
diff --git a/test/Kestrel.Transport.Sockets.FunctionalTests/Kestrel.Transport.Sockets.FunctionalTests.csproj b/test/Kestrel.Transport.Sockets.FunctionalTests/Kestrel.Transport.Sockets.FunctionalTests.csproj
deleted file mode 100644
index ca79f38600e..00000000000
--- a/test/Kestrel.Transport.Sockets.FunctionalTests/Kestrel.Transport.Sockets.FunctionalTests.csproj
+++ /dev/null
@@ -1,35 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-  <PropertyGroup>
-    <AssemblyName>Sockets.FunctionalTests</AssemblyName>
-    <RootNamespace>Sockets.FunctionalTests</RootNamespace>
-    <TargetFrameworks>$(StandardTestTfms)</TargetFrameworks>
-    <DefineConstants Condition="$([MSBuild]::IsOSPlatform('OSX'))">$(DefineConstants);MACOS</DefineConstants>
-    <DefineConstants>$(DefineConstants);SOCKETS</DefineConstants>
-    <ServerGarbageCollection>true</ServerGarbageCollection>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <Compile Include="..\shared\**\*.cs" />
-    <Compile Include="..\Kestrel.FunctionalTests\**\*.cs" />
-    <Content Include="..\shared\TestCertificates\*.pfx" CopyToOutputDirectory="PreserveNewest" />
-  </ItemGroup>
-
-  <ItemGroup Condition="'$(TargetFramework)' != 'net461'">
-    <ProjectReference Include="..\..\tools\CodeGenerator\CodeGenerator.csproj" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <ProjectReference Include="..\..\src\Kestrel\Kestrel.csproj" />
-    <ProjectReference Include="..\..\src\Kestrel.Transport.Sockets\Kestrel.Transport.Sockets.csproj" />
-    <ProjectReference Include="..\..\src\Kestrel.Https\Kestrel.Https.csproj" />
-  </ItemGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.Http.Abstractions" Version="$(MicrosoftAspNetCoreHttpAbstractionsPackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.Testing" Version="$(MicrosoftAspNetCoreTestingPackageVersion)" />
-    <PackageReference Include="Microsoft.Extensions.Logging.Testing" Version="$(MicrosoftExtensionsLoggingTestingPackageVersion)" />
-    <PackageReference Include="Newtonsoft.Json" Version="$(NewtonsoftJsonPackageVersion)" />
-  </ItemGroup>
-
-</Project>
diff --git a/version.props b/version.props
deleted file mode 100644
index 8d05c92ab89..00000000000
--- a/version.props
+++ /dev/null
@@ -1,12 +0,0 @@
-<Project>
-  <PropertyGroup>
-    <VersionPrefix>2.1.3</VersionPrefix>
-    <VersionSuffix>rtm</VersionSuffix>
-    <PackageVersion Condition="'$(IsFinalBuild)' == 'true' AND '$(VersionSuffix)' == 'rtm' ">$(VersionPrefix)</PackageVersion>
-    <PackageVersion Condition="'$(IsFinalBuild)' == 'true' AND '$(VersionSuffix)' != 'rtm' ">$(VersionPrefix)-$(VersionSuffix)-final</PackageVersion>
-    <BuildNumber Condition="'$(BuildNumber)' == ''">t000</BuildNumber>
-    <FeatureBranchVersionPrefix Condition="'$(FeatureBranchVersionPrefix)' == ''">a-</FeatureBranchVersionPrefix>
-    <VersionSuffix Condition="'$(VersionSuffix)' != '' And '$(FeatureBranchVersionSuffix)' != ''">$(FeatureBranchVersionPrefix)$(VersionSuffix)-$([System.Text.RegularExpressions.Regex]::Replace('$(FeatureBranchVersionSuffix)', '[^\w-]', '-'))</VersionSuffix>
-    <VersionSuffix Condition="'$(VersionSuffix)' != '' And '$(BuildNumber)' != ''">$(VersionSuffix)-$(BuildNumber)</VersionSuffix>
-  </PropertyGroup>
-</Project>
-- 
GitLab