diff --git a/.appveyor.yml b/.appveyor.yml
deleted file mode 100644
index bb08c43646..0000000000
--- a/.appveyor.yml
+++ /dev/null
@@ -1,27 +0,0 @@
-init:
- # Reset dynamic port range from AppVeyor setting (1025-65535) to Windows default (49152-65535),
- # to prevent conflicts with ANCM random ports (1025-48000).
- - netsh int ipv4 show dynamicport tcp
- - netsh int ipv4 set dynamic tcp start=49152 num=16384
- - netsh int ipv4 show dynamicport tcp
-
- - git config --global core.autocrlf true
-branches:
- only:
- - dev
- - /^release\/.*$/
- - /^(.*\/)?ci-.*$/
-install:
- - ps: .\tools\update_schema.ps1
- - git submodule update --init --recursive
- - net start w3svc
-build_script:
- - ps: .\run.ps1 default-build /p:SkipIISBackwardsCompatibilityTests=true /p:SkipIISForwardsCompatibilityTests=true
-clone_depth: 1
-environment:
- global:
- DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
- DOTNET_CLI_TELEMETRY_OPTOUT: 1
-test: off
-deploy: off
-os: Visual Studio 2017
diff --git a/.editorconfig b/.editorconfig
deleted file mode 100644
index 17d90aec31..0000000000
--- a/.editorconfig
+++ /dev/null
@@ -1,24 +0,0 @@
-# EditorConfig is awesome:http://EditorConfig.org
-
-# top-most EditorConfig file
-root = true
-
-[*]
-indent_style = space
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
-
-[*.cs]
-indent_size = 4
-dotnet_sort_system_directives_first = true:warning
-
-# Xml files
-[*.{csproj,config,props,targets,ruleset,config,resx,xml}]
-indent_size = 2
-
-[*.{json, yml}]
-indent_size = 2
-
-[*.{ps1,sh}]
-indent_size = 4
diff --git a/.gitattributes b/.gitattributes
deleted file mode 100644
index 204c7323a3..0000000000
--- a/.gitattributes
+++ /dev/null
@@ -1,53 +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
-*.rc text=auto
-
-*.vcxproj text=auto
-*.csproj text=auto
-*.vbproj text=auto
-*.fsproj text=auto
-*.dbproj text=auto
-*.sln text=auto eol=crlf
-*.sh eol=lf
diff --git a/.gitmodules b/.gitmodules
deleted file mode 100644
index 42ecc5d6c7..0000000000
--- a/.gitmodules
+++ /dev/null
@@ -1,3 +0,0 @@
-[submodule "test/gtest/googletest"]
- path = test/gtest/googletest
- url = https://github.com/google/googletest
diff --git a/.vsts-pipelines/builds/ci-internal-21.yml b/.vsts-pipelines/builds/ci-internal-21.yml
deleted file mode 100644
index afb252eae8..0000000000
--- a/.vsts-pipelines/builds/ci-internal-21.yml
+++ /dev/null
@@ -1,30 +0,0 @@
-trigger:
-- release/2.2
-
-resources:
- repositories:
- - repository: buildtools
- type: git
- name: aspnet-BuildTools
- ref: refs/heads/release/2.2
-
-phases:
-- template: .azure\templates\jobs\default-build.yml@buildtools
- parameters:
- agentOs: Windows
- codeSign: false
- buildArgs: /p:BuildServerIIS21=true /p:SkipIISExpressTests=true /p:SkipIISBackwardsCompatibilityTests=true /p:SkipIISForwardsCompatibilityTests=true
- beforeBuild:
- - powershell: "& ./tools/UpdateIISExpressCertificate.ps1; & ./tools/update_schema.ps1; & ./tools/SetupTestEnvironment.ps1 SetupDumps"
- displayName: Prepare repo
- afterBuild:
- - powershell: "& ./tools/SetupTestEnvironment.ps1 Shutdown"
- displayName: Stop AppVerifier
- condition: always()
- - task: PublishBuildArtifacts@1
- displayName: Upload logs
- condition: eq(variables['system.pullrequest.isfork'], false)
- inputs:
- artifactName: logs
- artifactType: Container
- pathtoPublish: artifacts/logs
\ No newline at end of file
diff --git a/.vsts-pipelines/builds/ci-internal.yml b/.vsts-pipelines/builds/ci-internal.yml
deleted file mode 100644
index 260baf4536..0000000000
--- a/.vsts-pipelines/builds/ci-internal.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-trigger:
-- master
-- release/*
-
-resources:
- repositories:
- - repository: buildtools
- type: git
- name: aspnet-BuildTools
- ref: refs/heads/release/2.2
-
-phases:
-- template: ../templates/build-steps.yml
diff --git a/.vsts-pipelines/builds/ci-public.yml b/.vsts-pipelines/builds/ci-public.yml
deleted file mode 100644
index 0ed1a241ab..0000000000
--- a/.vsts-pipelines/builds/ci-public.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-trigger:
-- master
-- release/*
-
-# See https://github.com/aspnet/BuildTools
-resources:
- repositories:
- - repository: buildtools
- type: github
- endpoint: DotNet-Bot GitHub Connection
- name: aspnet/BuildTools
- ref: refs/heads/release/2.2
-
-phases:
-- template: ../templates/build-steps.yml
diff --git a/.vsts-pipelines/templates/build-steps.yml b/.vsts-pipelines/templates/build-steps.yml
deleted file mode 100644
index 4db5633ddc..0000000000
--- a/.vsts-pipelines/templates/build-steps.yml
+++ /dev/null
@@ -1,88 +0,0 @@
-phases:
-- template: .vsts-pipelines/templates/phases/default-build.yml@buildtools
- parameters:
- agentOs: Windows
- phaseName: IIS_Express_Tests
- buildArgs: /p:SkipIISBackwardsCompatibilityTests=true /p:SkipIISTests=true /p:SkipIISForwardsCompatibilityTests=true
- beforeBuild:
- - powershell: "& ./tools/UpdateIISExpressCertificate.ps1; & ./tools/update_schema.ps1; & ./tools/SetupTestEnvironment.ps1 Setup"
- displayName: Prepare repo
- afterBuild:
- - powershell: "& ./tools/SetupTestEnvironment.ps1 Shutdown"
- displayName: Stop AppVerifier
- condition: always()
- - task: PublishBuildArtifacts@1
- displayName: Upload logs
- condition: eq(variables['system.pullrequest.isfork'], false)
- inputs:
- artifactName: logs
- artifactType: Container
- pathtoPublish: artifacts/logs
-
-- template: .vsts-pipelines/templates/phases/default-build.yml@buildtools
- parameters:
- agentOs: Windows
- phaseName: IIS_Tests
- buildArgs: /p:SkipIISBackwardsCompatibilityTests=true /p:SkipIISExpressTests=true /p:SkipIISForwardsCompatibilityTests=true
- beforeBuild:
- - powershell: "& ./tools/UpdateIISExpressCertificate.ps1; & ./tools/update_schema.ps1; & ./tools/SetupTestEnvironment.ps1 Setup"
- displayName: Prepare repo
- afterBuild:
- - powershell: "& ./tools/SetupTestEnvironment.ps1 Shutdown"
- displayName: Stop AppVerifier
- condition: always()
- - task: PublishBuildArtifacts@1
- displayName: Upload logs
- condition: eq(variables['system.pullrequest.isfork'], false)
- inputs:
- artifactName: logs
- artifactType: Container
- pathtoPublish: artifacts/logs
-
-- template: .vsts-pipelines/templates/phases/default-build.yml@buildtools
- parameters:
- agentOs: Windows
- phaseName: IIS_BackCompat_Tests
- buildArgs: /p:SkipIISTests=true /p:SkipIISExpressTests=true /p:SkipIISForwardsCompatibilityTests=true
- beforeBuild:
- - powershell: "& ./tools/UpdateIISExpressCertificate.ps1; & ./tools/update_schema.ps1; & ./tools/SetupTestEnvironment.ps1 Setup"
- displayName: Prepare repo
- afterBuild:
- - powershell: "& ./tools/SetupTestEnvironment.ps1 Shutdown"
- displayName: Stop AppVerifier
- condition: always()
- - task: PublishBuildArtifacts@1
- displayName: Upload logs
- condition: eq(variables['system.pullrequest.isfork'], false)
- inputs:
- artifactName: logs
- artifactType: Container
- pathtoPublish: artifacts/logs
-
-- template: .vsts-pipelines/templates/phases/default-build.yml@buildtools
- parameters:
- agentOs: Windows
- phaseName: IIS_ForwardsCompat_Tests
- buildArgs: /p:SkipIISTests=true /p:SkipIISExpressTests=true /p:SkipIISBackwardsCompatibilityTests=true
- beforeBuild:
- - powershell: "& ./tools/UpdateIISExpressCertificate.ps1; & ./tools/update_schema.ps1; & ./tools/SetupTestEnvironment.ps1 Setup"
- displayName: Prepare repo
- afterBuild:
- - powershell: "& ./tools/SetupTestEnvironment.ps1 Shutdown"
- displayName: Stop AppVerifier
- condition: always()
- - task: PublishBuildArtifacts@1
- displayName: Upload logs
- condition: eq(variables['system.pullrequest.isfork'], false)
- inputs:
- artifactName: logs
- artifactType: Container
- pathtoPublish: artifacts/logs
-
-- template: .vsts-pipelines/templates/phases/default-build.yml@buildtools
- parameters:
- agentOs: macOS
-
-- template: .vsts-pipelines/templates/phases/default-build.yml@buildtools
- parameters:
- agentOs: Linux
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
deleted file mode 100644
index eac4268e4c..0000000000
--- 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/master/CONTRIBUTING.md) in the Home repo.
diff --git a/LICENSE.txt b/LICENSE.txt
deleted file mode 100644
index 1508c66d70..0000000000
--- a/LICENSE.txt
+++ /dev/null
@@ -1,228 +0,0 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright (c) .NET Foundation and Contributors
-
- 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.
-
-
-=========================
-
-ASP.NET Core Module
-
-Copyright (c) .NET Foundation
-All rights reserved.
-
-MIT License
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the ""Software""), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
-the Software, and to permit persons to whom the Software is furnished to do so,
-subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
-FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
-COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/NuGet.config b/NuGet.config
deleted file mode 100644
index e32bddfd51..0000000000
--- a/NuGet.config
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/README.md b/README.md
deleted file mode 100644
index 217e6fe345..0000000000
--- a/README.md
+++ /dev/null
@@ -1,18 +0,0 @@
-ASP.NET Core IISIntegration
-========
-This repo hosts the ASP.NET Core middleware for IIS integration and the ASP.NET Core Module.
-
-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
-1. Install prerequisites
- 1. Visual Studio 2017
- 1. Workload: `Desktop development with C++`
- 1. Run `run.ps1 install vs` or install the following components
- 1. Additional Component: `Windows 8.1 SDK and UCRT SDK`
- 2. Additional Component: `Windows 10 SDK (10.0.15063.0) for Desktop C++ [x86 and x64]`
- 2. Workload: `ASP.NET and web development`
-2. Clone with submodules
- 1. `git clone --recurse-submodules IISIntegration`
- 2. OR run `git submodule update --init --recursive` after initial clone
-3. `build.cmd`
diff --git a/THIRD_PARTY_NOTICES b/THIRD_PARTY_NOTICES
deleted file mode 100644
index 12e1c32746..0000000000
--- a/THIRD_PARTY_NOTICES
+++ /dev/null
@@ -1,42 +0,0 @@
-.NET Core uses third-party libraries or other resources that may be
-distributed under licenses different than the .NET Core software.
-
-In the event that we accidentally failed to list a required notice, please
-bring it to our attention. Post an issue or email us:
-
- dotnet@microsoft.com
-
-The attached notices are provided for information only.
-
-
-License notice for googletest
-------------------------------------
-
-"Copyright 2008, Google Inc.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
- * Redistributions of source code must retain the above copyright
-notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the following disclaimer
-in the documentation and/or other materials provided with the
-distribution.
- * Neither the name of Google Inc. nor the names of its
-contributors may be used to endorse or promote products derived from
-this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
diff --git a/build.cmd b/build.cmd
deleted file mode 100644
index c0050bda12..0000000000
--- 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 98a4b22765..0000000000
--- 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/korebuild-lock.txt b/korebuild-lock.txt
deleted file mode 100644
index 0055dcb41f..0000000000
--- a/korebuild-lock.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-version:2.2.0-preview2-20181019.5
-commithash:84a1c04b13bd7127728fee91989db8f2f58c8781
diff --git a/mv_to_src.sh b/mv_to_src.sh
new file mode 100644
index 0000000000..2360a52087
--- /dev/null
+++ b/mv_to_src.sh
@@ -0,0 +1,35 @@
+#!/bin/bash
+
+dir="$(pwd)"
+name="IISIntegration"
+
+if [ "$skip_src" != false ]; then
+ echo "Moving $dir into src/$name/"
+ if [ -d "src/" ]; then
+ git mv src/ src_tmp/
+ fi
+ mkdir -p "src/$name"
+ if [ -d "src_tmp/" ]; then
+ git mv src_tmp/ "src/$name/src/"
+ fi
+fi
+
+files_to_mv=(NuGetPackageVerifier.json .gitignore README.md version.props Directory.Build.props Directory.Build.targets *.sln shared test tools samples build NuGet benchmarks korebuild.json nuget)
+for f in "${files_to_mv[@]}"; do
+ if [ -e $f ]; then
+ echo "Moving $f"
+ git mv $f "src/$name/$f"
+ fi
+done
+
+files_to_rm=(build.sh build.cmd run.cmd run.sh run.ps1 NuGet.config korebuild-lock.txt .github .vsts-pipelines .vscode .appveyor.yml .travis.yml CONTRIBUTING.md)
+for f in "${files_to_rm[@]}"; do
+ if [ -e $f ]; then
+ echo "Removing $f"
+ git rm -r $f
+ fi
+done
+
+echo "Reorganize source code from aspnet/$name into a subfolder" > .git/COMMIT_EDITMSG
+echo "" >> .git/COMMIT_EDITMSG
+echo "Prior to reorg, this source existed at https://github.com/aspnet/$name/tree/$(git rev-parse HEAD)" >> .git/COMMIT_EDITMSG
\ No newline at end of file
diff --git a/run.cmd b/run.cmd
deleted file mode 100644
index d52d5c7e68..0000000000
--- 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 34604c7175..0000000000
--- a/run.ps1
+++ /dev/null
@@ -1,209 +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/master/tools/korebuild.schema.json",
- "channel": "master",
- "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 'Microsoft.PowerShell.Archive\Expand-Archive' -ErrorAction Ignore) {
- # Use built-in commands where possible as they are cross-plat compatible
- Microsoft.PowerShell.Archive\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-Host -ForegroundColor Red $Error[0]
- Write-Error "$ConfigFile contains invalid JSON."
- exit 1
- }
-}
-
-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 = 'master' }
-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 4c1fed5646..0000000000
--- a/run.sh
+++ /dev/null
@@ -1,256 +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] [[--] ...]"
- echo ""
- echo "Arguments:"
- echo " command The command to be run."
- echo " ... Arguments passed to the command. Variable number of arguments allowed."
- echo ""
- echo "Options:"
- echo " --verbose Show verbose output."
- echo " -c|--channel The channel of KoreBuild to download. Overrides the value from the config file.."
- echo " --config-file The path to the configuration file that stores values. Defaults to korebuild.json."
- echo " -d|--dotnet-home The directory where .NET Core tools will be stored. Defaults to '\$DOTNET_HOME' or '\$HOME/.dotnet."
- echo " --path The directory to build. Defaults to the directory containing the script."
- echo " -s|--tools-source|-ToolsSource The base url where build tools can be downloaded. Overrides the value from the config file."
- echo " --tools-source-suffix|-ToolsSourceSuffix 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|-[Cc][Ii])
- 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
- __error "$config_file contains invalid JSON."
- exit 1
- 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
- __error "$config_file contains invalid JSON."
- exit 1
- fi
- elif __machine_has python3 ; then
- if python3 -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'))" >/dev/null ; then
- config_channel="$(python3 -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="$(python3 -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'));print(obj['toolsSource'] if 'toolsSource' in obj else '')")"
- else
- __error "$config_file contains invalid JSON."
- exit 1
- fi
- else
- __error 'Missing required command: jq or python. Could not parse the JSON file.'
- exit 1
- fi
-
- [ ! -z "${config_channel:-}" ] && channel="$config_channel"
- [ ! -z "${config_tools_source:-}" ] && tools_source="$config_tools_source"
-fi
-
-[ -z "$channel" ] && channel='master'
-[ -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/.gitignore b/src/IISIntegration/.gitignore
similarity index 100%
rename from .gitignore
rename to src/IISIntegration/.gitignore
diff --git a/Directory.Build.props b/src/IISIntegration/Directory.Build.props
similarity index 100%
rename from Directory.Build.props
rename to src/IISIntegration/Directory.Build.props
diff --git a/Directory.Build.targets b/src/IISIntegration/Directory.Build.targets
similarity index 100%
rename from Directory.Build.targets
rename to src/IISIntegration/Directory.Build.targets
diff --git a/IISIntegration.NoV1.sln b/src/IISIntegration/IISIntegration.NoV1.sln
similarity index 100%
rename from IISIntegration.NoV1.sln
rename to src/IISIntegration/IISIntegration.NoV1.sln
diff --git a/IISIntegration.sln b/src/IISIntegration/IISIntegration.sln
similarity index 100%
rename from IISIntegration.sln
rename to src/IISIntegration/IISIntegration.sln
diff --git a/NuGetPackageVerifier.json b/src/IISIntegration/NuGetPackageVerifier.json
similarity index 100%
rename from NuGetPackageVerifier.json
rename to src/IISIntegration/NuGetPackageVerifier.json
diff --git a/NuGetPackageVerifier.xplat.json b/src/IISIntegration/NuGetPackageVerifier.xplat.json
similarity index 100%
rename from NuGetPackageVerifier.xplat.json
rename to src/IISIntegration/NuGetPackageVerifier.xplat.json
diff --git a/benchmarks/IIS.Performance/FirstRequestConfig.cs b/src/IISIntegration/benchmarks/IIS.Performance/FirstRequestConfig.cs
similarity index 100%
rename from benchmarks/IIS.Performance/FirstRequestConfig.cs
rename to src/IISIntegration/benchmarks/IIS.Performance/FirstRequestConfig.cs
diff --git a/benchmarks/IIS.Performance/IIS.Performance.csproj b/src/IISIntegration/benchmarks/IIS.Performance/IIS.Performance.csproj
similarity index 100%
rename from benchmarks/IIS.Performance/IIS.Performance.csproj
rename to src/IISIntegration/benchmarks/IIS.Performance/IIS.Performance.csproj
diff --git a/benchmarks/IIS.Performance/PlaintextBenchmark.cs b/src/IISIntegration/benchmarks/IIS.Performance/PlaintextBenchmark.cs
similarity index 100%
rename from benchmarks/IIS.Performance/PlaintextBenchmark.cs
rename to src/IISIntegration/benchmarks/IIS.Performance/PlaintextBenchmark.cs
diff --git a/benchmarks/IIS.Performance/StartupTimeBenchmark.cs b/src/IISIntegration/benchmarks/IIS.Performance/StartupTimeBenchmark.cs
similarity index 100%
rename from benchmarks/IIS.Performance/StartupTimeBenchmark.cs
rename to src/IISIntegration/benchmarks/IIS.Performance/StartupTimeBenchmark.cs
diff --git a/build/Build.Settings b/src/IISIntegration/build/Build.Settings
similarity index 100%
rename from build/Build.Settings
rename to src/IISIntegration/build/Build.Settings
diff --git a/build/Config.Definitions.Props b/src/IISIntegration/build/Config.Definitions.Props
similarity index 100%
rename from build/Config.Definitions.Props
rename to src/IISIntegration/build/Config.Definitions.Props
diff --git a/build/Key.snk b/src/IISIntegration/build/Key.snk
similarity index 100%
rename from build/Key.snk
rename to src/IISIntegration/build/Key.snk
diff --git a/build/applicationhost.config b/src/IISIntegration/build/applicationhost.config
similarity index 100%
rename from build/applicationhost.config
rename to src/IISIntegration/build/applicationhost.config
diff --git a/build/applicationhost.iis.config b/src/IISIntegration/build/applicationhost.iis.config
similarity index 100%
rename from build/applicationhost.iis.config
rename to src/IISIntegration/build/applicationhost.iis.config
diff --git a/build/assets.props b/src/IISIntegration/build/assets.props
similarity index 100%
rename from build/assets.props
rename to src/IISIntegration/build/assets.props
diff --git a/build/buildpipeline/pipeline.groovy b/src/IISIntegration/build/buildpipeline/pipeline.groovy
similarity index 96%
rename from build/buildpipeline/pipeline.groovy
rename to src/IISIntegration/build/buildpipeline/pipeline.groovy
index 7ccbca0b2a..13fd8d9add 100644
--- a/build/buildpipeline/pipeline.groovy
+++ b/src/IISIntegration/build/buildpipeline/pipeline.groovy
@@ -1,18 +1,18 @@
-import org.dotnet.ci.pipelines.Pipeline
-
-def windowsPipeline = Pipeline.createPipeline(this, 'build/buildpipeline/windows.groovy')
-
-def configurations = [
- 'Debug',
- 'Release'
-]
-
-configurations.each { configuration ->
-
- def params = [
- 'Configuration': configuration
- ]
-
- windowsPipeline.triggerPipelineOnEveryGithubPR("Windows ${configuration} x64 Build", params)
- windowsPipeline.triggerPipelineOnGithubPush(params)
-}
+import org.dotnet.ci.pipelines.Pipeline
+
+def windowsPipeline = Pipeline.createPipeline(this, 'build/buildpipeline/windows.groovy')
+
+def configurations = [
+ 'Debug',
+ 'Release'
+]
+
+configurations.each { configuration ->
+
+ def params = [
+ 'Configuration': configuration
+ ]
+
+ windowsPipeline.triggerPipelineOnEveryGithubPR("Windows ${configuration} x64 Build", params)
+ windowsPipeline.triggerPipelineOnGithubPush(params)
+}
diff --git a/build/buildpipeline/windows-appverif.groovy b/src/IISIntegration/build/buildpipeline/windows-appverif.groovy
similarity index 100%
rename from build/buildpipeline/windows-appverif.groovy
rename to src/IISIntegration/build/buildpipeline/windows-appverif.groovy
diff --git a/build/buildpipeline/windows.groovy b/src/IISIntegration/build/buildpipeline/windows.groovy
similarity index 98%
rename from build/buildpipeline/windows.groovy
rename to src/IISIntegration/build/buildpipeline/windows.groovy
index e3efa6193f..c482e84079 100644
--- a/build/buildpipeline/windows.groovy
+++ b/src/IISIntegration/build/buildpipeline/windows.groovy
@@ -1,15 +1,15 @@
-@Library('dotnet-ci') _
-
-// 'node' indicates to Jenkins that the enclosed block runs on a node that matches
-// the label 'windows-with-vs'
-simpleNode('Windows.10.Amd64.EnterpriseRS3.ASPNET.Open') {
- stage ('Checking out source') {
- checkout scm
- bat 'git submodule update --init --recursive'
- }
- stage ('Build') {
- def logFolder = getLogFolder()
- def environment = "\$env:ASPNETCORE_TEST_LOG_DIR='${WORKSPACE}\\${logFolder}'"
- bat "powershell -NoProfile -NoLogo -ExecutionPolicy unrestricted -Command \"${environment};&.\\tools\\SetupTestEnvironment.ps1 SetupDumps;&.\\tools\\update_schema.ps1;&.\\tools\\UpdateIISExpressCertificate.ps1;&.\\run.cmd -CI default-build /p:SkipIISBackwardsCompatibilityTests=true /p:SkipIISForwardsCompatibilityTests=true /p:Configuration=${params.Configuration}\";"
- }
-}
+@Library('dotnet-ci') _
+
+// 'node' indicates to Jenkins that the enclosed block runs on a node that matches
+// the label 'windows-with-vs'
+simpleNode('Windows.10.Amd64.EnterpriseRS3.ASPNET.Open') {
+ stage ('Checking out source') {
+ checkout scm
+ bat 'git submodule update --init --recursive'
+ }
+ stage ('Build') {
+ def logFolder = getLogFolder()
+ def environment = "\$env:ASPNETCORE_TEST_LOG_DIR='${WORKSPACE}\\${logFolder}'"
+ bat "powershell -NoProfile -NoLogo -ExecutionPolicy unrestricted -Command \"${environment};&.\\tools\\SetupTestEnvironment.ps1 SetupDumps;&.\\tools\\update_schema.ps1;&.\\tools\\UpdateIISExpressCertificate.ps1;&.\\run.cmd -CI default-build /p:SkipIISBackwardsCompatibilityTests=true /p:SkipIISForwardsCompatibilityTests=true /p:Configuration=${params.Configuration}\";"
+ }
+}
diff --git a/build/dependencies.props b/src/IISIntegration/build/dependencies.props
similarity index 100%
rename from build/dependencies.props
rename to src/IISIntegration/build/dependencies.props
diff --git a/build/functional-test-assets.targets b/src/IISIntegration/build/functional-test-assets.targets
similarity index 100%
rename from build/functional-test-assets.targets
rename to src/IISIntegration/build/functional-test-assets.targets
diff --git a/build/launchSettings.json b/src/IISIntegration/build/launchSettings.json
similarity index 100%
rename from build/launchSettings.json
rename to src/IISIntegration/build/launchSettings.json
diff --git a/build/native.targets b/src/IISIntegration/build/native.targets
similarity index 100%
rename from build/native.targets
rename to src/IISIntegration/build/native.targets
diff --git a/build/repo.props b/src/IISIntegration/build/repo.props
similarity index 100%
rename from build/repo.props
rename to src/IISIntegration/build/repo.props
diff --git a/build/repo.targets b/src/IISIntegration/build/repo.targets
similarity index 100%
rename from build/repo.targets
rename to src/IISIntegration/build/repo.targets
diff --git a/build/sources.props b/src/IISIntegration/build/sources.props
similarity index 100%
rename from build/sources.props
rename to src/IISIntegration/build/sources.props
diff --git a/build/testsite.props b/src/IISIntegration/build/testsite.props
similarity index 100%
rename from build/testsite.props
rename to src/IISIntegration/build/testsite.props
diff --git a/korebuild.json b/src/IISIntegration/korebuild.json
similarity index 100%
rename from korebuild.json
rename to src/IISIntegration/korebuild.json
diff --git a/nuget/Microsoft.AspNetCore.AspNetCoreModule.nuspec b/src/IISIntegration/nuget/Microsoft.AspNetCore.AspNetCoreModule.nuspec
similarity index 100%
rename from nuget/Microsoft.AspNetCore.AspNetCoreModule.nuspec
rename to src/IISIntegration/nuget/Microsoft.AspNetCore.AspNetCoreModule.nuspec
diff --git a/nuget/Microsoft.AspNetCore.AspNetCoreModule.props b/src/IISIntegration/nuget/Microsoft.AspNetCore.AspNetCoreModule.props
similarity index 100%
rename from nuget/Microsoft.AspNetCore.AspNetCoreModule.props
rename to src/IISIntegration/nuget/Microsoft.AspNetCore.AspNetCoreModule.props
diff --git a/nuget/Microsoft.AspNetCore.AspNetCoreModuleV2.nuspec b/src/IISIntegration/nuget/Microsoft.AspNetCore.AspNetCoreModuleV2.nuspec
similarity index 100%
rename from nuget/Microsoft.AspNetCore.AspNetCoreModuleV2.nuspec
rename to src/IISIntegration/nuget/Microsoft.AspNetCore.AspNetCoreModuleV2.nuspec
diff --git a/nuget/Microsoft.AspNetCore.AspNetCoreModuleV2.props.in b/src/IISIntegration/nuget/Microsoft.AspNetCore.AspNetCoreModuleV2.props.in
similarity index 100%
rename from nuget/Microsoft.AspNetCore.AspNetCoreModuleV2.props.in
rename to src/IISIntegration/nuget/Microsoft.AspNetCore.AspNetCoreModuleV2.props.in
diff --git a/samples/IISSample/IISSample.csproj b/src/IISIntegration/samples/IISSample/IISSample.csproj
similarity index 100%
rename from samples/IISSample/IISSample.csproj
rename to src/IISIntegration/samples/IISSample/IISSample.csproj
diff --git a/samples/IISSample/Properties/launchSettings.json b/src/IISIntegration/samples/IISSample/Properties/launchSettings.json
similarity index 100%
rename from samples/IISSample/Properties/launchSettings.json
rename to src/IISIntegration/samples/IISSample/Properties/launchSettings.json
diff --git a/samples/IISSample/Startup.cs b/src/IISIntegration/samples/IISSample/Startup.cs
similarity index 100%
rename from samples/IISSample/Startup.cs
rename to src/IISIntegration/samples/IISSample/Startup.cs
diff --git a/samples/IISSample/web.config b/src/IISIntegration/samples/IISSample/web.config
similarity index 100%
rename from samples/IISSample/web.config
rename to src/IISIntegration/samples/IISSample/web.config
diff --git a/samples/NativeIISSample/NativeIISSample.csproj b/src/IISIntegration/samples/NativeIISSample/NativeIISSample.csproj
similarity index 100%
rename from samples/NativeIISSample/NativeIISSample.csproj
rename to src/IISIntegration/samples/NativeIISSample/NativeIISSample.csproj
diff --git a/samples/NativeIISSample/Properties/launchSettings.json b/src/IISIntegration/samples/NativeIISSample/Properties/launchSettings.json
similarity index 100%
rename from samples/NativeIISSample/Properties/launchSettings.json
rename to src/IISIntegration/samples/NativeIISSample/Properties/launchSettings.json
diff --git a/samples/NativeIISSample/Startup.cs b/src/IISIntegration/samples/NativeIISSample/Startup.cs
similarity index 100%
rename from samples/NativeIISSample/Startup.cs
rename to src/IISIntegration/samples/NativeIISSample/Startup.cs
diff --git a/samples/NativeIISSample/web.config b/src/IISIntegration/samples/NativeIISSample/web.config
similarity index 100%
rename from samples/NativeIISSample/web.config
rename to src/IISIntegration/samples/NativeIISSample/web.config
diff --git a/src/AspNetCoreModuleV1/AspNetCore/AspNetCore.vcxproj b/src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/AspNetCore.vcxproj
similarity index 100%
rename from src/AspNetCoreModuleV1/AspNetCore/AspNetCore.vcxproj
rename to src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/AspNetCore.vcxproj
diff --git a/src/AspNetCoreModuleV1/AspNetCore/Inc/application.h b/src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/Inc/application.h
similarity index 100%
rename from src/AspNetCoreModuleV1/AspNetCore/Inc/application.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/Inc/application.h
diff --git a/src/AspNetCoreModuleV1/AspNetCore/Inc/applicationmanager.h b/src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/Inc/applicationmanager.h
similarity index 100%
rename from src/AspNetCoreModuleV1/AspNetCore/Inc/applicationmanager.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/Inc/applicationmanager.h
diff --git a/src/AspNetCoreModuleV1/AspNetCore/Inc/aspnetcoreconfig.h b/src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/Inc/aspnetcoreconfig.h
similarity index 100%
rename from src/AspNetCoreModuleV1/AspNetCore/Inc/aspnetcoreconfig.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/Inc/aspnetcoreconfig.h
diff --git a/src/AspNetCoreModuleV1/AspNetCore/Inc/debugutil.h b/src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/Inc/debugutil.h
similarity index 100%
rename from src/AspNetCoreModuleV1/AspNetCore/Inc/debugutil.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/Inc/debugutil.h
diff --git a/src/AspNetCoreModuleV1/AspNetCore/Inc/environmentvariablehash.h b/src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/Inc/environmentvariablehash.h
similarity index 100%
rename from src/AspNetCoreModuleV1/AspNetCore/Inc/environmentvariablehash.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/Inc/environmentvariablehash.h
diff --git a/src/AspNetCoreModuleV1/AspNetCore/Inc/filewatcher.h b/src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/Inc/filewatcher.h
similarity index 100%
rename from src/AspNetCoreModuleV1/AspNetCore/Inc/filewatcher.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/Inc/filewatcher.h
diff --git a/src/AspNetCoreModuleV1/AspNetCore/Inc/forwarderconnection.h b/src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/Inc/forwarderconnection.h
similarity index 100%
rename from src/AspNetCoreModuleV1/AspNetCore/Inc/forwarderconnection.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/Inc/forwarderconnection.h
diff --git a/src/AspNetCoreModuleV1/AspNetCore/Inc/forwardinghandler.h b/src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/Inc/forwardinghandler.h
similarity index 100%
rename from src/AspNetCoreModuleV1/AspNetCore/Inc/forwardinghandler.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/Inc/forwardinghandler.h
diff --git a/src/AspNetCoreModuleV1/AspNetCore/Inc/path.h b/src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/Inc/path.h
similarity index 100%
rename from src/AspNetCoreModuleV1/AspNetCore/Inc/path.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/Inc/path.h
diff --git a/src/AspNetCoreModuleV1/AspNetCore/Inc/processmanager.h b/src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/Inc/processmanager.h
similarity index 100%
rename from src/AspNetCoreModuleV1/AspNetCore/Inc/processmanager.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/Inc/processmanager.h
diff --git a/src/AspNetCoreModuleV1/AspNetCore/Inc/protocolconfig.h b/src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/Inc/protocolconfig.h
similarity index 100%
rename from src/AspNetCoreModuleV1/AspNetCore/Inc/protocolconfig.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/Inc/protocolconfig.h
diff --git a/src/AspNetCoreModuleV1/AspNetCore/Inc/proxymodule.h b/src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/Inc/proxymodule.h
similarity index 100%
rename from src/AspNetCoreModuleV1/AspNetCore/Inc/proxymodule.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/Inc/proxymodule.h
diff --git a/src/AspNetCoreModuleV1/AspNetCore/Inc/resource.h b/src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/Inc/resource.h
similarity index 100%
rename from src/AspNetCoreModuleV1/AspNetCore/Inc/resource.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/Inc/resource.h
diff --git a/src/AspNetCoreModuleV1/AspNetCore/Inc/responseheaderhash.h b/src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/Inc/responseheaderhash.h
similarity index 100%
rename from src/AspNetCoreModuleV1/AspNetCore/Inc/responseheaderhash.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/Inc/responseheaderhash.h
diff --git a/src/AspNetCoreModuleV1/AspNetCore/Inc/serverprocess.h b/src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/Inc/serverprocess.h
similarity index 100%
rename from src/AspNetCoreModuleV1/AspNetCore/Inc/serverprocess.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/Inc/serverprocess.h
diff --git a/src/AspNetCoreModuleV1/AspNetCore/Inc/sttimer.h b/src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/Inc/sttimer.h
similarity index 100%
rename from src/AspNetCoreModuleV1/AspNetCore/Inc/sttimer.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/Inc/sttimer.h
diff --git a/src/AspNetCoreModuleV1/AspNetCore/Inc/websockethandler.h b/src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/Inc/websockethandler.h
similarity index 100%
rename from src/AspNetCoreModuleV1/AspNetCore/Inc/websockethandler.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/Inc/websockethandler.h
diff --git a/src/AspNetCoreModuleV1/AspNetCore/Inc/winhttphelper.h b/src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/Inc/winhttphelper.h
similarity index 100%
rename from src/AspNetCoreModuleV1/AspNetCore/Inc/winhttphelper.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/Inc/winhttphelper.h
diff --git a/src/AspNetCoreModuleV1/AspNetCore/Source.def b/src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/Source.def
similarity index 100%
rename from src/AspNetCoreModuleV1/AspNetCore/Source.def
rename to src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/Source.def
diff --git a/src/AspNetCoreModuleV1/AspNetCore/aspnetcore_msg.mc b/src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/aspnetcore_msg.mc
similarity index 100%
rename from src/AspNetCoreModuleV1/AspNetCore/aspnetcore_msg.mc
rename to src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/aspnetcore_msg.mc
diff --git a/src/AspNetCoreModuleV1/AspNetCore/aspnetcoremodule.rc b/src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/aspnetcoremodule.rc
similarity index 100%
rename from src/AspNetCoreModuleV1/AspNetCore/aspnetcoremodule.rc
rename to src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/aspnetcoremodule.rc
diff --git a/src/AspNetCoreModuleV1/AspNetCore/resource.h b/src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/resource.h
similarity index 100%
rename from src/AspNetCoreModuleV1/AspNetCore/resource.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/resource.h
diff --git a/src/AspNetCoreModuleV1/AspNetCore/src/application.cxx b/src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/src/application.cxx
similarity index 100%
rename from src/AspNetCoreModuleV1/AspNetCore/src/application.cxx
rename to src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/src/application.cxx
diff --git a/src/AspNetCoreModuleV1/AspNetCore/src/applicationmanager.cxx b/src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/src/applicationmanager.cxx
similarity index 100%
rename from src/AspNetCoreModuleV1/AspNetCore/src/applicationmanager.cxx
rename to src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/src/applicationmanager.cxx
diff --git a/src/AspNetCoreModuleV1/AspNetCore/src/aspnetcoreconfig.cxx b/src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/src/aspnetcoreconfig.cxx
similarity index 100%
rename from src/AspNetCoreModuleV1/AspNetCore/src/aspnetcoreconfig.cxx
rename to src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/src/aspnetcoreconfig.cxx
diff --git a/src/AspNetCoreModuleV1/AspNetCore/src/filewatcher.cxx b/src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/src/filewatcher.cxx
similarity index 100%
rename from src/AspNetCoreModuleV1/AspNetCore/src/filewatcher.cxx
rename to src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/src/filewatcher.cxx
diff --git a/src/AspNetCoreModuleV1/AspNetCore/src/forwarderconnection.cxx b/src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/src/forwarderconnection.cxx
similarity index 100%
rename from src/AspNetCoreModuleV1/AspNetCore/src/forwarderconnection.cxx
rename to src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/src/forwarderconnection.cxx
diff --git a/src/AspNetCoreModuleV1/AspNetCore/src/forwardinghandler.cxx b/src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/src/forwardinghandler.cxx
similarity index 100%
rename from src/AspNetCoreModuleV1/AspNetCore/src/forwardinghandler.cxx
rename to src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/src/forwardinghandler.cxx
diff --git a/src/AspNetCoreModuleV1/AspNetCore/src/main.cxx b/src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/src/main.cxx
similarity index 100%
rename from src/AspNetCoreModuleV1/AspNetCore/src/main.cxx
rename to src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/src/main.cxx
diff --git a/src/AspNetCoreModuleV1/AspNetCore/src/path.cxx b/src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/src/path.cxx
similarity index 100%
rename from src/AspNetCoreModuleV1/AspNetCore/src/path.cxx
rename to src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/src/path.cxx
diff --git a/src/AspNetCoreModuleV1/AspNetCore/src/precomp.hxx b/src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/src/precomp.hxx
similarity index 100%
rename from src/AspNetCoreModuleV1/AspNetCore/src/precomp.hxx
rename to src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/src/precomp.hxx
diff --git a/src/AspNetCoreModuleV1/AspNetCore/src/processmanager.cxx b/src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/src/processmanager.cxx
similarity index 100%
rename from src/AspNetCoreModuleV1/AspNetCore/src/processmanager.cxx
rename to src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/src/processmanager.cxx
diff --git a/src/AspNetCoreModuleV1/AspNetCore/src/protocolconfig.cxx b/src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/src/protocolconfig.cxx
similarity index 100%
rename from src/AspNetCoreModuleV1/AspNetCore/src/protocolconfig.cxx
rename to src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/src/protocolconfig.cxx
diff --git a/src/AspNetCoreModuleV1/AspNetCore/src/proxymodule.cxx b/src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/src/proxymodule.cxx
similarity index 100%
rename from src/AspNetCoreModuleV1/AspNetCore/src/proxymodule.cxx
rename to src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/src/proxymodule.cxx
diff --git a/src/AspNetCoreModuleV1/AspNetCore/src/responseheaderhash.cxx b/src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/src/responseheaderhash.cxx
similarity index 100%
rename from src/AspNetCoreModuleV1/AspNetCore/src/responseheaderhash.cxx
rename to src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/src/responseheaderhash.cxx
diff --git a/src/AspNetCoreModuleV1/AspNetCore/src/serverprocess.cxx b/src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/src/serverprocess.cxx
similarity index 100%
rename from src/AspNetCoreModuleV1/AspNetCore/src/serverprocess.cxx
rename to src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/src/serverprocess.cxx
diff --git a/src/AspNetCoreModuleV1/AspNetCore/src/websockethandler.cxx b/src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/src/websockethandler.cxx
similarity index 100%
rename from src/AspNetCoreModuleV1/AspNetCore/src/websockethandler.cxx
rename to src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/src/websockethandler.cxx
diff --git a/src/AspNetCoreModuleV1/AspNetCore/src/winhttphelper.cxx b/src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/src/winhttphelper.cxx
similarity index 100%
rename from src/AspNetCoreModuleV1/AspNetCore/src/winhttphelper.cxx
rename to src/IISIntegration/src/AspNetCoreModuleV1/AspNetCore/src/winhttphelper.cxx
diff --git a/src/AspNetCoreModuleV1/IISLib/IISLib.vcxproj b/src/IISIntegration/src/AspNetCoreModuleV1/IISLib/IISLib.vcxproj
similarity index 100%
rename from src/AspNetCoreModuleV1/IISLib/IISLib.vcxproj
rename to src/IISIntegration/src/AspNetCoreModuleV1/IISLib/IISLib.vcxproj
diff --git a/src/AspNetCoreModuleV1/IISLib/acache.cxx b/src/IISIntegration/src/AspNetCoreModuleV1/IISLib/acache.cxx
similarity index 100%
rename from src/AspNetCoreModuleV1/IISLib/acache.cxx
rename to src/IISIntegration/src/AspNetCoreModuleV1/IISLib/acache.cxx
diff --git a/src/AspNetCoreModuleV1/IISLib/acache.h b/src/IISIntegration/src/AspNetCoreModuleV1/IISLib/acache.h
similarity index 100%
rename from src/AspNetCoreModuleV1/IISLib/acache.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/IISLib/acache.h
diff --git a/src/AspNetCoreModuleV1/IISLib/ahutil.cpp b/src/IISIntegration/src/AspNetCoreModuleV1/IISLib/ahutil.cpp
similarity index 100%
rename from src/AspNetCoreModuleV1/IISLib/ahutil.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV1/IISLib/ahutil.cpp
diff --git a/src/AspNetCoreModuleV1/IISLib/ahutil.h b/src/IISIntegration/src/AspNetCoreModuleV1/IISLib/ahutil.h
similarity index 100%
rename from src/AspNetCoreModuleV1/IISLib/ahutil.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/IISLib/ahutil.h
diff --git a/src/AspNetCoreModuleV1/IISLib/base64.cpp b/src/IISIntegration/src/AspNetCoreModuleV1/IISLib/base64.cpp
similarity index 100%
rename from src/AspNetCoreModuleV1/IISLib/base64.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV1/IISLib/base64.cpp
diff --git a/src/AspNetCoreModuleV1/IISLib/base64.h b/src/IISIntegration/src/AspNetCoreModuleV1/IISLib/base64.h
similarity index 100%
rename from src/AspNetCoreModuleV1/IISLib/base64.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/IISLib/base64.h
diff --git a/src/AspNetCoreModuleV1/IISLib/buffer.h b/src/IISIntegration/src/AspNetCoreModuleV1/IISLib/buffer.h
similarity index 100%
rename from src/AspNetCoreModuleV1/IISLib/buffer.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/IISLib/buffer.h
diff --git a/src/AspNetCoreModuleV1/IISLib/datetime.h b/src/IISIntegration/src/AspNetCoreModuleV1/IISLib/datetime.h
similarity index 100%
rename from src/AspNetCoreModuleV1/IISLib/datetime.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/IISLib/datetime.h
diff --git a/src/AspNetCoreModuleV1/IISLib/dbgutil.h b/src/IISIntegration/src/AspNetCoreModuleV1/IISLib/dbgutil.h
similarity index 100%
rename from src/AspNetCoreModuleV1/IISLib/dbgutil.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/IISLib/dbgutil.h
diff --git a/src/AspNetCoreModuleV1/IISLib/hashfn.h b/src/IISIntegration/src/AspNetCoreModuleV1/IISLib/hashfn.h
similarity index 100%
rename from src/AspNetCoreModuleV1/IISLib/hashfn.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/IISLib/hashfn.h
diff --git a/src/AspNetCoreModuleV1/IISLib/hashtable.h b/src/IISIntegration/src/AspNetCoreModuleV1/IISLib/hashtable.h
similarity index 100%
rename from src/AspNetCoreModuleV1/IISLib/hashtable.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/IISLib/hashtable.h
diff --git a/src/AspNetCoreModuleV1/IISLib/listentry.h b/src/IISIntegration/src/AspNetCoreModuleV1/IISLib/listentry.h
similarity index 100%
rename from src/AspNetCoreModuleV1/IISLib/listentry.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/IISLib/listentry.h
diff --git a/src/AspNetCoreModuleV1/IISLib/macros.h b/src/IISIntegration/src/AspNetCoreModuleV1/IISLib/macros.h
similarity index 100%
rename from src/AspNetCoreModuleV1/IISLib/macros.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/IISLib/macros.h
diff --git a/src/AspNetCoreModuleV1/IISLib/multisz.cpp b/src/IISIntegration/src/AspNetCoreModuleV1/IISLib/multisz.cpp
similarity index 100%
rename from src/AspNetCoreModuleV1/IISLib/multisz.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV1/IISLib/multisz.cpp
diff --git a/src/AspNetCoreModuleV1/IISLib/multisz.h b/src/IISIntegration/src/AspNetCoreModuleV1/IISLib/multisz.h
similarity index 100%
rename from src/AspNetCoreModuleV1/IISLib/multisz.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/IISLib/multisz.h
diff --git a/src/AspNetCoreModuleV1/IISLib/multisza.cpp b/src/IISIntegration/src/AspNetCoreModuleV1/IISLib/multisza.cpp
similarity index 100%
rename from src/AspNetCoreModuleV1/IISLib/multisza.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV1/IISLib/multisza.cpp
diff --git a/src/AspNetCoreModuleV1/IISLib/multisza.h b/src/IISIntegration/src/AspNetCoreModuleV1/IISLib/multisza.h
similarity index 100%
rename from src/AspNetCoreModuleV1/IISLib/multisza.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/IISLib/multisza.h
diff --git a/src/AspNetCoreModuleV1/IISLib/ntassert.h b/src/IISIntegration/src/AspNetCoreModuleV1/IISLib/ntassert.h
similarity index 100%
rename from src/AspNetCoreModuleV1/IISLib/ntassert.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/IISLib/ntassert.h
diff --git a/src/AspNetCoreModuleV1/IISLib/percpu.h b/src/IISIntegration/src/AspNetCoreModuleV1/IISLib/percpu.h
similarity index 100%
rename from src/AspNetCoreModuleV1/IISLib/percpu.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/IISLib/percpu.h
diff --git a/src/AspNetCoreModuleV1/IISLib/precomp.h b/src/IISIntegration/src/AspNetCoreModuleV1/IISLib/precomp.h
similarity index 100%
rename from src/AspNetCoreModuleV1/IISLib/precomp.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/IISLib/precomp.h
diff --git a/src/AspNetCoreModuleV1/IISLib/prime.h b/src/IISIntegration/src/AspNetCoreModuleV1/IISLib/prime.h
similarity index 100%
rename from src/AspNetCoreModuleV1/IISLib/prime.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/IISLib/prime.h
diff --git a/src/AspNetCoreModuleV1/IISLib/pudebug.h b/src/IISIntegration/src/AspNetCoreModuleV1/IISLib/pudebug.h
similarity index 100%
rename from src/AspNetCoreModuleV1/IISLib/pudebug.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/IISLib/pudebug.h
diff --git a/src/AspNetCoreModuleV1/IISLib/reftrace.c b/src/IISIntegration/src/AspNetCoreModuleV1/IISLib/reftrace.c
similarity index 100%
rename from src/AspNetCoreModuleV1/IISLib/reftrace.c
rename to src/IISIntegration/src/AspNetCoreModuleV1/IISLib/reftrace.c
diff --git a/src/AspNetCoreModuleV1/IISLib/reftrace.h b/src/IISIntegration/src/AspNetCoreModuleV1/IISLib/reftrace.h
similarity index 100%
rename from src/AspNetCoreModuleV1/IISLib/reftrace.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/IISLib/reftrace.h
diff --git a/src/AspNetCoreModuleV1/IISLib/rwlock.h b/src/IISIntegration/src/AspNetCoreModuleV1/IISLib/rwlock.h
similarity index 100%
rename from src/AspNetCoreModuleV1/IISLib/rwlock.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/IISLib/rwlock.h
diff --git a/src/AspNetCoreModuleV1/IISLib/stringa.cpp b/src/IISIntegration/src/AspNetCoreModuleV1/IISLib/stringa.cpp
similarity index 100%
rename from src/AspNetCoreModuleV1/IISLib/stringa.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV1/IISLib/stringa.cpp
diff --git a/src/AspNetCoreModuleV1/IISLib/stringa.h b/src/IISIntegration/src/AspNetCoreModuleV1/IISLib/stringa.h
similarity index 100%
rename from src/AspNetCoreModuleV1/IISLib/stringa.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/IISLib/stringa.h
diff --git a/src/AspNetCoreModuleV1/IISLib/stringu.cpp b/src/IISIntegration/src/AspNetCoreModuleV1/IISLib/stringu.cpp
similarity index 100%
rename from src/AspNetCoreModuleV1/IISLib/stringu.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV1/IISLib/stringu.cpp
diff --git a/src/AspNetCoreModuleV1/IISLib/stringu.h b/src/IISIntegration/src/AspNetCoreModuleV1/IISLib/stringu.h
similarity index 100%
rename from src/AspNetCoreModuleV1/IISLib/stringu.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/IISLib/stringu.h
diff --git a/src/AspNetCoreModuleV1/IISLib/tracelog.c b/src/IISIntegration/src/AspNetCoreModuleV1/IISLib/tracelog.c
similarity index 100%
rename from src/AspNetCoreModuleV1/IISLib/tracelog.c
rename to src/IISIntegration/src/AspNetCoreModuleV1/IISLib/tracelog.c
diff --git a/src/AspNetCoreModuleV1/IISLib/tracelog.h b/src/IISIntegration/src/AspNetCoreModuleV1/IISLib/tracelog.h
similarity index 100%
rename from src/AspNetCoreModuleV1/IISLib/tracelog.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/IISLib/tracelog.h
diff --git a/src/AspNetCoreModuleV1/IISLib/treehash.h b/src/IISIntegration/src/AspNetCoreModuleV1/IISLib/treehash.h
similarity index 100%
rename from src/AspNetCoreModuleV1/IISLib/treehash.h
rename to src/IISIntegration/src/AspNetCoreModuleV1/IISLib/treehash.h
diff --git a/src/AspNetCoreModuleV1/IISLib/util.cxx b/src/IISIntegration/src/AspNetCoreModuleV1/IISLib/util.cxx
similarity index 100%
rename from src/AspNetCoreModuleV1/IISLib/util.cxx
rename to src/IISIntegration/src/AspNetCoreModuleV1/IISLib/util.cxx
diff --git a/src/AspNetCoreModuleV2/AspNetCore/AppOfflineApplication.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/AppOfflineApplication.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/AspNetCore/AppOfflineApplication.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/AppOfflineApplication.cpp
diff --git a/src/AspNetCoreModuleV2/AspNetCore/AppOfflineApplication.h b/src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/AppOfflineApplication.h
similarity index 100%
rename from src/AspNetCoreModuleV2/AspNetCore/AppOfflineApplication.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/AppOfflineApplication.h
diff --git a/src/AspNetCoreModuleV2/AspNetCore/AppOfflineHandler.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/AppOfflineHandler.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/AspNetCore/AppOfflineHandler.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/AppOfflineHandler.cpp
diff --git a/src/AspNetCoreModuleV2/AspNetCore/AppOfflineHandler.h b/src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/AppOfflineHandler.h
similarity index 100%
rename from src/AspNetCoreModuleV2/AspNetCore/AppOfflineHandler.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/AppOfflineHandler.h
diff --git a/src/AspNetCoreModuleV2/AspNetCore/ApplicationFactory.h b/src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/ApplicationFactory.h
similarity index 100%
rename from src/AspNetCoreModuleV2/AspNetCore/ApplicationFactory.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/ApplicationFactory.h
diff --git a/src/AspNetCoreModuleV2/AspNetCore/AspNetCore.vcxproj b/src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/AspNetCore.vcxproj
similarity index 98%
rename from src/AspNetCoreModuleV2/AspNetCore/AspNetCore.vcxproj
rename to src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/AspNetCore.vcxproj
index 4b2c6129e8..98c5920ed4 100644
--- a/src/AspNetCoreModuleV2/AspNetCore/AspNetCore.vcxproj
+++ b/src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/AspNetCore.vcxproj
@@ -1,305 +1,305 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
-
- {EC82302F-D2F0-4727-99D1-EABC0DD9DC3B}
- Win32Proj
- AspNetCoreModule
- AspNetCore
- aspnetcorev2
- false
- 10.0.15063.0
-
-
-
- DynamicLibrary
- true
- v141
- Unicode
-
-
- DynamicLibrary
- true
- v141
- Unicode
-
-
- DynamicLibrary
- false
- v141
- true
- Unicode
-
-
- DynamicLibrary
- false
- v141
- true
- Unicode
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- $(MSBuildProjectDirectory)\bin\$(Configuration)\$(Platform)\
-
-
-
- Level4
- Disabled
- WIN32;_DEBUG;_WINDOWS;_USRDLL;ASPNETCOREMODULE_EXPORTS;%(PreprocessorDefinitions)
- stdafx.h
- $(IntDir)$(TargetName).pch
- ..\IISLib;.\Inc;..\CommonLib
- ProgramDatabase
- MultiThreadedDebug
- true
- true
- true
- false
- SyncCThrow
- 8Bytes
- true
- false
- true
- CompileAsCpp
- true
- true
- stdcpp17
- stdafx.h
-
-
- Windows
- true
- kernel32.lib;user32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;ahadmin.lib;ws2_32.lib;iphlpapi.lib;version.lib
- Source.def
- UseLinkTimeCodeGeneration
-
-
- ..\Commonlib
-
-
-
-
- Level4
- Disabled
- WIN32;_DEBUG;_WINDOWS;_USRDLL;ASPNETCOREMODULE_EXPORTS;%(PreprocessorDefinitions)
- stdafx.h
- $(IntDir)$(TargetName).pch
- ..\IISLib;.\Inc;..\CommonLib
- ProgramDatabase
- MultiThreadedDebug
- true
- true
- true
- false
- SyncCThrow
- 8Bytes
- true
- false
- true
- CompileAsCpp
- true
- true
- stdcpp17
- stdafx.h
-
-
- Windows
- true
- kernel32.lib;user32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;ahadmin.lib;ws2_32.lib;iphlpapi.lib;version.lib
- Source.def
- UseLinkTimeCodeGeneration
-
-
- ..\Commonlib
-
-
-
-
- Level4
- NotUsing
- MaxSpeed
- true
- true
- WIN32;NDEBUG;_WINDOWS;_USRDLL;ASPNETCOREMODULE_EXPORTS;%(PreprocessorDefinitions)
- ..\IISLib;.\Inc;..\CommonLib
- stdafx.h
- MultiThreaded
- true
- true
- true
- false
- SyncCThrow
- 8Bytes
- true
- false
- true
- CompileAsCpp
- true
- true
- stdcpp17
- stdafx.h
-
-
- Windows
- false
- true
- /NODEFAULTLIB:libucrt.lib /DEFAULTLIB:ucrt.lib %(AdditionalOptions)
- true
- Source.def
- kernel32.lib;user32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;ahadmin.lib;ws2_32.lib;iphlpapi.lib;version.lib
- UseLinkTimeCodeGeneration
-
-
- ..\Commonlib
-
-
-
-
- Level4
- NotUsing
- MaxSpeed
- true
- true
- WIN32;NDEBUG;_WINDOWS;_USRDLL;ASPNETCOREMODULE_EXPORTS;%(PreprocessorDefinitions)
- stdafx.h
- ..\IISLib;.\Inc;..\CommonLib
- MultiThreaded
- true
- true
- true
- false
- SyncCThrow
- 8Bytes
- true
- false
- true
- CompileAsCpp
- true
- true
- stdcpp17
- stdafx.h
-
-
- Windows
- false
- true
- /NODEFAULTLIB:libucrt.lib /DEFAULTLIB:ucrt.lib %(AdditionalOptions)
- true
- Source.def
- kernel32.lib;user32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;ahadmin.lib;ws2_32.lib;iphlpapi.lib;version.lib
- UseLinkTimeCodeGeneration
-
-
- ..\Commonlib
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Create
- Create
- Create
- Create
-
-
-
-
-
- {55494e58-e061-4c4c-a0a8-837008e72f85}
-
-
- {09d9d1d6-2951-4e14-bc35-76a23cf9391a}
-
-
-
-
-
-
-
-
-
-
-
- PreserveNewest
-
-
- PreserveNewest
-
-
-
-
-
-
-
- true
-
-
- true
-
-
-
-
-
-
-
-
-
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {EC82302F-D2F0-4727-99D1-EABC0DD9DC3B}
+ Win32Proj
+ AspNetCoreModule
+ AspNetCore
+ aspnetcorev2
+ false
+ 10.0.15063.0
+
+
+
+ DynamicLibrary
+ true
+ v141
+ Unicode
+
+
+ DynamicLibrary
+ true
+ v141
+ Unicode
+
+
+ DynamicLibrary
+ false
+ v141
+ true
+ Unicode
+
+
+ DynamicLibrary
+ false
+ v141
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $(MSBuildProjectDirectory)\bin\$(Configuration)\$(Platform)\
+
+
+
+ Level4
+ Disabled
+ WIN32;_DEBUG;_WINDOWS;_USRDLL;ASPNETCOREMODULE_EXPORTS;%(PreprocessorDefinitions)
+ stdafx.h
+ $(IntDir)$(TargetName).pch
+ ..\IISLib;.\Inc;..\CommonLib
+ ProgramDatabase
+ MultiThreadedDebug
+ true
+ true
+ true
+ false
+ SyncCThrow
+ 8Bytes
+ true
+ false
+ true
+ CompileAsCpp
+ true
+ true
+ stdcpp17
+ stdafx.h
+
+
+ Windows
+ true
+ kernel32.lib;user32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;ahadmin.lib;ws2_32.lib;iphlpapi.lib;version.lib
+ Source.def
+ UseLinkTimeCodeGeneration
+
+
+ ..\Commonlib
+
+
+
+
+ Level4
+ Disabled
+ WIN32;_DEBUG;_WINDOWS;_USRDLL;ASPNETCOREMODULE_EXPORTS;%(PreprocessorDefinitions)
+ stdafx.h
+ $(IntDir)$(TargetName).pch
+ ..\IISLib;.\Inc;..\CommonLib
+ ProgramDatabase
+ MultiThreadedDebug
+ true
+ true
+ true
+ false
+ SyncCThrow
+ 8Bytes
+ true
+ false
+ true
+ CompileAsCpp
+ true
+ true
+ stdcpp17
+ stdafx.h
+
+
+ Windows
+ true
+ kernel32.lib;user32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;ahadmin.lib;ws2_32.lib;iphlpapi.lib;version.lib
+ Source.def
+ UseLinkTimeCodeGeneration
+
+
+ ..\Commonlib
+
+
+
+
+ Level4
+ NotUsing
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_WINDOWS;_USRDLL;ASPNETCOREMODULE_EXPORTS;%(PreprocessorDefinitions)
+ ..\IISLib;.\Inc;..\CommonLib
+ stdafx.h
+ MultiThreaded
+ true
+ true
+ true
+ false
+ SyncCThrow
+ 8Bytes
+ true
+ false
+ true
+ CompileAsCpp
+ true
+ true
+ stdcpp17
+ stdafx.h
+
+
+ Windows
+ false
+ true
+ /NODEFAULTLIB:libucrt.lib /DEFAULTLIB:ucrt.lib %(AdditionalOptions)
+ true
+ Source.def
+ kernel32.lib;user32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;ahadmin.lib;ws2_32.lib;iphlpapi.lib;version.lib
+ UseLinkTimeCodeGeneration
+
+
+ ..\Commonlib
+
+
+
+
+ Level4
+ NotUsing
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_WINDOWS;_USRDLL;ASPNETCOREMODULE_EXPORTS;%(PreprocessorDefinitions)
+ stdafx.h
+ ..\IISLib;.\Inc;..\CommonLib
+ MultiThreaded
+ true
+ true
+ true
+ false
+ SyncCThrow
+ 8Bytes
+ true
+ false
+ true
+ CompileAsCpp
+ true
+ true
+ stdcpp17
+ stdafx.h
+
+
+ Windows
+ false
+ true
+ /NODEFAULTLIB:libucrt.lib /DEFAULTLIB:ucrt.lib %(AdditionalOptions)
+ true
+ Source.def
+ kernel32.lib;user32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;ahadmin.lib;ws2_32.lib;iphlpapi.lib;version.lib
+ UseLinkTimeCodeGeneration
+
+
+ ..\Commonlib
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Create
+ Create
+ Create
+ Create
+
+
+
+
+
+ {55494e58-e061-4c4c-a0a8-837008e72f85}
+
+
+ {09d9d1d6-2951-4e14-bc35-76a23cf9391a}
+
+
+
+
+
+
+
+
+
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+
+
+
+
+
+ true
+
+
+ true
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/AspNetCoreModuleV2/AspNetCore/DisconnectHandler.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/DisconnectHandler.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/AspNetCore/DisconnectHandler.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/DisconnectHandler.cpp
diff --git a/src/AspNetCoreModuleV2/AspNetCore/DisconnectHandler.h b/src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/DisconnectHandler.h
similarity index 100%
rename from src/AspNetCoreModuleV2/AspNetCore/DisconnectHandler.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/DisconnectHandler.h
diff --git a/src/AspNetCoreModuleV2/AspNetCore/HandlerResolver.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/HandlerResolver.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/AspNetCore/HandlerResolver.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/HandlerResolver.cpp
diff --git a/src/AspNetCoreModuleV2/AspNetCore/HandlerResolver.h b/src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/HandlerResolver.h
similarity index 100%
rename from src/AspNetCoreModuleV2/AspNetCore/HandlerResolver.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/HandlerResolver.h
diff --git a/src/AspNetCoreModuleV2/AspNetCore/HtmlResponses.rc b/src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/HtmlResponses.rc
similarity index 100%
rename from src/AspNetCoreModuleV2/AspNetCore/HtmlResponses.rc
rename to src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/HtmlResponses.rc
diff --git a/src/AspNetCoreModuleV2/AspNetCore/InProcessShimStaticHtml.htm b/src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/InProcessShimStaticHtml.htm
similarity index 100%
rename from src/AspNetCoreModuleV2/AspNetCore/InProcessShimStaticHtml.htm
rename to src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/InProcessShimStaticHtml.htm
diff --git a/src/AspNetCoreModuleV2/AspNetCore/OutOfProcessShimStaticHtml.htm b/src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/OutOfProcessShimStaticHtml.htm
similarity index 100%
rename from src/AspNetCoreModuleV2/AspNetCore/OutOfProcessShimStaticHtml.htm
rename to src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/OutOfProcessShimStaticHtml.htm
diff --git a/src/AspNetCoreModuleV2/AspNetCore/PollingAppOfflineApplication.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/PollingAppOfflineApplication.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/AspNetCore/PollingAppOfflineApplication.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/PollingAppOfflineApplication.cpp
diff --git a/src/AspNetCoreModuleV2/AspNetCore/PollingAppOfflineApplication.h b/src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/PollingAppOfflineApplication.h
similarity index 100%
rename from src/AspNetCoreModuleV2/AspNetCore/PollingAppOfflineApplication.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/PollingAppOfflineApplication.h
diff --git a/src/AspNetCoreModuleV2/AspNetCore/ServerErrorApplication.h b/src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/ServerErrorApplication.h
similarity index 100%
rename from src/AspNetCoreModuleV2/AspNetCore/ServerErrorApplication.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/ServerErrorApplication.h
diff --git a/src/AspNetCoreModuleV2/AspNetCore/ShimOptions.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/ShimOptions.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/AspNetCore/ShimOptions.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/ShimOptions.cpp
diff --git a/src/AspNetCoreModuleV2/AspNetCore/ShimOptions.h b/src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/ShimOptions.h
similarity index 100%
rename from src/AspNetCoreModuleV2/AspNetCore/ShimOptions.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/ShimOptions.h
diff --git a/src/AspNetCoreModuleV2/AspNetCore/Source.def b/src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/Source.def
similarity index 100%
rename from src/AspNetCoreModuleV2/AspNetCore/Source.def
rename to src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/Source.def
diff --git a/src/AspNetCoreModuleV2/AspNetCore/ancm.mof b/src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/ancm.mof
similarity index 100%
rename from src/AspNetCoreModuleV2/AspNetCore/ancm.mof
rename to src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/ancm.mof
diff --git a/src/AspNetCoreModuleV2/AspNetCore/applicationinfo.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/applicationinfo.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/AspNetCore/applicationinfo.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/applicationinfo.cpp
diff --git a/src/AspNetCoreModuleV2/AspNetCore/applicationinfo.h b/src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/applicationinfo.h
similarity index 100%
rename from src/AspNetCoreModuleV2/AspNetCore/applicationinfo.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/applicationinfo.h
diff --git a/src/AspNetCoreModuleV2/AspNetCore/applicationmanager.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/applicationmanager.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/AspNetCore/applicationmanager.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/applicationmanager.cpp
diff --git a/src/AspNetCoreModuleV2/AspNetCore/applicationmanager.h b/src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/applicationmanager.h
similarity index 100%
rename from src/AspNetCoreModuleV2/AspNetCore/applicationmanager.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/applicationmanager.h
diff --git a/src/AspNetCoreModuleV2/AspNetCore/aspnetcore_schema_v2.xml b/src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/aspnetcore_schema_v2.xml
similarity index 100%
rename from src/AspNetCoreModuleV2/AspNetCore/aspnetcore_schema_v2.xml
rename to src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/aspnetcore_schema_v2.xml
diff --git a/src/AspNetCoreModuleV2/AspNetCore/aspnetcoremodule.rc b/src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/aspnetcoremodule.rc
similarity index 100%
rename from src/AspNetCoreModuleV2/AspNetCore/aspnetcoremodule.rc
rename to src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/aspnetcoremodule.rc
diff --git a/src/AspNetCoreModuleV2/AspNetCore/dllmain.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/dllmain.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/AspNetCore/dllmain.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/dllmain.cpp
diff --git a/src/AspNetCoreModuleV2/AspNetCore/globalmodule.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/globalmodule.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/AspNetCore/globalmodule.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/globalmodule.cpp
diff --git a/src/AspNetCoreModuleV2/AspNetCore/globalmodule.h b/src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/globalmodule.h
similarity index 100%
rename from src/AspNetCoreModuleV2/AspNetCore/globalmodule.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/globalmodule.h
diff --git a/src/AspNetCoreModuleV2/AspNetCore/proxymodule.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/proxymodule.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/AspNetCore/proxymodule.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/proxymodule.cpp
diff --git a/src/AspNetCoreModuleV2/AspNetCore/proxymodule.h b/src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/proxymodule.h
similarity index 100%
rename from src/AspNetCoreModuleV2/AspNetCore/proxymodule.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/proxymodule.h
diff --git a/src/AspNetCoreModuleV2/AspNetCore/resource.h b/src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/resource.h
similarity index 100%
rename from src/AspNetCoreModuleV2/AspNetCore/resource.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/resource.h
diff --git a/src/AspNetCoreModuleV2/AspNetCore/stdafx.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/stdafx.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/AspNetCore/stdafx.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/stdafx.cpp
diff --git a/src/AspNetCoreModuleV2/AspNetCore/stdafx.h b/src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/stdafx.h
similarity index 100%
rename from src/AspNetCoreModuleV2/AspNetCore/stdafx.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/AspNetCore/stdafx.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/BaseOutputManager.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/BaseOutputManager.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/BaseOutputManager.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/BaseOutputManager.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/CommonLib.vcxproj b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/CommonLib.vcxproj
similarity index 98%
rename from src/AspNetCoreModuleV2/CommonLib/CommonLib.vcxproj
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/CommonLib.vcxproj
index 0ddec2fcb1..2386dfc6ee 100644
--- a/src/AspNetCoreModuleV2/CommonLib/CommonLib.vcxproj
+++ b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/CommonLib.vcxproj
@@ -1,293 +1,293 @@
-
-
-
-
- Debug
- Win32
-
-
- Release
- Win32
-
-
- Debug
- x64
-
-
- Release
- x64
-
-
-
- 15.0
- {55494E58-E061-4C4C-A0A8-837008E72F85}
- Win32Proj
- NewCommon
- 10.0.15063.0
-
-
-
- StaticLibrary
- true
- v141
- Unicode
-
-
- StaticLibrary
- false
- v141
- true
- Unicode
-
-
- StaticLibrary
- true
- v141
- Unicode
-
-
- StaticLibrary
- false
- v141
- false
- Unicode
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
- $(MSBuildProjectDirectory)\bin\$(Configuration)\$(Platform)\
-
-
- true
- $(MSBuildProjectDirectory)\bin\$(Configuration)\$(Platform)\
-
-
- false
- $(MSBuildProjectDirectory)\bin\$(Configuration)\$(Platform)\
-
-
- false
- C:\AspNetCoreModule\src\IISLib;$(IncludePath)
- $(MSBuildProjectDirectory)\bin\$(Configuration)\$(Platform)\
-
-
-
- Use
- Level4
- true
- Disabled
- false
- WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)
- $(IntDir)$(TargetName).pch
- stdafx.h
- true
- MultiThreadedDebug
- false
- ProgramDatabase
- ..\iislib;
- true
- stdcpp17
- stdafx.h
-
-
- Windows
- true
-
-
-
-
- Use
- Level4
- true
- Disabled
- false
- _DEBUG;_LIB;%(PreprocessorDefinitions)
- $(IntDir)$(TargetName).pch
- stdafx.h
- true
- ProgramDatabase
- false
- MultiThreadedDebug
- false
- ..\iislib;
- true
- stdcpp17
- stdafx.h
-
-
- Windows
- true
-
-
-
-
- Use
- Level4
- true
- MaxSpeed
- true
- true
- false
- WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)
- $(IntDir)$(TargetName).pch
- stdafx.h
- true
- MultiThreaded
- false
- ..\iislib;
- true
- stdcpp17
- stdafx.h
-
-
- Windows
- true
- /NODEFAULTLIB:libucrt.lib /DEFAULTLIB:ucrt.lib %(AdditionalOptions)
- true
- true
-
-
-
-
- Use
- Level4
- true
- MaxSpeed
- true
- true
- false
- NDEBUG;_LIB;%(PreprocessorDefinitions)
- $(IntDir)$(TargetName).pch
- stdafx.h
- true
- ..\iislib;
- true
-
-
- MultiThreaded
- false
- stdcpp17
- stdafx.h
-
-
- Windows
- true
- /NODEFAULTLIB:libucrt.lib /DEFAULTLIB:ucrt.lib %(AdditionalOptions)
- true
- true
-
-
- ..\iislib
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Create
- Create
- Create
- Create
-
-
-
-
-
-
-
- {4787a64f-9a3e-4867-a55a-70cb4b2b2ffe}
-
-
-
-
- Document
- mc %(FullPath)
- Compiling Event Messages ...
- %(Filename).rc;%(Filename).h;MSG0409.bin
- mc %(FullPath)
- Compiling Event Messages ...
- %(Filename).rc;%(Filename).h;MSG0409.bin
- mc %(FullPath)
- Compiling Event Messages ...
- %(Filename).rc;%(Filename).h;MSG0409.bin
- mc %(FullPath)
- Compiling Event Messages ...
- %(Filename).rc;%(Filename).h;MSG0409.bin
-
-
-
-
-
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ 15.0
+ {55494E58-E061-4C4C-A0A8-837008E72F85}
+ Win32Proj
+ NewCommon
+ 10.0.15063.0
+
+
+
+ StaticLibrary
+ true
+ v141
+ Unicode
+
+
+ StaticLibrary
+ false
+ v141
+ true
+ Unicode
+
+
+ StaticLibrary
+ true
+ v141
+ Unicode
+
+
+ StaticLibrary
+ false
+ v141
+ false
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ $(MSBuildProjectDirectory)\bin\$(Configuration)\$(Platform)\
+
+
+ true
+ $(MSBuildProjectDirectory)\bin\$(Configuration)\$(Platform)\
+
+
+ false
+ $(MSBuildProjectDirectory)\bin\$(Configuration)\$(Platform)\
+
+
+ false
+ C:\AspNetCoreModule\src\IISLib;$(IncludePath)
+ $(MSBuildProjectDirectory)\bin\$(Configuration)\$(Platform)\
+
+
+
+ Use
+ Level4
+ true
+ Disabled
+ false
+ WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)
+ $(IntDir)$(TargetName).pch
+ stdafx.h
+ true
+ MultiThreadedDebug
+ false
+ ProgramDatabase
+ ..\iislib;
+ true
+ stdcpp17
+ stdafx.h
+
+
+ Windows
+ true
+
+
+
+
+ Use
+ Level4
+ true
+ Disabled
+ false
+ _DEBUG;_LIB;%(PreprocessorDefinitions)
+ $(IntDir)$(TargetName).pch
+ stdafx.h
+ true
+ ProgramDatabase
+ false
+ MultiThreadedDebug
+ false
+ ..\iislib;
+ true
+ stdcpp17
+ stdafx.h
+
+
+ Windows
+ true
+
+
+
+
+ Use
+ Level4
+ true
+ MaxSpeed
+ true
+ true
+ false
+ WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)
+ $(IntDir)$(TargetName).pch
+ stdafx.h
+ true
+ MultiThreaded
+ false
+ ..\iislib;
+ true
+ stdcpp17
+ stdafx.h
+
+
+ Windows
+ true
+ /NODEFAULTLIB:libucrt.lib /DEFAULTLIB:ucrt.lib %(AdditionalOptions)
+ true
+ true
+
+
+
+
+ Use
+ Level4
+ true
+ MaxSpeed
+ true
+ true
+ false
+ NDEBUG;_LIB;%(PreprocessorDefinitions)
+ $(IntDir)$(TargetName).pch
+ stdafx.h
+ true
+ ..\iislib;
+ true
+
+
+ MultiThreaded
+ false
+ stdcpp17
+ stdafx.h
+
+
+ Windows
+ true
+ /NODEFAULTLIB:libucrt.lib /DEFAULTLIB:ucrt.lib %(AdditionalOptions)
+ true
+ true
+
+
+ ..\iislib
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Create
+ Create
+ Create
+ Create
+
+
+
+
+
+
+
+ {4787a64f-9a3e-4867-a55a-70cb4b2b2ffe}
+
+
+
+
+ Document
+ mc %(FullPath)
+ Compiling Event Messages ...
+ %(Filename).rc;%(Filename).h;MSG0409.bin
+ mc %(FullPath)
+ Compiling Event Messages ...
+ %(Filename).rc;%(Filename).h;MSG0409.bin
+ mc %(FullPath)
+ Compiling Event Messages ...
+ %(Filename).rc;%(Filename).h;MSG0409.bin
+ mc %(FullPath)
+ Compiling Event Messages ...
+ %(Filename).rc;%(Filename).h;MSG0409.bin
+
+
+
+
+
\ No newline at end of file
diff --git a/src/AspNetCoreModuleV2/CommonLib/ConfigurationLoadException.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/ConfigurationLoadException.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/ConfigurationLoadException.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/ConfigurationLoadException.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/ConfigurationSection.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/ConfigurationSection.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/ConfigurationSection.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/ConfigurationSection.cpp
diff --git a/src/AspNetCoreModuleV2/CommonLib/ConfigurationSection.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/ConfigurationSection.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/ConfigurationSection.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/ConfigurationSection.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/ConfigurationSource.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/ConfigurationSource.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/ConfigurationSource.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/ConfigurationSource.cpp
diff --git a/src/AspNetCoreModuleV2/CommonLib/ConfigurationSource.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/ConfigurationSource.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/ConfigurationSource.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/ConfigurationSource.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/Environment.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/Environment.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/Environment.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/Environment.cpp
diff --git a/src/AspNetCoreModuleV2/CommonLib/Environment.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/Environment.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/Environment.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/Environment.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/EventLog.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/EventLog.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/EventLog.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/EventLog.cpp
diff --git a/src/AspNetCoreModuleV2/CommonLib/EventLog.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/EventLog.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/EventLog.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/EventLog.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/EventTracing.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/EventTracing.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/EventTracing.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/EventTracing.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/FileOutputManager.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/FileOutputManager.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/FileOutputManager.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/FileOutputManager.cpp
diff --git a/src/AspNetCoreModuleV2/CommonLib/FileOutputManager.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/FileOutputManager.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/FileOutputManager.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/FileOutputManager.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/GlobalVersionUtility.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/GlobalVersionUtility.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/GlobalVersionUtility.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/GlobalVersionUtility.cpp
diff --git a/src/AspNetCoreModuleV2/CommonLib/GlobalVersionUtility.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/GlobalVersionUtility.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/GlobalVersionUtility.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/GlobalVersionUtility.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/HandleWrapper.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/HandleWrapper.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/HandleWrapper.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/HandleWrapper.cpp
diff --git a/src/AspNetCoreModuleV2/CommonLib/HandleWrapper.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/HandleWrapper.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/HandleWrapper.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/HandleWrapper.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/IOutputManager.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/IOutputManager.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/IOutputManager.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/IOutputManager.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/InvalidOperationException.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/InvalidOperationException.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/InvalidOperationException.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/InvalidOperationException.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/LoggingHelpers.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/LoggingHelpers.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/LoggingHelpers.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/LoggingHelpers.cpp
diff --git a/src/AspNetCoreModuleV2/CommonLib/LoggingHelpers.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/LoggingHelpers.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/LoggingHelpers.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/LoggingHelpers.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/ModuleHelpers.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/ModuleHelpers.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/ModuleHelpers.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/ModuleHelpers.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/NonCopyable.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/NonCopyable.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/NonCopyable.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/NonCopyable.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/NullOutputManager.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/NullOutputManager.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/NullOutputManager.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/NullOutputManager.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/PipeOutputManager.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/PipeOutputManager.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/PipeOutputManager.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/PipeOutputManager.cpp
diff --git a/src/AspNetCoreModuleV2/CommonLib/PipeOutputManager.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/PipeOutputManager.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/PipeOutputManager.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/PipeOutputManager.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/ResultException.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/ResultException.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/ResultException.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/ResultException.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/SRWExclusiveLock.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/SRWExclusiveLock.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/SRWExclusiveLock.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/SRWExclusiveLock.cpp
diff --git a/src/AspNetCoreModuleV2/CommonLib/SRWExclusiveLock.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/SRWExclusiveLock.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/SRWExclusiveLock.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/SRWExclusiveLock.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/SRWSharedLock.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/SRWSharedLock.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/SRWSharedLock.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/SRWSharedLock.cpp
diff --git a/src/AspNetCoreModuleV2/CommonLib/SRWSharedLock.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/SRWSharedLock.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/SRWSharedLock.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/SRWSharedLock.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/ServerErrorHandler.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/ServerErrorHandler.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/ServerErrorHandler.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/ServerErrorHandler.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/StdWrapper.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/StdWrapper.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/StdWrapper.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/StdWrapper.cpp
diff --git a/src/AspNetCoreModuleV2/CommonLib/StdWrapper.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/StdWrapper.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/StdWrapper.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/StdWrapper.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/StringHelpers.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/StringHelpers.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/StringHelpers.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/StringHelpers.cpp
diff --git a/src/AspNetCoreModuleV2/CommonLib/StringHelpers.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/StringHelpers.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/StringHelpers.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/StringHelpers.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/WebConfigConfigurationSection.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/WebConfigConfigurationSection.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/WebConfigConfigurationSection.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/WebConfigConfigurationSection.cpp
diff --git a/src/AspNetCoreModuleV2/CommonLib/WebConfigConfigurationSection.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/WebConfigConfigurationSection.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/WebConfigConfigurationSection.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/WebConfigConfigurationSection.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/WebConfigConfigurationSource.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/WebConfigConfigurationSource.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/WebConfigConfigurationSource.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/WebConfigConfigurationSource.cpp
diff --git a/src/AspNetCoreModuleV2/CommonLib/WebConfigConfigurationSource.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/WebConfigConfigurationSource.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/WebConfigConfigurationSource.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/WebConfigConfigurationSource.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/application.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/application.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/application.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/application.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/aspnetcore_event.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/aspnetcore_event.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/aspnetcore_event.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/aspnetcore_event.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/aspnetcore_msg.mc b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/aspnetcore_msg.mc
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/aspnetcore_msg.mc
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/aspnetcore_msg.mc
diff --git a/src/AspNetCoreModuleV2/CommonLib/config_utility.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/config_utility.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/config_utility.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/config_utility.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/debugutil.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/debugutil.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/debugutil.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/debugutil.cpp
diff --git a/src/AspNetCoreModuleV2/CommonLib/debugutil.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/debugutil.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/debugutil.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/debugutil.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/exceptions.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/exceptions.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/exceptions.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/exceptions.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/file_utility.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/file_utility.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/file_utility.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/file_utility.cpp
diff --git a/src/AspNetCoreModuleV2/CommonLib/file_utility.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/file_utility.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/file_utility.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/file_utility.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/fx_ver.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/fx_ver.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/fx_ver.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/fx_ver.cpp
diff --git a/src/AspNetCoreModuleV2/CommonLib/fx_ver.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/fx_ver.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/fx_ver.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/fx_ver.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/hostfxr_utility.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/hostfxr_utility.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/hostfxr_utility.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/hostfxr_utility.cpp
diff --git a/src/AspNetCoreModuleV2/CommonLib/hostfxr_utility.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/hostfxr_utility.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/hostfxr_utility.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/hostfxr_utility.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/hostfxroptions.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/hostfxroptions.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/hostfxroptions.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/hostfxroptions.cpp
diff --git a/src/AspNetCoreModuleV2/CommonLib/hostfxroptions.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/hostfxroptions.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/hostfxroptions.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/hostfxroptions.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/iapplication.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/iapplication.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/iapplication.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/iapplication.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/irequesthandler.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/irequesthandler.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/irequesthandler.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/irequesthandler.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/requesthandler.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/requesthandler.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/requesthandler.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/requesthandler.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/resources.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/resources.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/resources.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/resources.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/stdafx.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/stdafx.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/stdafx.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/stdafx.cpp
diff --git a/src/AspNetCoreModuleV2/CommonLib/stdafx.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/stdafx.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/stdafx.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/stdafx.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/sttimer.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/sttimer.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/sttimer.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/sttimer.h
diff --git a/src/AspNetCoreModuleV2/CommonLib/targetver.h b/src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/targetver.h
similarity index 100%
rename from src/AspNetCoreModuleV2/CommonLib/targetver.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/CommonLib/targetver.h
diff --git a/src/AspNetCoreModuleV2/DefaultRules.ruleset b/src/IISIntegration/src/AspNetCoreModuleV2/DefaultRules.ruleset
similarity index 100%
rename from src/AspNetCoreModuleV2/DefaultRules.ruleset
rename to src/IISIntegration/src/AspNetCoreModuleV2/DefaultRules.ruleset
diff --git a/src/AspNetCoreModuleV2/IISLib/IISLib.vcxproj b/src/IISIntegration/src/AspNetCoreModuleV2/IISLib/IISLib.vcxproj
similarity index 97%
rename from src/AspNetCoreModuleV2/IISLib/IISLib.vcxproj
rename to src/IISIntegration/src/AspNetCoreModuleV2/IISLib/IISLib.vcxproj
index 8a78b19664..15d4ef1317 100644
--- a/src/AspNetCoreModuleV2/IISLib/IISLib.vcxproj
+++ b/src/IISIntegration/src/AspNetCoreModuleV2/IISLib/IISLib.vcxproj
@@ -1,206 +1,206 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
-
- {09D9D1D6-2951-4E14-BC35-76A23CF9391A}
- Win32Proj
- IISLib
- IISLib
- 10.0.15063.0
-
-
-
- StaticLibrary
- true
- v141
- Unicode
-
-
- StaticLibrary
- true
- v141
- Unicode
-
-
- StaticLibrary
- false
- v141
- true
- Unicode
-
-
- StaticLibrary
- false
- v141
- true
- Unicode
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- $(MSBuildProjectDirectory)\bin\$(Configuration)\$(Platform)\
-
-
- $(MSBuildProjectDirectory)\bin\$(Configuration)\$(Platform)\
-
-
- $(MSBuildProjectDirectory)\bin\$(Configuration)\$(Platform)\
-
-
- $(MSBuildProjectDirectory)\bin\$(Configuration)\$(Platform)\
-
-
-
-
-
- Level3
- Disabled
- WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)
- true
- ProgramDatabase
- MultiThreadedDebug
- false
- true
- true
-
-
- Windows
- true
-
-
-
-
-
-
- Level3
- Disabled
- WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)
- true
- ProgramDatabase
- MultiThreadedDebug
- false
- true
- true
-
-
- Windows
- true
-
-
-
-
- Level3
-
-
- MaxSpeed
- true
- true
- WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)
- true
- MultiThreaded
- false
- true
- true
-
-
- Windows
- true
- true
- /NODEFAULTLIB:libucrt.lib /DEFAULTLIB:ucrt.lib %(AdditionalOptions)
- true
-
-
-
-
- Level3
-
-
- MaxSpeed
- true
- true
- WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)
- true
- MultiThreaded
- false
- true
- true
-
-
- Windows
- true
- true
- /NODEFAULTLIB:libucrt.lib /DEFAULTLIB:ucrt.lib %(AdditionalOptions)
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {09D9D1D6-2951-4E14-BC35-76A23CF9391A}
+ Win32Proj
+ IISLib
+ IISLib
+ 10.0.15063.0
+
+
+
+ StaticLibrary
+ true
+ v141
+ Unicode
+
+
+ StaticLibrary
+ true
+ v141
+ Unicode
+
+
+ StaticLibrary
+ false
+ v141
+ true
+ Unicode
+
+
+ StaticLibrary
+ false
+ v141
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $(MSBuildProjectDirectory)\bin\$(Configuration)\$(Platform)\
+
+
+ $(MSBuildProjectDirectory)\bin\$(Configuration)\$(Platform)\
+
+
+ $(MSBuildProjectDirectory)\bin\$(Configuration)\$(Platform)\
+
+
+ $(MSBuildProjectDirectory)\bin\$(Configuration)\$(Platform)\
+
+
+
+
+
+ Level3
+ Disabled
+ WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)
+ true
+ ProgramDatabase
+ MultiThreadedDebug
+ false
+ true
+ true
+
+
+ Windows
+ true
+
+
+
+
+
+
+ Level3
+ Disabled
+ WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)
+ true
+ ProgramDatabase
+ MultiThreadedDebug
+ false
+ true
+ true
+
+
+ Windows
+ true
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ false
+ true
+ true
+
+
+ Windows
+ true
+ true
+ /NODEFAULTLIB:libucrt.lib /DEFAULTLIB:ucrt.lib %(AdditionalOptions)
+ true
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)
+ true
+ MultiThreaded
+ false
+ true
+ true
+
+
+ Windows
+ true
+ true
+ /NODEFAULTLIB:libucrt.lib /DEFAULTLIB:ucrt.lib %(AdditionalOptions)
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/AspNetCoreModuleV2/IISLib/acache.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/IISLib/acache.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/IISLib/acache.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/IISLib/acache.cpp
diff --git a/src/AspNetCoreModuleV2/IISLib/acache.h b/src/IISIntegration/src/AspNetCoreModuleV2/IISLib/acache.h
similarity index 100%
rename from src/AspNetCoreModuleV2/IISLib/acache.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/IISLib/acache.h
diff --git a/src/AspNetCoreModuleV2/IISLib/ahutil.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/IISLib/ahutil.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/IISLib/ahutil.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/IISLib/ahutil.cpp
diff --git a/src/AspNetCoreModuleV2/IISLib/ahutil.h b/src/IISIntegration/src/AspNetCoreModuleV2/IISLib/ahutil.h
similarity index 100%
rename from src/AspNetCoreModuleV2/IISLib/ahutil.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/IISLib/ahutil.h
diff --git a/src/AspNetCoreModuleV2/IISLib/base64.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/IISLib/base64.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/IISLib/base64.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/IISLib/base64.cpp
diff --git a/src/AspNetCoreModuleV2/IISLib/base64.h b/src/IISIntegration/src/AspNetCoreModuleV2/IISLib/base64.h
similarity index 100%
rename from src/AspNetCoreModuleV2/IISLib/base64.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/IISLib/base64.h
diff --git a/src/AspNetCoreModuleV2/IISLib/buffer.h b/src/IISIntegration/src/AspNetCoreModuleV2/IISLib/buffer.h
similarity index 100%
rename from src/AspNetCoreModuleV2/IISLib/buffer.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/IISLib/buffer.h
diff --git a/src/AspNetCoreModuleV2/IISLib/datetime.h b/src/IISIntegration/src/AspNetCoreModuleV2/IISLib/datetime.h
similarity index 100%
rename from src/AspNetCoreModuleV2/IISLib/datetime.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/IISLib/datetime.h
diff --git a/src/AspNetCoreModuleV2/IISLib/dbgutil.h b/src/IISIntegration/src/AspNetCoreModuleV2/IISLib/dbgutil.h
similarity index 100%
rename from src/AspNetCoreModuleV2/IISLib/dbgutil.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/IISLib/dbgutil.h
diff --git a/src/AspNetCoreModuleV2/IISLib/hashfn.h b/src/IISIntegration/src/AspNetCoreModuleV2/IISLib/hashfn.h
similarity index 100%
rename from src/AspNetCoreModuleV2/IISLib/hashfn.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/IISLib/hashfn.h
diff --git a/src/AspNetCoreModuleV2/IISLib/hashtable.h b/src/IISIntegration/src/AspNetCoreModuleV2/IISLib/hashtable.h
similarity index 100%
rename from src/AspNetCoreModuleV2/IISLib/hashtable.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/IISLib/hashtable.h
diff --git a/src/AspNetCoreModuleV2/IISLib/listentry.h b/src/IISIntegration/src/AspNetCoreModuleV2/IISLib/listentry.h
similarity index 100%
rename from src/AspNetCoreModuleV2/IISLib/listentry.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/IISLib/listentry.h
diff --git a/src/AspNetCoreModuleV2/IISLib/macros.h b/src/IISIntegration/src/AspNetCoreModuleV2/IISLib/macros.h
similarity index 100%
rename from src/AspNetCoreModuleV2/IISLib/macros.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/IISLib/macros.h
diff --git a/src/AspNetCoreModuleV2/IISLib/multisz.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/IISLib/multisz.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/IISLib/multisz.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/IISLib/multisz.cpp
diff --git a/src/AspNetCoreModuleV2/IISLib/multisz.h b/src/IISIntegration/src/AspNetCoreModuleV2/IISLib/multisz.h
similarity index 100%
rename from src/AspNetCoreModuleV2/IISLib/multisz.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/IISLib/multisz.h
diff --git a/src/AspNetCoreModuleV2/IISLib/multisza.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/IISLib/multisza.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/IISLib/multisza.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/IISLib/multisza.cpp
diff --git a/src/AspNetCoreModuleV2/IISLib/multisza.h b/src/IISIntegration/src/AspNetCoreModuleV2/IISLib/multisza.h
similarity index 100%
rename from src/AspNetCoreModuleV2/IISLib/multisza.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/IISLib/multisza.h
diff --git a/src/AspNetCoreModuleV2/IISLib/ntassert.h b/src/IISIntegration/src/AspNetCoreModuleV2/IISLib/ntassert.h
similarity index 100%
rename from src/AspNetCoreModuleV2/IISLib/ntassert.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/IISLib/ntassert.h
diff --git a/src/AspNetCoreModuleV2/IISLib/percpu.h b/src/IISIntegration/src/AspNetCoreModuleV2/IISLib/percpu.h
similarity index 100%
rename from src/AspNetCoreModuleV2/IISLib/percpu.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/IISLib/percpu.h
diff --git a/src/AspNetCoreModuleV2/IISLib/precomp.h b/src/IISIntegration/src/AspNetCoreModuleV2/IISLib/precomp.h
similarity index 100%
rename from src/AspNetCoreModuleV2/IISLib/precomp.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/IISLib/precomp.h
diff --git a/src/AspNetCoreModuleV2/IISLib/prime.h b/src/IISIntegration/src/AspNetCoreModuleV2/IISLib/prime.h
similarity index 100%
rename from src/AspNetCoreModuleV2/IISLib/prime.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/IISLib/prime.h
diff --git a/src/AspNetCoreModuleV2/IISLib/reftrace.c b/src/IISIntegration/src/AspNetCoreModuleV2/IISLib/reftrace.c
similarity index 100%
rename from src/AspNetCoreModuleV2/IISLib/reftrace.c
rename to src/IISIntegration/src/AspNetCoreModuleV2/IISLib/reftrace.c
diff --git a/src/AspNetCoreModuleV2/IISLib/reftrace.h b/src/IISIntegration/src/AspNetCoreModuleV2/IISLib/reftrace.h
similarity index 100%
rename from src/AspNetCoreModuleV2/IISLib/reftrace.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/IISLib/reftrace.h
diff --git a/src/AspNetCoreModuleV2/IISLib/rwlock.h b/src/IISIntegration/src/AspNetCoreModuleV2/IISLib/rwlock.h
similarity index 100%
rename from src/AspNetCoreModuleV2/IISLib/rwlock.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/IISLib/rwlock.h
diff --git a/src/AspNetCoreModuleV2/IISLib/stringa.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/IISLib/stringa.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/IISLib/stringa.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/IISLib/stringa.cpp
diff --git a/src/AspNetCoreModuleV2/IISLib/stringa.h b/src/IISIntegration/src/AspNetCoreModuleV2/IISLib/stringa.h
similarity index 100%
rename from src/AspNetCoreModuleV2/IISLib/stringa.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/IISLib/stringa.h
diff --git a/src/AspNetCoreModuleV2/IISLib/stringu.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/IISLib/stringu.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/IISLib/stringu.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/IISLib/stringu.cpp
diff --git a/src/AspNetCoreModuleV2/IISLib/stringu.h b/src/IISIntegration/src/AspNetCoreModuleV2/IISLib/stringu.h
similarity index 100%
rename from src/AspNetCoreModuleV2/IISLib/stringu.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/IISLib/stringu.h
diff --git a/src/AspNetCoreModuleV2/IISLib/tracelog.c b/src/IISIntegration/src/AspNetCoreModuleV2/IISLib/tracelog.c
similarity index 100%
rename from src/AspNetCoreModuleV2/IISLib/tracelog.c
rename to src/IISIntegration/src/AspNetCoreModuleV2/IISLib/tracelog.c
diff --git a/src/AspNetCoreModuleV2/IISLib/tracelog.h b/src/IISIntegration/src/AspNetCoreModuleV2/IISLib/tracelog.h
similarity index 100%
rename from src/AspNetCoreModuleV2/IISLib/tracelog.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/IISLib/tracelog.h
diff --git a/src/AspNetCoreModuleV2/IISLib/treehash.h b/src/IISIntegration/src/AspNetCoreModuleV2/IISLib/treehash.h
similarity index 100%
rename from src/AspNetCoreModuleV2/IISLib/treehash.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/IISLib/treehash.h
diff --git a/src/AspNetCoreModuleV2/IISLib/util.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/IISLib/util.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/IISLib/util.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/IISLib/util.cpp
diff --git a/src/AspNetCoreModuleV2/InProcessRequestHandler/HtmlResponses.rc b/src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/HtmlResponses.rc
similarity index 100%
rename from src/AspNetCoreModuleV2/InProcessRequestHandler/HtmlResponses.rc
rename to src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/HtmlResponses.rc
diff --git a/src/AspNetCoreModuleV2/InProcessRequestHandler/InProcessApplicationBase.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/InProcessApplicationBase.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/InProcessRequestHandler/InProcessApplicationBase.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/InProcessApplicationBase.cpp
diff --git a/src/AspNetCoreModuleV2/InProcessRequestHandler/InProcessApplicationBase.h b/src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/InProcessApplicationBase.h
similarity index 100%
rename from src/AspNetCoreModuleV2/InProcessRequestHandler/InProcessApplicationBase.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/InProcessApplicationBase.h
diff --git a/src/AspNetCoreModuleV2/InProcessRequestHandler/InProcessOptions.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/InProcessOptions.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/InProcessRequestHandler/InProcessOptions.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/InProcessOptions.cpp
diff --git a/src/AspNetCoreModuleV2/InProcessRequestHandler/InProcessOptions.h b/src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/InProcessOptions.h
similarity index 100%
rename from src/AspNetCoreModuleV2/InProcessRequestHandler/InProcessOptions.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/InProcessOptions.h
diff --git a/src/AspNetCoreModuleV2/InProcessRequestHandler/InProcessRequestHandler.vcxproj b/src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/InProcessRequestHandler.vcxproj
similarity index 98%
rename from src/AspNetCoreModuleV2/InProcessRequestHandler/InProcessRequestHandler.vcxproj
rename to src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/InProcessRequestHandler.vcxproj
index 5e3fe5c6c1..69435f32d6 100644
--- a/src/AspNetCoreModuleV2/InProcessRequestHandler/InProcessRequestHandler.vcxproj
+++ b/src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/InProcessRequestHandler.vcxproj
@@ -1,276 +1,276 @@
-
-
-
-
-
- Debug
- Win32
-
-
- Release
- Win32
-
-
- Debug
- x64
-
-
- Release
- x64
-
-
-
- 15.0
- {D57EA297-6DC2-4BC0-8C91-334863327863}
- Win32Proj
- InProcessRequestHandler
- 10.0.15063.0
- InProcessRequestHandler
-
-
-
- DynamicLibrary
- true
- v141
- Unicode
-
-
- DynamicLibrary
- false
- v141
- true
- Unicode
-
-
- DynamicLibrary
- true
- v141
- Unicode
-
-
- DynamicLibrary
- false
- v141
- true
- Unicode
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- aspnetcorev2_inprocess
-
-
- false
-
-
- false
-
-
-
- Use
- Level4
- Disabled
- WIN32;_DEBUG;REQUESTHANDLER_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)
- stdafx.h
- $(IntDir)$(TargetName).pch
- ProgramDatabase
- MultiThreadedDebug
- ..\IISLib;..\CommonLib;.\Inc;..\RequestHandlerLib
- true
- true
- true
- false
- SyncCThrow
- 8Bytes
- true
- false
- true
- CompileAsCpp
- true
- stdcpp17
- stdafx.h
- true
-
-
- Windows
- true
- kernel32.lib;user32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;ahadmin.lib;ws2_32.lib;iphlpapi.lib;version.lib
- Source.def
- UseLinkTimeCodeGeneration
-
-
-
-
- Use
- Level4
- Disabled
- WIN32;_DEBUG;REQUESTHANDLER_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)
- stdafx.h
- $(IntDir)$(TargetName).pch
- ProgramDatabase
- MultiThreadedDebug
- ..\IISLib;..\CommonLib;.\Inc;..\RequestHandlerLib
- true
- true
- true
- false
- SyncCThrow
- 8Bytes
- true
- false
- true
- CompileAsCpp
- true
- stdcpp17
- stdafx.h
- true
-
-
- Windows
- true
- kernel32.lib;user32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;ahadmin.lib;ws2_32.lib;iphlpapi.lib;version.lib
- Source.def
- UseLinkTimeCodeGeneration
-
-
-
-
- Level4
- Use
- MaxSpeed
- true
- true
- WIN32;NDEBUG;_WINDOWS;_USRDLL;REQUESTHANDLER_EXPORTS;%(PreprocessorDefinitions)
- stdafx.h
- MultiThreaded
- ..\IISLib;..\CommonLib;.\Inc;..\RequestHandlerLib
- true
- true
- true
- false
- SyncCThrow
- 8Bytes
- true
- false
- true
- CompileAsCpp
- true
- stdcpp17
- stdafx.h
- true
-
-
- Windows
- false
- true
- /NODEFAULTLIB:libucrt.lib /DEFAULTLIB:ucrt.lib %(AdditionalOptions)
- true
- Source.def
- kernel32.lib;user32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;ahadmin.lib;ws2_32.lib;iphlpapi.lib;version.lib
- UseLinkTimeCodeGeneration
-
-
-
-
- Level4
- Use
- MaxSpeed
- true
- true
- NDEBUG;REQUESTHANDLER_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)
- stdafx.h
- MultiThreaded
- ..\IISLib;..\CommonLib;.\Inc;..\RequestHandlerLib
- true
- true
- true
- false
- SyncCThrow
- 8Bytes
- true
- false
- true
- CompileAsCpp
- true
- stdcpp17
- stdafx.h
- true
-
-
- Windows
- false
- true
- /NODEFAULTLIB:libucrt.lib /DEFAULTLIB:ucrt.lib %(AdditionalOptions)
- true
- Source.def
- kernel32.lib;user32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;ahadmin.lib;ws2_32.lib;iphlpapi.lib;version.lib
- UseLinkTimeCodeGeneration
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Create
- Create
- Create
- Create
-
-
-
-
- {55494e58-e061-4c4c-a0a8-837008e72f85}
-
-
- {09d9d1d6-2951-4e14-bc35-76a23cf9391a}
-
-
- {1533e271-f61b-441b-8b74-59fb61df0552}
-
-
-
-
-
-
-
-
- true
-
-
-
-
-
-
-
+
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ 15.0
+ {D57EA297-6DC2-4BC0-8C91-334863327863}
+ Win32Proj
+ InProcessRequestHandler
+ 10.0.15063.0
+ InProcessRequestHandler
+
+
+
+ DynamicLibrary
+ true
+ v141
+ Unicode
+
+
+ DynamicLibrary
+ false
+ v141
+ true
+ Unicode
+
+
+ DynamicLibrary
+ true
+ v141
+ Unicode
+
+
+ DynamicLibrary
+ false
+ v141
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ aspnetcorev2_inprocess
+
+
+ false
+
+
+ false
+
+
+
+ Use
+ Level4
+ Disabled
+ WIN32;_DEBUG;REQUESTHANDLER_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)
+ stdafx.h
+ $(IntDir)$(TargetName).pch
+ ProgramDatabase
+ MultiThreadedDebug
+ ..\IISLib;..\CommonLib;.\Inc;..\RequestHandlerLib
+ true
+ true
+ true
+ false
+ SyncCThrow
+ 8Bytes
+ true
+ false
+ true
+ CompileAsCpp
+ true
+ stdcpp17
+ stdafx.h
+ true
+
+
+ Windows
+ true
+ kernel32.lib;user32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;ahadmin.lib;ws2_32.lib;iphlpapi.lib;version.lib
+ Source.def
+ UseLinkTimeCodeGeneration
+
+
+
+
+ Use
+ Level4
+ Disabled
+ WIN32;_DEBUG;REQUESTHANDLER_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)
+ stdafx.h
+ $(IntDir)$(TargetName).pch
+ ProgramDatabase
+ MultiThreadedDebug
+ ..\IISLib;..\CommonLib;.\Inc;..\RequestHandlerLib
+ true
+ true
+ true
+ false
+ SyncCThrow
+ 8Bytes
+ true
+ false
+ true
+ CompileAsCpp
+ true
+ stdcpp17
+ stdafx.h
+ true
+
+
+ Windows
+ true
+ kernel32.lib;user32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;ahadmin.lib;ws2_32.lib;iphlpapi.lib;version.lib
+ Source.def
+ UseLinkTimeCodeGeneration
+
+
+
+
+ Level4
+ Use
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_WINDOWS;_USRDLL;REQUESTHANDLER_EXPORTS;%(PreprocessorDefinitions)
+ stdafx.h
+ MultiThreaded
+ ..\IISLib;..\CommonLib;.\Inc;..\RequestHandlerLib
+ true
+ true
+ true
+ false
+ SyncCThrow
+ 8Bytes
+ true
+ false
+ true
+ CompileAsCpp
+ true
+ stdcpp17
+ stdafx.h
+ true
+
+
+ Windows
+ false
+ true
+ /NODEFAULTLIB:libucrt.lib /DEFAULTLIB:ucrt.lib %(AdditionalOptions)
+ true
+ Source.def
+ kernel32.lib;user32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;ahadmin.lib;ws2_32.lib;iphlpapi.lib;version.lib
+ UseLinkTimeCodeGeneration
+
+
+
+
+ Level4
+ Use
+ MaxSpeed
+ true
+ true
+ NDEBUG;REQUESTHANDLER_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)
+ stdafx.h
+ MultiThreaded
+ ..\IISLib;..\CommonLib;.\Inc;..\RequestHandlerLib
+ true
+ true
+ true
+ false
+ SyncCThrow
+ 8Bytes
+ true
+ false
+ true
+ CompileAsCpp
+ true
+ stdcpp17
+ stdafx.h
+ true
+
+
+ Windows
+ false
+ true
+ /NODEFAULTLIB:libucrt.lib /DEFAULTLIB:ucrt.lib %(AdditionalOptions)
+ true
+ Source.def
+ kernel32.lib;user32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;ahadmin.lib;ws2_32.lib;iphlpapi.lib;version.lib
+ UseLinkTimeCodeGeneration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Create
+ Create
+ Create
+ Create
+
+
+
+
+ {55494e58-e061-4c4c-a0a8-837008e72f85}
+
+
+ {09d9d1d6-2951-4e14-bc35-76a23cf9391a}
+
+
+ {1533e271-f61b-441b-8b74-59fb61df0552}
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/AspNetCoreModuleV2/InProcessRequestHandler/InProcessRhStaticHtml.htm b/src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/InProcessRhStaticHtml.htm
similarity index 100%
rename from src/AspNetCoreModuleV2/InProcessRequestHandler/InProcessRhStaticHtml.htm
rename to src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/InProcessRhStaticHtml.htm
diff --git a/src/AspNetCoreModuleV2/InProcessRequestHandler/ShuttingDownApplication.h b/src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/ShuttingDownApplication.h
similarity index 100%
rename from src/AspNetCoreModuleV2/InProcessRequestHandler/ShuttingDownApplication.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/ShuttingDownApplication.h
diff --git a/src/AspNetCoreModuleV2/InProcessRequestHandler/Source.def b/src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/Source.def
similarity index 100%
rename from src/AspNetCoreModuleV2/InProcessRequestHandler/Source.def
rename to src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/Source.def
diff --git a/src/AspNetCoreModuleV2/InProcessRequestHandler/StartupExceptionApplication.h b/src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/StartupExceptionApplication.h
similarity index 100%
rename from src/AspNetCoreModuleV2/InProcessRequestHandler/StartupExceptionApplication.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/StartupExceptionApplication.h
diff --git a/src/AspNetCoreModuleV2/InProcessRequestHandler/StartupExceptionHandler.h b/src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/StartupExceptionHandler.h
similarity index 100%
rename from src/AspNetCoreModuleV2/InProcessRequestHandler/StartupExceptionHandler.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/StartupExceptionHandler.h
diff --git a/src/AspNetCoreModuleV2/InProcessRequestHandler/dllmain.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/dllmain.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/InProcessRequestHandler/dllmain.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/dllmain.cpp
diff --git a/src/AspNetCoreModuleV2/InProcessRequestHandler/inprocessapplication.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/inprocessapplication.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/InProcessRequestHandler/inprocessapplication.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/inprocessapplication.cpp
diff --git a/src/AspNetCoreModuleV2/InProcessRequestHandler/inprocessapplication.h b/src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/inprocessapplication.h
similarity index 100%
rename from src/AspNetCoreModuleV2/InProcessRequestHandler/inprocessapplication.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/inprocessapplication.h
diff --git a/src/AspNetCoreModuleV2/InProcessRequestHandler/inprocesshandler.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/inprocesshandler.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/InProcessRequestHandler/inprocesshandler.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/inprocesshandler.cpp
diff --git a/src/AspNetCoreModuleV2/InProcessRequestHandler/inprocesshandler.h b/src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/inprocesshandler.h
similarity index 100%
rename from src/AspNetCoreModuleV2/InProcessRequestHandler/inprocesshandler.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/inprocesshandler.h
diff --git a/src/AspNetCoreModuleV2/InProcessRequestHandler/inprocessrequesthandler.rc b/src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/inprocessrequesthandler.rc
similarity index 100%
rename from src/AspNetCoreModuleV2/InProcessRequestHandler/inprocessrequesthandler.rc
rename to src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/inprocessrequesthandler.rc
diff --git a/src/AspNetCoreModuleV2/InProcessRequestHandler/managedexports.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/managedexports.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/InProcessRequestHandler/managedexports.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/managedexports.cpp
diff --git a/src/AspNetCoreModuleV2/InProcessRequestHandler/resource.h b/src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/resource.h
similarity index 100%
rename from src/AspNetCoreModuleV2/InProcessRequestHandler/resource.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/resource.h
diff --git a/src/AspNetCoreModuleV2/InProcessRequestHandler/stdafx.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/stdafx.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/InProcessRequestHandler/stdafx.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/stdafx.cpp
diff --git a/src/AspNetCoreModuleV2/InProcessRequestHandler/stdafx.h b/src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/stdafx.h
similarity index 100%
rename from src/AspNetCoreModuleV2/InProcessRequestHandler/stdafx.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/InProcessRequestHandler/stdafx.h
diff --git a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/HtmlResponses.rc b/src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/HtmlResponses.rc
similarity index 100%
rename from src/AspNetCoreModuleV2/OutOfProcessRequestHandler/HtmlResponses.rc
rename to src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/HtmlResponses.rc
diff --git a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/OutOfProcessRequestHandler.vcxproj b/src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/OutOfProcessRequestHandler.vcxproj
similarity index 98%
rename from src/AspNetCoreModuleV2/OutOfProcessRequestHandler/OutOfProcessRequestHandler.vcxproj
rename to src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/OutOfProcessRequestHandler.vcxproj
index 7d29672fa0..ca2bc0f4aa 100644
--- a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/OutOfProcessRequestHandler.vcxproj
+++ b/src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/OutOfProcessRequestHandler.vcxproj
@@ -1,285 +1,285 @@
-
-
-
-
-
- Debug
- Win32
-
-
- Release
- Win32
-
-
- Debug
- x64
-
-
- Release
- x64
-
-
-
- 15.0
- {7F87406C-A3C8-4139-A68D-E4C344294A67}
- Win32Proj
- OutOfProcessRequestHandler
- 10.0.15063.0
- OutOfProcessRequestHandler
-
-
-
- DynamicLibrary
- true
- v141
- Unicode
-
-
- DynamicLibrary
- false
- v141
- true
- Unicode
-
-
- DynamicLibrary
- true
- v141
- Unicode
-
-
- DynamicLibrary
- false
- v141
- true
- Unicode
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- aspnetcorev2_outofprocess
-
-
- false
-
-
- false
-
-
-
- Use
- Level4
- Disabled
- WIN32;_DEBUG;REQUESTHANDLER_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)
- stdafx.h
- $(IntDir)$(TargetName).pch
- ProgramDatabase
- MultiThreadedDebug
- ..\IISLib;..\CommonLib;.\Inc;..\RequestHandlerLib
- true
- true
- true
- false
- SyncCThrow
- 8Bytes
- true
- false
- true
- CompileAsCpp
- true
- true
- stdcpp17
- stdafx.h
-
-
- Windows
- true
- kernel32.lib;user32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;ahadmin.lib;ws2_32.lib;iphlpapi.lib;version.lib;Rpcrt4.lib;winhttp.lib
- Source.def
- UseLinkTimeCodeGeneration
-
-
-
-
- Use
- Level4
- Disabled
- WIN32;_DEBUG;REQUESTHANDLER_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)
- stdafx.h
- $(IntDir)$(TargetName).pch
- ProgramDatabase
- MultiThreadedDebug
- ..\IISLib;..\CommonLib;.\Inc;..\RequestHandlerLib
- true
- true
- true
- false
- SyncCThrow
- 8Bytes
- true
- false
- true
- CompileAsCpp
- true
- true
- stdcpp17
- stdafx.h
-
-
- Windows
- true
- kernel32.lib;user32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;ahadmin.lib;ws2_32.lib;iphlpapi.lib;version.lib;Rpcrt4.lib;winhttp.lib
- Source.def
- UseLinkTimeCodeGeneration
-
-
-
-
- Level4
- Use
- MaxSpeed
- true
- true
- WIN32;NDEBUG;_WINDOWS;_USRDLL;REQUESTHANDLER_EXPORTS;%(PreprocessorDefinitions)
- stdafx.h
- MultiThreaded
- ..\IISLib;..\CommonLib;.\Inc;..\RequestHandlerLib
- true
- true
- true
- false
- SyncCThrow
- 8Bytes
- true
- false
- true
- CompileAsCpp
- true
- true
- stdcpp17
- stdafx.h
-
-
- Windows
- false
- true
- /NODEFAULTLIB:libucrt.lib /DEFAULTLIB:ucrt.lib %(AdditionalOptions)
- true
- Source.def
- kernel32.lib;user32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;ahadmin.lib;ws2_32.lib;iphlpapi.lib;version.lib;Rpcrt4.lib;winhttp.lib
- UseLinkTimeCodeGeneration
-
-
-
-
- Level4
- Use
- MaxSpeed
- true
- true
- NDEBUG;REQUESTHANDLER_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)
- stdafx.h
- MultiThreaded
- ..\IISLib;..\CommonLib;.\Inc;..\RequestHandlerLib
- true
- true
- true
- false
- SyncCThrow
- 8Bytes
- true
- false
- true
- CompileAsCpp
- true
- true
- stdcpp17
- stdafx.h
-
-
- Windows
- false
- true
- /NODEFAULTLIB:libucrt.lib /DEFAULTLIB:ucrt.lib %(AdditionalOptions)
- true
- Source.def
- kernel32.lib;user32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;ahadmin.lib;ws2_32.lib;iphlpapi.lib;version.lib;Rpcrt4.lib;winhttp.lib
- UseLinkTimeCodeGeneration
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Create
- Create
- Create
- Create
-
-
-
-
-
-
-
- {55494e58-e061-4c4c-a0a8-837008e72f85}
-
-
- {4787a64f-9a3e-4867-a55a-70cb4b2b2ffe}
-
-
- {1533e271-f61b-441b-8b74-59fb61df0552}
-
-
-
-
-
-
-
-
- true
-
-
-
-
-
-
-
+
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ 15.0
+ {7F87406C-A3C8-4139-A68D-E4C344294A67}
+ Win32Proj
+ OutOfProcessRequestHandler
+ 10.0.15063.0
+ OutOfProcessRequestHandler
+
+
+
+ DynamicLibrary
+ true
+ v141
+ Unicode
+
+
+ DynamicLibrary
+ false
+ v141
+ true
+ Unicode
+
+
+ DynamicLibrary
+ true
+ v141
+ Unicode
+
+
+ DynamicLibrary
+ false
+ v141
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ aspnetcorev2_outofprocess
+
+
+ false
+
+
+ false
+
+
+
+ Use
+ Level4
+ Disabled
+ WIN32;_DEBUG;REQUESTHANDLER_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)
+ stdafx.h
+ $(IntDir)$(TargetName).pch
+ ProgramDatabase
+ MultiThreadedDebug
+ ..\IISLib;..\CommonLib;.\Inc;..\RequestHandlerLib
+ true
+ true
+ true
+ false
+ SyncCThrow
+ 8Bytes
+ true
+ false
+ true
+ CompileAsCpp
+ true
+ true
+ stdcpp17
+ stdafx.h
+
+
+ Windows
+ true
+ kernel32.lib;user32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;ahadmin.lib;ws2_32.lib;iphlpapi.lib;version.lib;Rpcrt4.lib;winhttp.lib
+ Source.def
+ UseLinkTimeCodeGeneration
+
+
+
+
+ Use
+ Level4
+ Disabled
+ WIN32;_DEBUG;REQUESTHANDLER_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)
+ stdafx.h
+ $(IntDir)$(TargetName).pch
+ ProgramDatabase
+ MultiThreadedDebug
+ ..\IISLib;..\CommonLib;.\Inc;..\RequestHandlerLib
+ true
+ true
+ true
+ false
+ SyncCThrow
+ 8Bytes
+ true
+ false
+ true
+ CompileAsCpp
+ true
+ true
+ stdcpp17
+ stdafx.h
+
+
+ Windows
+ true
+ kernel32.lib;user32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;ahadmin.lib;ws2_32.lib;iphlpapi.lib;version.lib;Rpcrt4.lib;winhttp.lib
+ Source.def
+ UseLinkTimeCodeGeneration
+
+
+
+
+ Level4
+ Use
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_WINDOWS;_USRDLL;REQUESTHANDLER_EXPORTS;%(PreprocessorDefinitions)
+ stdafx.h
+ MultiThreaded
+ ..\IISLib;..\CommonLib;.\Inc;..\RequestHandlerLib
+ true
+ true
+ true
+ false
+ SyncCThrow
+ 8Bytes
+ true
+ false
+ true
+ CompileAsCpp
+ true
+ true
+ stdcpp17
+ stdafx.h
+
+
+ Windows
+ false
+ true
+ /NODEFAULTLIB:libucrt.lib /DEFAULTLIB:ucrt.lib %(AdditionalOptions)
+ true
+ Source.def
+ kernel32.lib;user32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;ahadmin.lib;ws2_32.lib;iphlpapi.lib;version.lib;Rpcrt4.lib;winhttp.lib
+ UseLinkTimeCodeGeneration
+
+
+
+
+ Level4
+ Use
+ MaxSpeed
+ true
+ true
+ NDEBUG;REQUESTHANDLER_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)
+ stdafx.h
+ MultiThreaded
+ ..\IISLib;..\CommonLib;.\Inc;..\RequestHandlerLib
+ true
+ true
+ true
+ false
+ SyncCThrow
+ 8Bytes
+ true
+ false
+ true
+ CompileAsCpp
+ true
+ true
+ stdcpp17
+ stdafx.h
+
+
+ Windows
+ false
+ true
+ /NODEFAULTLIB:libucrt.lib /DEFAULTLIB:ucrt.lib %(AdditionalOptions)
+ true
+ Source.def
+ kernel32.lib;user32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;ahadmin.lib;ws2_32.lib;iphlpapi.lib;version.lib;Rpcrt4.lib;winhttp.lib
+ UseLinkTimeCodeGeneration
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Create
+ Create
+ Create
+ Create
+
+
+
+
+
+
+
+ {55494e58-e061-4c4c-a0a8-837008e72f85}
+
+
+ {4787a64f-9a3e-4867-a55a-70cb4b2b2ffe}
+
+
+ {1533e271-f61b-441b-8b74-59fb61df0552}
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/OutOfProcessRhStaticHtml.htm b/src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/OutOfProcessRhStaticHtml.htm
similarity index 100%
rename from src/AspNetCoreModuleV2/OutOfProcessRequestHandler/OutOfProcessRhStaticHtml.htm
rename to src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/OutOfProcessRhStaticHtml.htm
diff --git a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/Source.def b/src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/Source.def
similarity index 100%
rename from src/AspNetCoreModuleV2/OutOfProcessRequestHandler/Source.def
rename to src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/Source.def
diff --git a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/dllmain.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/dllmain.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/OutOfProcessRequestHandler/dllmain.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/dllmain.cpp
diff --git a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/forwarderconnection.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/forwarderconnection.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/OutOfProcessRequestHandler/forwarderconnection.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/forwarderconnection.cpp
diff --git a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/forwarderconnection.h b/src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/forwarderconnection.h
similarity index 100%
rename from src/AspNetCoreModuleV2/OutOfProcessRequestHandler/forwarderconnection.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/forwarderconnection.h
diff --git a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/forwardinghandler.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/forwardinghandler.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/OutOfProcessRequestHandler/forwardinghandler.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/forwardinghandler.cpp
diff --git a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/forwardinghandler.h b/src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/forwardinghandler.h
similarity index 100%
rename from src/AspNetCoreModuleV2/OutOfProcessRequestHandler/forwardinghandler.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/forwardinghandler.h
diff --git a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/outofprocessrequesthandler.rc b/src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/outofprocessrequesthandler.rc
similarity index 100%
rename from src/AspNetCoreModuleV2/OutOfProcessRequestHandler/outofprocessrequesthandler.rc
rename to src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/outofprocessrequesthandler.rc
diff --git a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/outprocessapplication.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/outprocessapplication.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/OutOfProcessRequestHandler/outprocessapplication.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/outprocessapplication.cpp
diff --git a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/outprocessapplication.h b/src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/outprocessapplication.h
similarity index 100%
rename from src/AspNetCoreModuleV2/OutOfProcessRequestHandler/outprocessapplication.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/outprocessapplication.h
diff --git a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/processmanager.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/processmanager.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/OutOfProcessRequestHandler/processmanager.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/processmanager.cpp
diff --git a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/processmanager.h b/src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/processmanager.h
similarity index 100%
rename from src/AspNetCoreModuleV2/OutOfProcessRequestHandler/processmanager.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/processmanager.h
diff --git a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/protocolconfig.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/protocolconfig.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/OutOfProcessRequestHandler/protocolconfig.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/protocolconfig.cpp
diff --git a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/protocolconfig.h b/src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/protocolconfig.h
similarity index 100%
rename from src/AspNetCoreModuleV2/OutOfProcessRequestHandler/protocolconfig.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/protocolconfig.h
diff --git a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/resource.h b/src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/resource.h
similarity index 100%
rename from src/AspNetCoreModuleV2/OutOfProcessRequestHandler/resource.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/resource.h
diff --git a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/responseheaderhash.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/responseheaderhash.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/OutOfProcessRequestHandler/responseheaderhash.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/responseheaderhash.cpp
diff --git a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/responseheaderhash.h b/src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/responseheaderhash.h
similarity index 100%
rename from src/AspNetCoreModuleV2/OutOfProcessRequestHandler/responseheaderhash.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/responseheaderhash.h
diff --git a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/serverprocess.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/serverprocess.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/OutOfProcessRequestHandler/serverprocess.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/serverprocess.cpp
diff --git a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/serverprocess.h b/src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/serverprocess.h
similarity index 100%
rename from src/AspNetCoreModuleV2/OutOfProcessRequestHandler/serverprocess.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/serverprocess.h
diff --git a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/stdafx.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/stdafx.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/OutOfProcessRequestHandler/stdafx.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/stdafx.cpp
diff --git a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/stdafx.h b/src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/stdafx.h
similarity index 100%
rename from src/AspNetCoreModuleV2/OutOfProcessRequestHandler/stdafx.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/stdafx.h
diff --git a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/url_utility.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/url_utility.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/OutOfProcessRequestHandler/url_utility.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/url_utility.cpp
diff --git a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/url_utility.h b/src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/url_utility.h
similarity index 100%
rename from src/AspNetCoreModuleV2/OutOfProcessRequestHandler/url_utility.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/url_utility.h
diff --git a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/websockethandler.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/websockethandler.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/OutOfProcessRequestHandler/websockethandler.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/websockethandler.cpp
diff --git a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/websockethandler.h b/src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/websockethandler.h
similarity index 100%
rename from src/AspNetCoreModuleV2/OutOfProcessRequestHandler/websockethandler.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/websockethandler.h
diff --git a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/winhttphelper.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/winhttphelper.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/OutOfProcessRequestHandler/winhttphelper.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/winhttphelper.cpp
diff --git a/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/winhttphelper.h b/src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/winhttphelper.h
similarity index 100%
rename from src/AspNetCoreModuleV2/OutOfProcessRequestHandler/winhttphelper.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/OutOfProcessRequestHandler/winhttphelper.h
diff --git a/src/AspNetCoreModuleV2/RequestHandlerLib/AppOfflineTrackingApplication.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/RequestHandlerLib/AppOfflineTrackingApplication.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/RequestHandlerLib/AppOfflineTrackingApplication.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/RequestHandlerLib/AppOfflineTrackingApplication.cpp
diff --git a/src/AspNetCoreModuleV2/RequestHandlerLib/AppOfflineTrackingApplication.h b/src/IISIntegration/src/AspNetCoreModuleV2/RequestHandlerLib/AppOfflineTrackingApplication.h
similarity index 100%
rename from src/AspNetCoreModuleV2/RequestHandlerLib/AppOfflineTrackingApplication.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/RequestHandlerLib/AppOfflineTrackingApplication.h
diff --git a/src/AspNetCoreModuleV2/RequestHandlerLib/RequestHandlerLib.vcxproj b/src/IISIntegration/src/AspNetCoreModuleV2/RequestHandlerLib/RequestHandlerLib.vcxproj
similarity index 100%
rename from src/AspNetCoreModuleV2/RequestHandlerLib/RequestHandlerLib.vcxproj
rename to src/IISIntegration/src/AspNetCoreModuleV2/RequestHandlerLib/RequestHandlerLib.vcxproj
diff --git a/src/AspNetCoreModuleV2/RequestHandlerLib/environmentvariablehash.h b/src/IISIntegration/src/AspNetCoreModuleV2/RequestHandlerLib/environmentvariablehash.h
similarity index 100%
rename from src/AspNetCoreModuleV2/RequestHandlerLib/environmentvariablehash.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/RequestHandlerLib/environmentvariablehash.h
diff --git a/src/AspNetCoreModuleV2/RequestHandlerLib/environmentvariablehelpers.h b/src/IISIntegration/src/AspNetCoreModuleV2/RequestHandlerLib/environmentvariablehelpers.h
similarity index 100%
rename from src/AspNetCoreModuleV2/RequestHandlerLib/environmentvariablehelpers.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/RequestHandlerLib/environmentvariablehelpers.h
diff --git a/src/AspNetCoreModuleV2/RequestHandlerLib/filewatcher.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/RequestHandlerLib/filewatcher.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/RequestHandlerLib/filewatcher.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/RequestHandlerLib/filewatcher.cpp
diff --git a/src/AspNetCoreModuleV2/RequestHandlerLib/filewatcher.h b/src/IISIntegration/src/AspNetCoreModuleV2/RequestHandlerLib/filewatcher.h
similarity index 100%
rename from src/AspNetCoreModuleV2/RequestHandlerLib/filewatcher.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/RequestHandlerLib/filewatcher.h
diff --git a/src/AspNetCoreModuleV2/RequestHandlerLib/requesthandler_config.cpp b/src/IISIntegration/src/AspNetCoreModuleV2/RequestHandlerLib/requesthandler_config.cpp
similarity index 100%
rename from src/AspNetCoreModuleV2/RequestHandlerLib/requesthandler_config.cpp
rename to src/IISIntegration/src/AspNetCoreModuleV2/RequestHandlerLib/requesthandler_config.cpp
diff --git a/src/AspNetCoreModuleV2/RequestHandlerLib/requesthandler_config.h b/src/IISIntegration/src/AspNetCoreModuleV2/RequestHandlerLib/requesthandler_config.h
similarity index 100%
rename from src/AspNetCoreModuleV2/RequestHandlerLib/requesthandler_config.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/RequestHandlerLib/requesthandler_config.h
diff --git a/src/AspNetCoreModuleV2/RequestHandlerLib/stdafx.h b/src/IISIntegration/src/AspNetCoreModuleV2/RequestHandlerLib/stdafx.h
similarity index 100%
rename from src/AspNetCoreModuleV2/RequestHandlerLib/stdafx.h
rename to src/IISIntegration/src/AspNetCoreModuleV2/RequestHandlerLib/stdafx.h
diff --git a/src/Directory.Build.props b/src/IISIntegration/src/Directory.Build.props
similarity index 100%
rename from src/Directory.Build.props
rename to src/IISIntegration/src/Directory.Build.props
diff --git a/test/Common.FunctionalTests/AppHostConfig/IIS.config b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/AppHostConfig/IIS.config
similarity index 100%
rename from test/Common.FunctionalTests/AppHostConfig/IIS.config
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/AppHostConfig/IIS.config
diff --git a/test/Common.FunctionalTests/AppOfflineTests.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/AppOfflineTests.cs
similarity index 100%
rename from test/Common.FunctionalTests/AppOfflineTests.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/AppOfflineTests.cs
diff --git a/test/Common.FunctionalTests/BasicAuthTests.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/BasicAuthTests.cs
similarity index 100%
rename from test/Common.FunctionalTests/BasicAuthTests.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/BasicAuthTests.cs
diff --git a/test/Common.FunctionalTests/ClientCertificateFixture.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/ClientCertificateFixture.cs
similarity index 100%
rename from test/Common.FunctionalTests/ClientCertificateFixture.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/ClientCertificateFixture.cs
diff --git a/test/Common.FunctionalTests/ClientCertificateTests.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/ClientCertificateTests.cs
similarity index 100%
rename from test/Common.FunctionalTests/ClientCertificateTests.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/ClientCertificateTests.cs
diff --git a/test/Common.FunctionalTests/ClientDisconnectStress.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/ClientDisconnectStress.cs
similarity index 100%
rename from test/Common.FunctionalTests/ClientDisconnectStress.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/ClientDisconnectStress.cs
diff --git a/test/Common.FunctionalTests/CommonStartupTests.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/CommonStartupTests.cs
similarity index 100%
rename from test/Common.FunctionalTests/CommonStartupTests.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/CommonStartupTests.cs
diff --git a/test/Common.FunctionalTests/CompressionTests.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/CompressionTests.cs
similarity index 100%
rename from test/Common.FunctionalTests/CompressionTests.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/CompressionTests.cs
diff --git a/test/Common.FunctionalTests/ConfigurationChangeTests.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/ConfigurationChangeTests.cs
similarity index 100%
rename from test/Common.FunctionalTests/ConfigurationChangeTests.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/ConfigurationChangeTests.cs
diff --git a/test/Common.FunctionalTests/Inprocess/ClientDisconnectTests.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Inprocess/ClientDisconnectTests.cs
similarity index 100%
rename from test/Common.FunctionalTests/Inprocess/ClientDisconnectTests.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Inprocess/ClientDisconnectTests.cs
diff --git a/test/Common.FunctionalTests/Inprocess/CompressionTests.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Inprocess/CompressionTests.cs
similarity index 100%
rename from test/Common.FunctionalTests/Inprocess/CompressionTests.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Inprocess/CompressionTests.cs
diff --git a/test/Common.FunctionalTests/Inprocess/EnvironmentVariableTests.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Inprocess/EnvironmentVariableTests.cs
similarity index 100%
rename from test/Common.FunctionalTests/Inprocess/EnvironmentVariableTests.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Inprocess/EnvironmentVariableTests.cs
diff --git a/test/Common.FunctionalTests/Inprocess/ErrorPagesTests.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Inprocess/ErrorPagesTests.cs
similarity index 100%
rename from test/Common.FunctionalTests/Inprocess/ErrorPagesTests.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Inprocess/ErrorPagesTests.cs
diff --git a/test/Common.FunctionalTests/Inprocess/EventLogTests.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Inprocess/EventLogTests.cs
similarity index 100%
rename from test/Common.FunctionalTests/Inprocess/EventLogTests.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Inprocess/EventLogTests.cs
diff --git a/test/Common.FunctionalTests/Inprocess/FeatureCollectionTests.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Inprocess/FeatureCollectionTests.cs
similarity index 100%
rename from test/Common.FunctionalTests/Inprocess/FeatureCollectionTests.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Inprocess/FeatureCollectionTests.cs
diff --git a/test/Common.FunctionalTests/Inprocess/FixtureLoggedTest.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Inprocess/FixtureLoggedTest.cs
similarity index 100%
rename from test/Common.FunctionalTests/Inprocess/FixtureLoggedTest.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Inprocess/FixtureLoggedTest.cs
diff --git a/test/Common.FunctionalTests/Inprocess/FrebTests.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Inprocess/FrebTests.cs
similarity index 100%
rename from test/Common.FunctionalTests/Inprocess/FrebTests.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Inprocess/FrebTests.cs
diff --git a/test/Common.FunctionalTests/Inprocess/HelloWorldTests.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Inprocess/HelloWorldTests.cs
similarity index 100%
rename from test/Common.FunctionalTests/Inprocess/HelloWorldTests.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Inprocess/HelloWorldTests.cs
diff --git a/test/Common.FunctionalTests/Inprocess/HostingEnvironmentTests.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Inprocess/HostingEnvironmentTests.cs
similarity index 100%
rename from test/Common.FunctionalTests/Inprocess/HostingEnvironmentTests.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Inprocess/HostingEnvironmentTests.cs
diff --git a/test/Common.FunctionalTests/Inprocess/InvalidReadWriteOperationTests.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Inprocess/InvalidReadWriteOperationTests.cs
similarity index 100%
rename from test/Common.FunctionalTests/Inprocess/InvalidReadWriteOperationTests.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Inprocess/InvalidReadWriteOperationTests.cs
diff --git a/test/Common.FunctionalTests/Inprocess/LargeResponseBodyTests.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Inprocess/LargeResponseBodyTests.cs
similarity index 100%
rename from test/Common.FunctionalTests/Inprocess/LargeResponseBodyTests.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Inprocess/LargeResponseBodyTests.cs
diff --git a/test/Common.FunctionalTests/Inprocess/LogPipeTests.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Inprocess/LogPipeTests.cs
similarity index 100%
rename from test/Common.FunctionalTests/Inprocess/LogPipeTests.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Inprocess/LogPipeTests.cs
diff --git a/test/Common.FunctionalTests/Inprocess/ResponseHeaderTests.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Inprocess/ResponseHeaderTests.cs
similarity index 100%
rename from test/Common.FunctionalTests/Inprocess/ResponseHeaderTests.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Inprocess/ResponseHeaderTests.cs
diff --git a/test/Common.FunctionalTests/Inprocess/ResponseInvalidOrderingTests.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Inprocess/ResponseInvalidOrderingTests.cs
similarity index 100%
rename from test/Common.FunctionalTests/Inprocess/ResponseInvalidOrderingTests.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Inprocess/ResponseInvalidOrderingTests.cs
diff --git a/test/Common.FunctionalTests/Inprocess/ServerVariablesTest.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Inprocess/ServerVariablesTest.cs
similarity index 100%
rename from test/Common.FunctionalTests/Inprocess/ServerVariablesTest.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Inprocess/ServerVariablesTest.cs
diff --git a/test/Common.FunctionalTests/Inprocess/StartupExceptionTests.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Inprocess/StartupExceptionTests.cs
similarity index 100%
rename from test/Common.FunctionalTests/Inprocess/StartupExceptionTests.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Inprocess/StartupExceptionTests.cs
diff --git a/test/Common.FunctionalTests/Inprocess/StartupTests.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Inprocess/StartupTests.cs
similarity index 100%
rename from test/Common.FunctionalTests/Inprocess/StartupTests.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Inprocess/StartupTests.cs
diff --git a/test/Common.FunctionalTests/Inprocess/SynchronousReadAndWriteTests.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Inprocess/SynchronousReadAndWriteTests.cs
similarity index 100%
rename from test/Common.FunctionalTests/Inprocess/SynchronousReadAndWriteTests.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Inprocess/SynchronousReadAndWriteTests.cs
diff --git a/test/Common.FunctionalTests/LogFileTests.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/LogFileTests.cs
similarity index 100%
rename from test/Common.FunctionalTests/LogFileTests.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/LogFileTests.cs
diff --git a/test/Common.FunctionalTests/MultiApplicationTests.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/MultiApplicationTests.cs
similarity index 100%
rename from test/Common.FunctionalTests/MultiApplicationTests.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/MultiApplicationTests.cs
diff --git a/test/Common.FunctionalTests/OutOfProcess/AspNetCorePortTests.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/OutOfProcess/AspNetCorePortTests.cs
similarity index 100%
rename from test/Common.FunctionalTests/OutOfProcess/AspNetCorePortTests.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/OutOfProcess/AspNetCorePortTests.cs
diff --git a/test/Common.FunctionalTests/OutOfProcess/GlobalVersionTests.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/OutOfProcess/GlobalVersionTests.cs
similarity index 100%
rename from test/Common.FunctionalTests/OutOfProcess/GlobalVersionTests.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/OutOfProcess/GlobalVersionTests.cs
diff --git a/test/Common.FunctionalTests/OutOfProcess/HelloWorldTest.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/OutOfProcess/HelloWorldTest.cs
similarity index 100%
rename from test/Common.FunctionalTests/OutOfProcess/HelloWorldTest.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/OutOfProcess/HelloWorldTest.cs
diff --git a/test/Common.FunctionalTests/PublishedSitesFixture.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/PublishedSitesFixture.cs
similarity index 100%
rename from test/Common.FunctionalTests/PublishedSitesFixture.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/PublishedSitesFixture.cs
diff --git a/test/Common.FunctionalTests/RequiresNewHandler.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/RequiresNewHandler.cs
similarity index 100%
rename from test/Common.FunctionalTests/RequiresNewHandler.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/RequiresNewHandler.cs
diff --git a/test/Common.FunctionalTests/RequiresNewShim.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/RequiresNewShim.cs
similarity index 100%
rename from test/Common.FunctionalTests/RequiresNewShim.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/RequiresNewShim.cs
diff --git a/test/Common.FunctionalTests/ServerAbortTests.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/ServerAbortTests.cs
similarity index 100%
rename from test/Common.FunctionalTests/ServerAbortTests.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/ServerAbortTests.cs
diff --git a/test/Common.FunctionalTests/SkipIfNotAdminAttribute.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/SkipIfNotAdminAttribute.cs
similarity index 100%
rename from test/Common.FunctionalTests/SkipIfNotAdminAttribute.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/SkipIfNotAdminAttribute.cs
diff --git a/test/Common.FunctionalTests/SkipVSTSAttribute.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/SkipVSTSAttribute.cs
similarity index 100%
rename from test/Common.FunctionalTests/SkipVSTSAttribute.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/SkipVSTSAttribute.cs
diff --git a/test/Common.FunctionalTests/Utilities/AppVerifier.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Utilities/AppVerifier.cs
similarity index 100%
rename from test/Common.FunctionalTests/Utilities/AppVerifier.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Utilities/AppVerifier.cs
diff --git a/test/Common.FunctionalTests/Utilities/EventLogHelpers.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Utilities/EventLogHelpers.cs
similarity index 100%
rename from test/Common.FunctionalTests/Utilities/EventLogHelpers.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Utilities/EventLogHelpers.cs
diff --git a/test/Common.FunctionalTests/Utilities/FunctionalTestsBase.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Utilities/FunctionalTestsBase.cs
similarity index 100%
rename from test/Common.FunctionalTests/Utilities/FunctionalTestsBase.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Utilities/FunctionalTestsBase.cs
diff --git a/test/Common.FunctionalTests/Utilities/Helpers.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Utilities/Helpers.cs
similarity index 100%
rename from test/Common.FunctionalTests/Utilities/Helpers.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Utilities/Helpers.cs
diff --git a/test/Common.FunctionalTests/Utilities/IISCapability.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Utilities/IISCapability.cs
similarity index 100%
rename from test/Common.FunctionalTests/Utilities/IISCapability.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Utilities/IISCapability.cs
diff --git a/test/Common.FunctionalTests/Utilities/IISCompressionSiteCollection.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Utilities/IISCompressionSiteCollection.cs
similarity index 100%
rename from test/Common.FunctionalTests/Utilities/IISCompressionSiteCollection.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Utilities/IISCompressionSiteCollection.cs
diff --git a/test/Common.FunctionalTests/Utilities/IISCompressionSiteFixture.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Utilities/IISCompressionSiteFixture.cs
similarity index 100%
rename from test/Common.FunctionalTests/Utilities/IISCompressionSiteFixture.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Utilities/IISCompressionSiteFixture.cs
diff --git a/test/Common.FunctionalTests/Utilities/IISFunctionalTestBase.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Utilities/IISFunctionalTestBase.cs
similarity index 100%
rename from test/Common.FunctionalTests/Utilities/IISFunctionalTestBase.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Utilities/IISFunctionalTestBase.cs
diff --git a/test/Common.FunctionalTests/Utilities/IISTestSiteCollection.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Utilities/IISTestSiteCollection.cs
similarity index 100%
rename from test/Common.FunctionalTests/Utilities/IISTestSiteCollection.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Utilities/IISTestSiteCollection.cs
diff --git a/test/Common.FunctionalTests/Utilities/IISTestSiteFixture.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Utilities/IISTestSiteFixture.cs
similarity index 100%
rename from test/Common.FunctionalTests/Utilities/IISTestSiteFixture.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Utilities/IISTestSiteFixture.cs
diff --git a/test/Common.FunctionalTests/Utilities/LogFileTestBase.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Utilities/LogFileTestBase.cs
similarity index 100%
rename from test/Common.FunctionalTests/Utilities/LogFileTestBase.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Utilities/LogFileTestBase.cs
diff --git a/test/Common.FunctionalTests/Utilities/RequiresEnvironmentVariableAttribute.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Utilities/RequiresEnvironmentVariableAttribute.cs
similarity index 100%
rename from test/Common.FunctionalTests/Utilities/RequiresEnvironmentVariableAttribute.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Utilities/RequiresEnvironmentVariableAttribute.cs
diff --git a/test/Common.FunctionalTests/Utilities/SkipIfDebugAttribute.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Utilities/SkipIfDebugAttribute.cs
similarity index 100%
rename from test/Common.FunctionalTests/Utilities/SkipIfDebugAttribute.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/Utilities/SkipIfDebugAttribute.cs
diff --git a/test/Common.FunctionalTests/WindowsAuthTests.cs b/src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/WindowsAuthTests.cs
similarity index 100%
rename from test/Common.FunctionalTests/WindowsAuthTests.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.FunctionalTests/WindowsAuthTests.cs
diff --git a/test/Common.Tests/Common.Tests.csproj b/src/IISIntegration/src/IISIntegration/test/Common.Tests/Common.Tests.csproj
similarity index 100%
rename from test/Common.Tests/Common.Tests.csproj
rename to src/IISIntegration/src/IISIntegration/test/Common.Tests/Common.Tests.csproj
diff --git a/test/Common.Tests/Utilities/DisposableList.cs b/src/IISIntegration/src/IISIntegration/test/Common.Tests/Utilities/DisposableList.cs
similarity index 100%
rename from test/Common.Tests/Utilities/DisposableList.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.Tests/Utilities/DisposableList.cs
diff --git a/test/Common.Tests/Utilities/TestConnections.cs b/src/IISIntegration/src/IISIntegration/test/Common.Tests/Utilities/TestConnections.cs
similarity index 100%
rename from test/Common.Tests/Utilities/TestConnections.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.Tests/Utilities/TestConnections.cs
diff --git a/test/Common.Tests/Utilities/TimeoutExtensions.cs b/src/IISIntegration/src/IISIntegration/test/Common.Tests/Utilities/TimeoutExtensions.cs
similarity index 100%
rename from test/Common.Tests/Utilities/TimeoutExtensions.cs
rename to src/IISIntegration/src/IISIntegration/test/Common.Tests/Utilities/TimeoutExtensions.cs
diff --git a/test/CommonLibTests/CommonLibTests.vcxproj b/src/IISIntegration/src/IISIntegration/test/CommonLibTests/CommonLibTests.vcxproj
similarity index 100%
rename from test/CommonLibTests/CommonLibTests.vcxproj
rename to src/IISIntegration/src/IISIntegration/test/CommonLibTests/CommonLibTests.vcxproj
diff --git a/test/CommonLibTests/ConfigUtilityTests.cpp b/src/IISIntegration/src/IISIntegration/test/CommonLibTests/ConfigUtilityTests.cpp
similarity index 100%
rename from test/CommonLibTests/ConfigUtilityTests.cpp
rename to src/IISIntegration/src/IISIntegration/test/CommonLibTests/ConfigUtilityTests.cpp
diff --git a/test/CommonLibTests/FileOutputManagerTests.cpp b/src/IISIntegration/src/IISIntegration/test/CommonLibTests/FileOutputManagerTests.cpp
similarity index 100%
rename from test/CommonLibTests/FileOutputManagerTests.cpp
rename to src/IISIntegration/src/IISIntegration/test/CommonLibTests/FileOutputManagerTests.cpp
diff --git a/test/CommonLibTests/GlobalVersionTests.cpp b/src/IISIntegration/src/IISIntegration/test/CommonLibTests/GlobalVersionTests.cpp
similarity index 100%
rename from test/CommonLibTests/GlobalVersionTests.cpp
rename to src/IISIntegration/src/IISIntegration/test/CommonLibTests/GlobalVersionTests.cpp
diff --git a/test/CommonLibTests/Helpers.cpp b/src/IISIntegration/src/IISIntegration/test/CommonLibTests/Helpers.cpp
similarity index 100%
rename from test/CommonLibTests/Helpers.cpp
rename to src/IISIntegration/src/IISIntegration/test/CommonLibTests/Helpers.cpp
diff --git a/test/CommonLibTests/Helpers.h b/src/IISIntegration/src/IISIntegration/test/CommonLibTests/Helpers.h
similarity index 100%
rename from test/CommonLibTests/Helpers.h
rename to src/IISIntegration/src/IISIntegration/test/CommonLibTests/Helpers.h
diff --git a/test/CommonLibTests/NativeTests.targets b/src/IISIntegration/src/IISIntegration/test/CommonLibTests/NativeTests.targets
similarity index 100%
rename from test/CommonLibTests/NativeTests.targets
rename to src/IISIntegration/src/IISIntegration/test/CommonLibTests/NativeTests.targets
diff --git a/test/CommonLibTests/PipeOutputManagerTests.cpp b/src/IISIntegration/src/IISIntegration/test/CommonLibTests/PipeOutputManagerTests.cpp
similarity index 100%
rename from test/CommonLibTests/PipeOutputManagerTests.cpp
rename to src/IISIntegration/src/IISIntegration/test/CommonLibTests/PipeOutputManagerTests.cpp
diff --git a/test/CommonLibTests/exception_handler_tests.cpp b/src/IISIntegration/src/IISIntegration/test/CommonLibTests/exception_handler_tests.cpp
similarity index 100%
rename from test/CommonLibTests/exception_handler_tests.cpp
rename to src/IISIntegration/src/IISIntegration/test/CommonLibTests/exception_handler_tests.cpp
diff --git a/test/CommonLibTests/fakeclasses.h b/src/IISIntegration/src/IISIntegration/test/CommonLibTests/fakeclasses.h
similarity index 100%
rename from test/CommonLibTests/fakeclasses.h
rename to src/IISIntegration/src/IISIntegration/test/CommonLibTests/fakeclasses.h
diff --git a/test/CommonLibTests/hostfxr_utility_tests.cpp b/src/IISIntegration/src/IISIntegration/test/CommonLibTests/hostfxr_utility_tests.cpp
similarity index 100%
rename from test/CommonLibTests/hostfxr_utility_tests.cpp
rename to src/IISIntegration/src/IISIntegration/test/CommonLibTests/hostfxr_utility_tests.cpp
diff --git a/test/CommonLibTests/inprocess_application_tests.cpp b/src/IISIntegration/src/IISIntegration/test/CommonLibTests/inprocess_application_tests.cpp
similarity index 100%
rename from test/CommonLibTests/inprocess_application_tests.cpp
rename to src/IISIntegration/src/IISIntegration/test/CommonLibTests/inprocess_application_tests.cpp
diff --git a/test/CommonLibTests/main.cpp b/src/IISIntegration/src/IISIntegration/test/CommonLibTests/main.cpp
similarity index 100%
rename from test/CommonLibTests/main.cpp
rename to src/IISIntegration/src/IISIntegration/test/CommonLibTests/main.cpp
diff --git a/test/CommonLibTests/stdafx.h b/src/IISIntegration/src/IISIntegration/test/CommonLibTests/stdafx.h
similarity index 100%
rename from test/CommonLibTests/stdafx.h
rename to src/IISIntegration/src/IISIntegration/test/CommonLibTests/stdafx.h
diff --git a/test/CommonLibTests/utility_tests.cpp b/src/IISIntegration/src/IISIntegration/test/CommonLibTests/utility_tests.cpp
similarity index 100%
rename from test/CommonLibTests/utility_tests.cpp
rename to src/IISIntegration/src/IISIntegration/test/CommonLibTests/utility_tests.cpp
diff --git a/test/Directory.Build.props b/src/IISIntegration/src/IISIntegration/test/Directory.Build.props
similarity index 100%
rename from test/Directory.Build.props
rename to src/IISIntegration/src/IISIntegration/test/Directory.Build.props
diff --git a/test/IIS.BackwardsCompatibility.FunctionalTests/BackwardsCompatibilityTests.cs b/src/IISIntegration/src/IISIntegration/test/IIS.BackwardsCompatibility.FunctionalTests/BackwardsCompatibilityTests.cs
similarity index 100%
rename from test/IIS.BackwardsCompatibility.FunctionalTests/BackwardsCompatibilityTests.cs
rename to src/IISIntegration/src/IISIntegration/test/IIS.BackwardsCompatibility.FunctionalTests/BackwardsCompatibilityTests.cs
diff --git a/test/IIS.BackwardsCompatibility.FunctionalTests/DeployerSelector.cs b/src/IISIntegration/src/IISIntegration/test/IIS.BackwardsCompatibility.FunctionalTests/DeployerSelector.cs
similarity index 100%
rename from test/IIS.BackwardsCompatibility.FunctionalTests/DeployerSelector.cs
rename to src/IISIntegration/src/IISIntegration/test/IIS.BackwardsCompatibility.FunctionalTests/DeployerSelector.cs
diff --git a/test/IIS.BackwardsCompatibility.FunctionalTests/IIS.BackwardsCompatibility.FunctionalTests.csproj b/src/IISIntegration/src/IISIntegration/test/IIS.BackwardsCompatibility.FunctionalTests/IIS.BackwardsCompatibility.FunctionalTests.csproj
similarity index 100%
rename from test/IIS.BackwardsCompatibility.FunctionalTests/IIS.BackwardsCompatibility.FunctionalTests.csproj
rename to src/IISIntegration/src/IISIntegration/test/IIS.BackwardsCompatibility.FunctionalTests/IIS.BackwardsCompatibility.FunctionalTests.csproj
diff --git a/test/IIS.ForwardsCompatibility.FunctionalTests/DeployerSelector.cs b/src/IISIntegration/src/IISIntegration/test/IIS.ForwardsCompatibility.FunctionalTests/DeployerSelector.cs
similarity index 100%
rename from test/IIS.ForwardsCompatibility.FunctionalTests/DeployerSelector.cs
rename to src/IISIntegration/src/IISIntegration/test/IIS.ForwardsCompatibility.FunctionalTests/DeployerSelector.cs
diff --git a/test/IIS.ForwardsCompatibility.FunctionalTests/ForwardsCompatibilityTests.cs b/src/IISIntegration/src/IISIntegration/test/IIS.ForwardsCompatibility.FunctionalTests/ForwardsCompatibilityTests.cs
similarity index 100%
rename from test/IIS.ForwardsCompatibility.FunctionalTests/ForwardsCompatibilityTests.cs
rename to src/IISIntegration/src/IISIntegration/test/IIS.ForwardsCompatibility.FunctionalTests/ForwardsCompatibilityTests.cs
diff --git a/test/IIS.ForwardsCompatibility.FunctionalTests/IIS.ForwardsCompatibility.FunctionalTests.csproj b/src/IISIntegration/src/IISIntegration/test/IIS.ForwardsCompatibility.FunctionalTests/IIS.ForwardsCompatibility.FunctionalTests.csproj
similarity index 100%
rename from test/IIS.ForwardsCompatibility.FunctionalTests/IIS.ForwardsCompatibility.FunctionalTests.csproj
rename to src/IISIntegration/src/IISIntegration/test/IIS.ForwardsCompatibility.FunctionalTests/IIS.ForwardsCompatibility.FunctionalTests.csproj
diff --git a/test/IIS.FunctionalTests/DeployerSelector.cs b/src/IISIntegration/src/IISIntegration/test/IIS.FunctionalTests/DeployerSelector.cs
similarity index 100%
rename from test/IIS.FunctionalTests/DeployerSelector.cs
rename to src/IISIntegration/src/IISIntegration/test/IIS.FunctionalTests/DeployerSelector.cs
diff --git a/test/IIS.FunctionalTests/IIS.FunctionalTests.csproj b/src/IISIntegration/src/IISIntegration/test/IIS.FunctionalTests/IIS.FunctionalTests.csproj
similarity index 100%
rename from test/IIS.FunctionalTests/IIS.FunctionalTests.csproj
rename to src/IISIntegration/src/IISIntegration/test/IIS.FunctionalTests/IIS.FunctionalTests.csproj
diff --git a/test/IIS.Shared.FunctionalTests/Inprocess/StdOutRedirectionTests.cs b/src/IISIntegration/src/IISIntegration/test/IIS.Shared.FunctionalTests/Inprocess/StdOutRedirectionTests.cs
similarity index 100%
rename from test/IIS.Shared.FunctionalTests/Inprocess/StdOutRedirectionTests.cs
rename to src/IISIntegration/src/IISIntegration/test/IIS.Shared.FunctionalTests/Inprocess/StdOutRedirectionTests.cs
diff --git a/test/IIS.Shared.FunctionalTests/MofFileTests.cs b/src/IISIntegration/src/IISIntegration/test/IIS.Shared.FunctionalTests/MofFileTests.cs
similarity index 100%
rename from test/IIS.Shared.FunctionalTests/MofFileTests.cs
rename to src/IISIntegration/src/IISIntegration/test/IIS.Shared.FunctionalTests/MofFileTests.cs
diff --git a/test/IIS.Shared.FunctionalTests/Properties/AssemblyInfo.cs b/src/IISIntegration/src/IISIntegration/test/IIS.Shared.FunctionalTests/Properties/AssemblyInfo.cs
similarity index 100%
rename from test/IIS.Shared.FunctionalTests/Properties/AssemblyInfo.cs
rename to src/IISIntegration/src/IISIntegration/test/IIS.Shared.FunctionalTests/Properties/AssemblyInfo.cs
diff --git a/test/IIS.Shared.FunctionalTests/RequiresIISAttribute.cs b/src/IISIntegration/src/IISIntegration/test/IIS.Shared.FunctionalTests/RequiresIISAttribute.cs
similarity index 100%
rename from test/IIS.Shared.FunctionalTests/RequiresIISAttribute.cs
rename to src/IISIntegration/src/IISIntegration/test/IIS.Shared.FunctionalTests/RequiresIISAttribute.cs
diff --git a/test/IIS.Shared.FunctionalTests/ServicesTests.cs b/src/IISIntegration/src/IISIntegration/test/IIS.Shared.FunctionalTests/ServicesTests.cs
similarity index 100%
rename from test/IIS.Shared.FunctionalTests/ServicesTests.cs
rename to src/IISIntegration/src/IISIntegration/test/IIS.Shared.FunctionalTests/ServicesTests.cs
diff --git a/test/IIS.Tests/AppHostConfig/HostableWebCore.config b/src/IISIntegration/src/IISIntegration/test/IIS.Tests/AppHostConfig/HostableWebCore.config
similarity index 100%
rename from test/IIS.Tests/AppHostConfig/HostableWebCore.config
rename to src/IISIntegration/src/IISIntegration/test/IIS.Tests/AppHostConfig/HostableWebCore.config
diff --git a/test/IIS.Tests/ClientDisconnectTests.cs b/src/IISIntegration/src/IISIntegration/test/IIS.Tests/ClientDisconnectTests.cs
similarity index 100%
rename from test/IIS.Tests/ClientDisconnectTests.cs
rename to src/IISIntegration/src/IISIntegration/test/IIS.Tests/ClientDisconnectTests.cs
diff --git a/test/IIS.Tests/ConnectionIdFeatureTests.cs b/src/IISIntegration/src/IISIntegration/test/IIS.Tests/ConnectionIdFeatureTests.cs
similarity index 100%
rename from test/IIS.Tests/ConnectionIdFeatureTests.cs
rename to src/IISIntegration/src/IISIntegration/test/IIS.Tests/ConnectionIdFeatureTests.cs
diff --git a/test/IIS.Tests/HttpBodyControlFeatureTests.cs b/src/IISIntegration/src/IISIntegration/test/IIS.Tests/HttpBodyControlFeatureTests.cs
similarity index 100%
rename from test/IIS.Tests/HttpBodyControlFeatureTests.cs
rename to src/IISIntegration/src/IISIntegration/test/IIS.Tests/HttpBodyControlFeatureTests.cs
diff --git a/test/IIS.Tests/IIS.Tests.csproj b/src/IISIntegration/src/IISIntegration/test/IIS.Tests/IIS.Tests.csproj
similarity index 100%
rename from test/IIS.Tests/IIS.Tests.csproj
rename to src/IISIntegration/src/IISIntegration/test/IIS.Tests/IIS.Tests.csproj
diff --git a/test/IIS.Tests/ResponseAbortTests.cs b/src/IISIntegration/src/IISIntegration/test/IIS.Tests/ResponseAbortTests.cs
similarity index 100%
rename from test/IIS.Tests/ResponseAbortTests.cs
rename to src/IISIntegration/src/IISIntegration/test/IIS.Tests/ResponseAbortTests.cs
diff --git a/test/IIS.Tests/StrictTestServerTests.cs b/src/IISIntegration/src/IISIntegration/test/IIS.Tests/StrictTestServerTests.cs
similarity index 100%
rename from test/IIS.Tests/StrictTestServerTests.cs
rename to src/IISIntegration/src/IISIntegration/test/IIS.Tests/StrictTestServerTests.cs
diff --git a/test/IIS.Tests/TestServerTest.cs b/src/IISIntegration/src/IISIntegration/test/IIS.Tests/TestServerTest.cs
similarity index 100%
rename from test/IIS.Tests/TestServerTest.cs
rename to src/IISIntegration/src/IISIntegration/test/IIS.Tests/TestServerTest.cs
diff --git a/test/IIS.Tests/Utilities/SkipIfHostableWebCoreNotAvailibleAttribute.cs b/src/IISIntegration/src/IISIntegration/test/IIS.Tests/Utilities/SkipIfHostableWebCoreNotAvailibleAttribute.cs
similarity index 100%
rename from test/IIS.Tests/Utilities/SkipIfHostableWebCoreNotAvailibleAttribute.cs
rename to src/IISIntegration/src/IISIntegration/test/IIS.Tests/Utilities/SkipIfHostableWebCoreNotAvailibleAttribute.cs
diff --git a/test/IIS.Tests/Utilities/TestServer.cs b/src/IISIntegration/src/IISIntegration/test/IIS.Tests/Utilities/TestServer.cs
similarity index 100%
rename from test/IIS.Tests/Utilities/TestServer.cs
rename to src/IISIntegration/src/IISIntegration/test/IIS.Tests/Utilities/TestServer.cs
diff --git a/test/IISExpress.FunctionalTests/DeployerSelector.cs b/src/IISIntegration/src/IISIntegration/test/IISExpress.FunctionalTests/DeployerSelector.cs
similarity index 100%
rename from test/IISExpress.FunctionalTests/DeployerSelector.cs
rename to src/IISIntegration/src/IISIntegration/test/IISExpress.FunctionalTests/DeployerSelector.cs
diff --git a/test/IISExpress.FunctionalTests/HttpsTests.cs b/src/IISIntegration/src/IISIntegration/test/IISExpress.FunctionalTests/HttpsTests.cs
similarity index 100%
rename from test/IISExpress.FunctionalTests/HttpsTests.cs
rename to src/IISIntegration/src/IISIntegration/test/IISExpress.FunctionalTests/HttpsTests.cs
diff --git a/test/IISExpress.FunctionalTests/IISExpress.FunctionalTests.csproj b/src/IISIntegration/src/IISIntegration/test/IISExpress.FunctionalTests/IISExpress.FunctionalTests.csproj
similarity index 100%
rename from test/IISExpress.FunctionalTests/IISExpress.FunctionalTests.csproj
rename to src/IISIntegration/src/IISIntegration/test/IISExpress.FunctionalTests/IISExpress.FunctionalTests.csproj
diff --git a/test/IISExpress.FunctionalTests/InProcess/AuthenticationTests.cs b/src/IISIntegration/src/IISIntegration/test/IISExpress.FunctionalTests/InProcess/AuthenticationTests.cs
similarity index 100%
rename from test/IISExpress.FunctionalTests/InProcess/AuthenticationTests.cs
rename to src/IISIntegration/src/IISIntegration/test/IISExpress.FunctionalTests/InProcess/AuthenticationTests.cs
diff --git a/test/IISExpress.FunctionalTests/InProcess/ShutdownTests.cs b/src/IISIntegration/src/IISIntegration/test/IISExpress.FunctionalTests/InProcess/ShutdownTests.cs
similarity index 100%
rename from test/IISExpress.FunctionalTests/InProcess/ShutdownTests.cs
rename to src/IISIntegration/src/IISIntegration/test/IISExpress.FunctionalTests/InProcess/ShutdownTests.cs
diff --git a/test/IISExpress.FunctionalTests/InProcess/WebSocketTests.cs b/src/IISIntegration/src/IISIntegration/test/IISExpress.FunctionalTests/InProcess/WebSocketTests.cs
similarity index 100%
rename from test/IISExpress.FunctionalTests/InProcess/WebSocketTests.cs
rename to src/IISIntegration/src/IISIntegration/test/IISExpress.FunctionalTests/InProcess/WebSocketTests.cs
diff --git a/test/IISExpress.FunctionalTests/OutOfProcess/MultipleAppTests.cs b/src/IISIntegration/src/IISIntegration/test/IISExpress.FunctionalTests/OutOfProcess/MultipleAppTests.cs
similarity index 100%
rename from test/IISExpress.FunctionalTests/OutOfProcess/MultipleAppTests.cs
rename to src/IISIntegration/src/IISIntegration/test/IISExpress.FunctionalTests/OutOfProcess/MultipleAppTests.cs
diff --git a/test/IISExpress.FunctionalTests/OutOfProcess/NtlmAuthentationTest.cs b/src/IISIntegration/src/IISIntegration/test/IISExpress.FunctionalTests/OutOfProcess/NtlmAuthentationTest.cs
similarity index 100%
rename from test/IISExpress.FunctionalTests/OutOfProcess/NtlmAuthentationTest.cs
rename to src/IISIntegration/src/IISIntegration/test/IISExpress.FunctionalTests/OutOfProcess/NtlmAuthentationTest.cs
diff --git a/test/IISExpress.FunctionalTests/Properties/AssemblyInfo.cs b/src/IISIntegration/src/IISIntegration/test/IISExpress.FunctionalTests/Properties/AssemblyInfo.cs
similarity index 100%
rename from test/IISExpress.FunctionalTests/Properties/AssemblyInfo.cs
rename to src/IISIntegration/src/IISIntegration/test/IISExpress.FunctionalTests/Properties/AssemblyInfo.cs
diff --git a/test/IISExpress.FunctionalTests/RequiresIISAttribute.cs b/src/IISIntegration/src/IISIntegration/test/IISExpress.FunctionalTests/RequiresIISAttribute.cs
similarity index 100%
rename from test/IISExpress.FunctionalTests/RequiresIISAttribute.cs
rename to src/IISIntegration/src/IISIntegration/test/IISExpress.FunctionalTests/RequiresIISAttribute.cs
diff --git a/test/IISExpress.FunctionalTests/UpgradeFeatureDetectionTests.cs b/src/IISIntegration/src/IISIntegration/test/IISExpress.FunctionalTests/UpgradeFeatureDetectionTests.cs
similarity index 100%
rename from test/IISExpress.FunctionalTests/UpgradeFeatureDetectionTests.cs
rename to src/IISIntegration/src/IISIntegration/test/IISExpress.FunctionalTests/UpgradeFeatureDetectionTests.cs
diff --git a/test/Microsoft.AspNetCore.Server.IISIntegration.Tests/IISExtensionTests.cs b/src/IISIntegration/src/IISIntegration/test/Microsoft.AspNetCore.Server.IISIntegration.Tests/IISExtensionTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Server.IISIntegration.Tests/IISExtensionTests.cs
rename to src/IISIntegration/src/IISIntegration/test/Microsoft.AspNetCore.Server.IISIntegration.Tests/IISExtensionTests.cs
diff --git a/test/Microsoft.AspNetCore.Server.IISIntegration.Tests/IISMiddlewareTests.cs b/src/IISIntegration/src/IISIntegration/test/Microsoft.AspNetCore.Server.IISIntegration.Tests/IISMiddlewareTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Server.IISIntegration.Tests/IISMiddlewareTests.cs
rename to src/IISIntegration/src/IISIntegration/test/Microsoft.AspNetCore.Server.IISIntegration.Tests/IISMiddlewareTests.cs
diff --git a/test/Microsoft.AspNetCore.Server.IISIntegration.Tests/Microsoft.AspNetCore.Server.IISIntegration.Tests.csproj b/src/IISIntegration/src/IISIntegration/test/Microsoft.AspNetCore.Server.IISIntegration.Tests/Microsoft.AspNetCore.Server.IISIntegration.Tests.csproj
similarity index 100%
rename from test/Microsoft.AspNetCore.Server.IISIntegration.Tests/Microsoft.AspNetCore.Server.IISIntegration.Tests.csproj
rename to src/IISIntegration/src/IISIntegration/test/Microsoft.AspNetCore.Server.IISIntegration.Tests/Microsoft.AspNetCore.Server.IISIntegration.Tests.csproj
diff --git a/test/TestTasks/InjectRequestHandler.cs b/src/IISIntegration/src/IISIntegration/test/TestTasks/InjectRequestHandler.cs
similarity index 100%
rename from test/TestTasks/InjectRequestHandler.cs
rename to src/IISIntegration/src/IISIntegration/test/TestTasks/InjectRequestHandler.cs
diff --git a/test/TestTasks/TestTasks.csproj b/src/IISIntegration/src/IISIntegration/test/TestTasks/TestTasks.csproj
similarity index 100%
rename from test/TestTasks/TestTasks.csproj
rename to src/IISIntegration/src/IISIntegration/test/TestTasks/TestTasks.csproj
diff --git a/test/WebSites/Directory.Build.props b/src/IISIntegration/src/IISIntegration/test/WebSites/Directory.Build.props
similarity index 100%
rename from test/WebSites/Directory.Build.props
rename to src/IISIntegration/src/IISIntegration/test/WebSites/Directory.Build.props
diff --git a/test/WebSites/InProcessForwardsCompatWebSite/InProcessWebSite.csproj b/src/IISIntegration/src/IISIntegration/test/WebSites/InProcessForwardsCompatWebSite/InProcessWebSite.csproj
similarity index 100%
rename from test/WebSites/InProcessForwardsCompatWebSite/InProcessWebSite.csproj
rename to src/IISIntegration/src/IISIntegration/test/WebSites/InProcessForwardsCompatWebSite/InProcessWebSite.csproj
diff --git a/test/WebSites/InProcessForwardsCompatWebSite/Properties/launchSettings.json b/src/IISIntegration/src/IISIntegration/test/WebSites/InProcessForwardsCompatWebSite/Properties/launchSettings.json
similarity index 100%
rename from test/WebSites/InProcessForwardsCompatWebSite/Properties/launchSettings.json
rename to src/IISIntegration/src/IISIntegration/test/WebSites/InProcessForwardsCompatWebSite/Properties/launchSettings.json
diff --git a/test/WebSites/InProcessWebSite/DummyServer.cs b/src/IISIntegration/src/IISIntegration/test/WebSites/InProcessWebSite/DummyServer.cs
similarity index 100%
rename from test/WebSites/InProcessWebSite/DummyServer.cs
rename to src/IISIntegration/src/IISIntegration/test/WebSites/InProcessWebSite/DummyServer.cs
diff --git a/test/WebSites/InProcessWebSite/InProcessWebSite.csproj b/src/IISIntegration/src/IISIntegration/test/WebSites/InProcessWebSite/InProcessWebSite.csproj
similarity index 100%
rename from test/WebSites/InProcessWebSite/InProcessWebSite.csproj
rename to src/IISIntegration/src/IISIntegration/test/WebSites/InProcessWebSite/InProcessWebSite.csproj
diff --git a/test/WebSites/InProcessWebSite/Program.cs b/src/IISIntegration/src/IISIntegration/test/WebSites/InProcessWebSite/Program.cs
similarity index 100%
rename from test/WebSites/InProcessWebSite/Program.cs
rename to src/IISIntegration/src/IISIntegration/test/WebSites/InProcessWebSite/Program.cs
diff --git a/test/WebSites/InProcessWebSite/Properties/launchSettings.json b/src/IISIntegration/src/IISIntegration/test/WebSites/InProcessWebSite/Properties/launchSettings.json
similarity index 100%
rename from test/WebSites/InProcessWebSite/Properties/launchSettings.json
rename to src/IISIntegration/src/IISIntegration/test/WebSites/InProcessWebSite/Properties/launchSettings.json
diff --git a/test/WebSites/InProcessWebSite/Startup.WebSockets.cs b/src/IISIntegration/src/IISIntegration/test/WebSites/InProcessWebSite/Startup.WebSockets.cs
similarity index 100%
rename from test/WebSites/InProcessWebSite/Startup.WebSockets.cs
rename to src/IISIntegration/src/IISIntegration/test/WebSites/InProcessWebSite/Startup.WebSockets.cs
diff --git a/test/WebSites/InProcessWebSite/Startup.cs b/src/IISIntegration/src/IISIntegration/test/WebSites/InProcessWebSite/Startup.cs
similarity index 100%
rename from test/WebSites/InProcessWebSite/Startup.cs
rename to src/IISIntegration/src/IISIntegration/test/WebSites/InProcessWebSite/Startup.cs
diff --git a/test/WebSites/InProcessWebSite/web.config b/src/IISIntegration/src/IISIntegration/test/WebSites/InProcessWebSite/web.config
similarity index 100%
rename from test/WebSites/InProcessWebSite/web.config
rename to src/IISIntegration/src/IISIntegration/test/WebSites/InProcessWebSite/web.config
diff --git a/test/WebSites/InProcessWebSite/wwwroot/static.txt b/src/IISIntegration/src/IISIntegration/test/WebSites/InProcessWebSite/wwwroot/static.txt
similarity index 100%
rename from test/WebSites/InProcessWebSite/wwwroot/static.txt
rename to src/IISIntegration/src/IISIntegration/test/WebSites/InProcessWebSite/wwwroot/static.txt
diff --git a/test/WebSites/OutOfProcessWebSite/OutOfProcessWebSite.csproj b/src/IISIntegration/src/IISIntegration/test/WebSites/OutOfProcessWebSite/OutOfProcessWebSite.csproj
similarity index 100%
rename from test/WebSites/OutOfProcessWebSite/OutOfProcessWebSite.csproj
rename to src/IISIntegration/src/IISIntegration/test/WebSites/OutOfProcessWebSite/OutOfProcessWebSite.csproj
diff --git a/test/WebSites/OutOfProcessWebSite/Program.cs b/src/IISIntegration/src/IISIntegration/test/WebSites/OutOfProcessWebSite/Program.cs
similarity index 100%
rename from test/WebSites/OutOfProcessWebSite/Program.cs
rename to src/IISIntegration/src/IISIntegration/test/WebSites/OutOfProcessWebSite/Program.cs
diff --git a/test/WebSites/OutOfProcessWebSite/Properties/launchSettings.json b/src/IISIntegration/src/IISIntegration/test/WebSites/OutOfProcessWebSite/Properties/launchSettings.json
similarity index 100%
rename from test/WebSites/OutOfProcessWebSite/Properties/launchSettings.json
rename to src/IISIntegration/src/IISIntegration/test/WebSites/OutOfProcessWebSite/Properties/launchSettings.json
diff --git a/test/WebSites/OutOfProcessWebSite/Startup.cs b/src/IISIntegration/src/IISIntegration/test/WebSites/OutOfProcessWebSite/Startup.cs
similarity index 100%
rename from test/WebSites/OutOfProcessWebSite/Startup.cs
rename to src/IISIntegration/src/IISIntegration/test/WebSites/OutOfProcessWebSite/Startup.cs
diff --git a/test/WebSites/OutOfProcessWebSite/wwwroot/static.txt b/src/IISIntegration/src/IISIntegration/test/WebSites/OutOfProcessWebSite/wwwroot/static.txt
similarity index 100%
rename from test/WebSites/OutOfProcessWebSite/wwwroot/static.txt
rename to src/IISIntegration/src/IISIntegration/test/WebSites/OutOfProcessWebSite/wwwroot/static.txt
diff --git a/test/WebSites/StressTestWebSite/Program.cs b/src/IISIntegration/src/IISIntegration/test/WebSites/StressTestWebSite/Program.cs
similarity index 100%
rename from test/WebSites/StressTestWebSite/Program.cs
rename to src/IISIntegration/src/IISIntegration/test/WebSites/StressTestWebSite/Program.cs
diff --git a/test/WebSites/StressTestWebSite/Properties/launchSettings.json b/src/IISIntegration/src/IISIntegration/test/WebSites/StressTestWebSite/Properties/launchSettings.json
similarity index 100%
rename from test/WebSites/StressTestWebSite/Properties/launchSettings.json
rename to src/IISIntegration/src/IISIntegration/test/WebSites/StressTestWebSite/Properties/launchSettings.json
diff --git a/test/WebSites/StressTestWebSite/Startup.cs b/src/IISIntegration/src/IISIntegration/test/WebSites/StressTestWebSite/Startup.cs
similarity index 100%
rename from test/WebSites/StressTestWebSite/Startup.cs
rename to src/IISIntegration/src/IISIntegration/test/WebSites/StressTestWebSite/Startup.cs
diff --git a/test/WebSites/StressTestWebSite/StressTestWebSite.csproj b/src/IISIntegration/src/IISIntegration/test/WebSites/StressTestWebSite/StressTestWebSite.csproj
similarity index 100%
rename from test/WebSites/StressTestWebSite/StressTestWebSite.csproj
rename to src/IISIntegration/src/IISIntegration/test/WebSites/StressTestWebSite/StressTestWebSite.csproj
diff --git a/test/WebSites/shared/SharedStartup/Startup.shared.cs b/src/IISIntegration/src/IISIntegration/test/WebSites/shared/SharedStartup/Startup.shared.cs
similarity index 100%
rename from test/WebSites/shared/SharedStartup/Startup.shared.cs
rename to src/IISIntegration/src/IISIntegration/test/WebSites/shared/SharedStartup/Startup.shared.cs
diff --git a/test/WebSites/shared/WebSockets/Constants.cs b/src/IISIntegration/src/IISIntegration/test/WebSites/shared/WebSockets/Constants.cs
similarity index 100%
rename from test/WebSites/shared/WebSockets/Constants.cs
rename to src/IISIntegration/src/IISIntegration/test/WebSites/shared/WebSockets/Constants.cs
diff --git a/test/WebSites/shared/WebSockets/HandshakeHelpers.cs b/src/IISIntegration/src/IISIntegration/test/WebSites/shared/WebSockets/HandshakeHelpers.cs
similarity index 100%
rename from test/WebSites/shared/WebSockets/HandshakeHelpers.cs
rename to src/IISIntegration/src/IISIntegration/test/WebSites/shared/WebSockets/HandshakeHelpers.cs
diff --git a/test/WebSites/shared/WebSockets/TestStartup.cs b/src/IISIntegration/src/IISIntegration/test/WebSites/shared/WebSockets/TestStartup.cs
similarity index 100%
rename from test/WebSites/shared/WebSockets/TestStartup.cs
rename to src/IISIntegration/src/IISIntegration/test/WebSites/shared/WebSockets/TestStartup.cs
diff --git a/test/gtest/gtest.vcxproj b/src/IISIntegration/src/IISIntegration/test/gtest/gtest.vcxproj
similarity index 100%
rename from test/gtest/gtest.vcxproj
rename to src/IISIntegration/src/IISIntegration/test/gtest/gtest.vcxproj
diff --git a/src/Microsoft.AspNetCore.Server.IIS/AssemblyInfo.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/AssemblyInfo.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/AssemblyInfo.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/AssemblyInfo.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/Core/DuplexStream.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/DuplexStream.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/Core/DuplexStream.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/DuplexStream.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/Core/EmptyStream.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/EmptyStream.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/Core/EmptyStream.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/EmptyStream.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/Core/HttpRequestStream.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/HttpRequestStream.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/Core/HttpRequestStream.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/HttpRequestStream.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/Core/HttpResponseStream.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/HttpResponseStream.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/Core/HttpResponseStream.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/HttpResponseStream.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/Core/HttpStreamState.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/HttpStreamState.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/Core/HttpStreamState.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/HttpStreamState.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/Core/HttpUpgradeStream.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/HttpUpgradeStream.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/Core/HttpUpgradeStream.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/HttpUpgradeStream.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/Core/IISConfigurationData.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IISConfigurationData.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/Core/IISConfigurationData.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IISConfigurationData.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/Core/IISHttpContext.FeatureCollection.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IISHttpContext.FeatureCollection.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/Core/IISHttpContext.FeatureCollection.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IISHttpContext.FeatureCollection.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/Core/IISHttpContext.Features.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IISHttpContext.Features.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/Core/IISHttpContext.Features.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IISHttpContext.Features.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/Core/IISHttpContext.IHttpConnectionFeature.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IISHttpContext.IHttpConnectionFeature.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/Core/IISHttpContext.IHttpConnectionFeature.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IISHttpContext.IHttpConnectionFeature.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/Core/IISHttpContext.IHttpRequestIdentifierFeature.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IISHttpContext.IHttpRequestIdentifierFeature.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/Core/IISHttpContext.IHttpRequestIdentifierFeature.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IISHttpContext.IHttpRequestIdentifierFeature.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/Core/IISHttpContext.IHttpRequestLifetimeFeature.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IISHttpContext.IHttpRequestLifetimeFeature.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/Core/IISHttpContext.IHttpRequestLifetimeFeature.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IISHttpContext.IHttpRequestLifetimeFeature.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/Core/IISHttpContext.IO.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IISHttpContext.IO.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/Core/IISHttpContext.IO.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IISHttpContext.IO.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/Core/IISHttpContext.Log.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IISHttpContext.Log.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/Core/IISHttpContext.Log.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IISHttpContext.Log.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/Core/IISHttpContext.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IISHttpContext.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/Core/IISHttpContext.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IISHttpContext.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/Core/IISHttpContextOfT.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IISHttpContextOfT.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/Core/IISHttpContextOfT.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IISHttpContextOfT.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/Core/IISHttpServer.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IISHttpServer.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/Core/IISHttpServer.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IISHttpServer.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/Core/IISNativeApplication.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IISNativeApplication.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/Core/IISNativeApplication.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IISNativeApplication.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/Core/IISServerAuthenticationHandler.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IISServerAuthenticationHandler.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/Core/IISServerAuthenticationHandler.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IISServerAuthenticationHandler.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/Core/IISServerSetupFilter.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IISServerSetupFilter.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/Core/IISServerSetupFilter.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IISServerSetupFilter.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/Core/IO/AsyncIOEngine.Flush.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IO/AsyncIOEngine.Flush.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/Core/IO/AsyncIOEngine.Flush.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IO/AsyncIOEngine.Flush.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/Core/IO/AsyncIOEngine.Read.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IO/AsyncIOEngine.Read.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/Core/IO/AsyncIOEngine.Read.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IO/AsyncIOEngine.Read.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/Core/IO/AsyncIOEngine.Write.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IO/AsyncIOEngine.Write.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/Core/IO/AsyncIOEngine.Write.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IO/AsyncIOEngine.Write.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/Core/IO/AsyncIOEngine.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IO/AsyncIOEngine.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/Core/IO/AsyncIOEngine.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IO/AsyncIOEngine.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/Core/IO/AsyncIOOperation.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IO/AsyncIOOperation.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/Core/IO/AsyncIOOperation.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IO/AsyncIOOperation.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/Core/IO/AsyncWriteOperationBase.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IO/AsyncWriteOperationBase.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/Core/IO/AsyncWriteOperationBase.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IO/AsyncWriteOperationBase.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/Core/IO/IAsyncIOEngine.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IO/IAsyncIOEngine.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/Core/IO/IAsyncIOEngine.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IO/IAsyncIOEngine.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/Core/IO/WebSocketsAsyncIOEngine.Initialize.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IO/WebSocketsAsyncIOEngine.Initialize.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/Core/IO/WebSocketsAsyncIOEngine.Initialize.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IO/WebSocketsAsyncIOEngine.Initialize.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/Core/IO/WebSocketsAsyncIOEngine.Read.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IO/WebSocketsAsyncIOEngine.Read.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/Core/IO/WebSocketsAsyncIOEngine.Read.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IO/WebSocketsAsyncIOEngine.Read.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/Core/IO/WebSocketsAsyncIOEngine.Write.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IO/WebSocketsAsyncIOEngine.Write.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/Core/IO/WebSocketsAsyncIOEngine.Write.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IO/WebSocketsAsyncIOEngine.Write.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/Core/IO/WebSocketsAsyncIOEngine.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IO/WebSocketsAsyncIOEngine.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/Core/IO/WebSocketsAsyncIOEngine.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/IO/WebSocketsAsyncIOEngine.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/Core/OutputProducer.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/OutputProducer.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/Core/OutputProducer.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/OutputProducer.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/Core/ReadOnlyStream.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/ReadOnlyStream.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/Core/ReadOnlyStream.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/ReadOnlyStream.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/Core/Streams.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/Streams.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/Core/Streams.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/Streams.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/Core/ThrowingWasUpgradedWriteOnlyStream.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/ThrowingWasUpgradedWriteOnlyStream.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/Core/ThrowingWasUpgradedWriteOnlyStream.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/ThrowingWasUpgradedWriteOnlyStream.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/Core/WrappingStream.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/WrappingStream.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/Core/WrappingStream.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/WrappingStream.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/Core/WriteOnlyStream.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/WriteOnlyStream.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/Core/WriteOnlyStream.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Core/WriteOnlyStream.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/CoreStrings.resx b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/CoreStrings.resx
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/CoreStrings.resx
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/CoreStrings.resx
diff --git a/src/Microsoft.AspNetCore.Server.IIS/HttpContextExtensions.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/HttpContextExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/HttpContextExtensions.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/HttpContextExtensions.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/IISServerDefaults.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/IISServerDefaults.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/IISServerDefaults.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/IISServerDefaults.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/IISServerOptions.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/IISServerOptions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/IISServerOptions.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/IISServerOptions.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/IServerVariableFeature.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/IServerVariableFeature.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/IServerVariableFeature.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/IServerVariableFeature.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/Microsoft.AspNetCore.Server.IIS.csproj b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Microsoft.AspNetCore.Server.IIS.csproj
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/Microsoft.AspNetCore.Server.IIS.csproj
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Microsoft.AspNetCore.Server.IIS.csproj
diff --git a/src/Microsoft.AspNetCore.Server.IIS/Microsoft.AspNetCore.Server.IIS.targets b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Microsoft.AspNetCore.Server.IIS.targets
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/Microsoft.AspNetCore.Server.IIS.targets
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Microsoft.AspNetCore.Server.IIS.targets
diff --git a/src/Microsoft.AspNetCore.Server.IIS/NativeMethods.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/NativeMethods.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/NativeMethods.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/NativeMethods.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/Properties/CoreStrings.Designer.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Properties/CoreStrings.Designer.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/Properties/CoreStrings.Designer.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/Properties/CoreStrings.Designer.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/WebHostBuilderIISExtensions.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/WebHostBuilderIISExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/WebHostBuilderIISExtensions.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/WebHostBuilderIISExtensions.cs
diff --git a/src/Microsoft.AspNetCore.Server.IIS/_._ b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/_._
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IIS/_._
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IIS/_._
diff --git a/src/Microsoft.AspNetCore.Server.IISIntegration/AuthenticationHandler.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IISIntegration/AuthenticationHandler.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IISIntegration/AuthenticationHandler.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IISIntegration/AuthenticationHandler.cs
diff --git a/src/Microsoft.AspNetCore.Server.IISIntegration/ForwardedTlsConnectionFeature.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IISIntegration/ForwardedTlsConnectionFeature.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IISIntegration/ForwardedTlsConnectionFeature.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IISIntegration/ForwardedTlsConnectionFeature.cs
diff --git a/src/Microsoft.AspNetCore.Server.IISIntegration/IISDefaults.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IISIntegration/IISDefaults.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IISIntegration/IISDefaults.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IISIntegration/IISDefaults.cs
diff --git a/src/Microsoft.AspNetCore.Server.IISIntegration/IISHostingStartup.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IISIntegration/IISHostingStartup.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IISIntegration/IISHostingStartup.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IISIntegration/IISHostingStartup.cs
diff --git a/src/Microsoft.AspNetCore.Server.IISIntegration/IISMiddleware.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IISIntegration/IISMiddleware.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IISIntegration/IISMiddleware.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IISIntegration/IISMiddleware.cs
diff --git a/src/Microsoft.AspNetCore.Server.IISIntegration/IISOptions.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IISIntegration/IISOptions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IISIntegration/IISOptions.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IISIntegration/IISOptions.cs
diff --git a/src/Microsoft.AspNetCore.Server.IISIntegration/IISSetupFilter.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IISIntegration/IISSetupFilter.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IISIntegration/IISSetupFilter.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IISIntegration/IISSetupFilter.cs
diff --git a/src/Microsoft.AspNetCore.Server.IISIntegration/Microsoft.AspNetCore.Server.IISIntegration.csproj b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IISIntegration/Microsoft.AspNetCore.Server.IISIntegration.csproj
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IISIntegration/Microsoft.AspNetCore.Server.IISIntegration.csproj
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IISIntegration/Microsoft.AspNetCore.Server.IISIntegration.csproj
diff --git a/src/Microsoft.AspNetCore.Server.IISIntegration/Microsoft.AspNetCore.Server.IISIntegration.targets b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IISIntegration/Microsoft.AspNetCore.Server.IISIntegration.targets
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IISIntegration/Microsoft.AspNetCore.Server.IISIntegration.targets
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IISIntegration/Microsoft.AspNetCore.Server.IISIntegration.targets
diff --git a/src/Microsoft.AspNetCore.Server.IISIntegration/NativeMethods.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IISIntegration/NativeMethods.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IISIntegration/NativeMethods.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IISIntegration/NativeMethods.cs
diff --git a/src/Microsoft.AspNetCore.Server.IISIntegration/Properties/AssemblyInfo.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IISIntegration/Properties/AssemblyInfo.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IISIntegration/Properties/AssemblyInfo.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IISIntegration/Properties/AssemblyInfo.cs
diff --git a/src/Microsoft.AspNetCore.Server.IISIntegration/WebHostBuilderIISExtensions.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IISIntegration/WebHostBuilderIISExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IISIntegration/WebHostBuilderIISExtensions.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IISIntegration/WebHostBuilderIISExtensions.cs
diff --git a/src/Microsoft.AspNetCore.Server.IISIntegration/baseline.netcore.json b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IISIntegration/baseline.netcore.json
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IISIntegration/baseline.netcore.json
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IISIntegration/baseline.netcore.json
diff --git a/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/ApplicationDeployerFactory.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/ApplicationDeployerFactory.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/ApplicationDeployerFactory.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/ApplicationDeployerFactory.cs
diff --git a/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/Http.config b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/Http.config
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/Http.config
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/Http.config
diff --git a/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/IISDeployer.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/IISDeployer.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/IISDeployer.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/IISDeployer.cs
diff --git a/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/IISDeployerBase.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/IISDeployerBase.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/IISDeployerBase.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/IISDeployerBase.cs
diff --git a/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/IISDeploymentParameterExtensions.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/IISDeploymentParameterExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/IISDeploymentParameterExtensions.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/IISDeploymentParameterExtensions.cs
diff --git a/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/IISDeploymentParameters.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/IISDeploymentParameters.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/IISDeploymentParameters.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/IISDeploymentParameters.cs
diff --git a/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/IISDeploymentResult.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/IISDeploymentResult.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/IISDeploymentResult.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/IISDeploymentResult.cs
diff --git a/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/IISExpressDeployer.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/IISExpressDeployer.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/IISExpressDeployer.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/IISExpressDeployer.cs
diff --git a/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/LoggingHandler.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/LoggingHandler.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/LoggingHandler.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/LoggingHandler.cs
diff --git a/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/Microsoft.AspNetCore.Server.IntegrationTesting.IIS.csproj b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/Microsoft.AspNetCore.Server.IntegrationTesting.IIS.csproj
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/Microsoft.AspNetCore.Server.IntegrationTesting.IIS.csproj
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/Microsoft.AspNetCore.Server.IntegrationTesting.IIS.csproj
diff --git a/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/ProcessTracker.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/ProcessTracker.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/ProcessTracker.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/ProcessTracker.cs
diff --git a/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/RetryHandler.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/RetryHandler.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/RetryHandler.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/RetryHandler.cs
diff --git a/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/WebConfigHelpers.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/WebConfigHelpers.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/WebConfigHelpers.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/WebConfigHelpers.cs
diff --git a/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/XElementExtensions.cs b/src/IISIntegration/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/XElementExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/XElementExtensions.cs
rename to src/IISIntegration/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/XElementExtensions.cs
diff --git a/src/IISIntegration/test/Common.FunctionalTests/AppHostConfig/IIS.config b/src/IISIntegration/test/Common.FunctionalTests/AppHostConfig/IIS.config
new file mode 100644
index 0000000000..bc24ef9639
--- /dev/null
+++ b/src/IISIntegration/test/Common.FunctionalTests/AppHostConfig/IIS.config
@@ -0,0 +1,740 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/IISIntegration/test/Common.FunctionalTests/AppOfflineTests.cs b/src/IISIntegration/test/Common.FunctionalTests/AppOfflineTests.cs
new file mode 100644
index 0000000000..7d8d661ef0
--- /dev/null
+++ b/src/IISIntegration/test/Common.FunctionalTests/AppOfflineTests.cs
@@ -0,0 +1,287 @@
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+using System;
+using System.IO;
+using System.Net;
+using System.Net.Http;
+using System.Net.Sockets;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Server.IIS.FunctionalTests.Utilities;
+using Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests;
+using Microsoft.AspNetCore.Server.IntegrationTesting;
+using Microsoft.AspNetCore.Testing.xunit;
+using Microsoft.Extensions.Logging;
+using Xunit;
+using Microsoft.AspNetCore.Server.IntegrationTesting.IIS;
+
+namespace Microsoft.AspNetCore.Server.IIS.FunctionalTests
+{
+ [Collection(PublishedSitesCollection.Name)]
+ public class AppOfflineTests : IISFunctionalTestBase
+ {
+ private static readonly TimeSpan RetryDelay = TimeSpan.FromMilliseconds(100);
+
+ private readonly PublishedSitesFixture _fixture;
+
+ public AppOfflineTests(PublishedSitesFixture fixture)
+ {
+ _fixture = fixture;
+ }
+
+ [ConditionalTheory]
+ [InlineData(HostingModel.InProcess)]
+ [InlineData(HostingModel.OutOfProcess)]
+ public async Task AppOfflineDroppedWhileSiteIsDown_SiteReturns503(HostingModel hostingModel)
+ {
+ var deploymentResult = await DeployApp(hostingModel);
+
+ AddAppOffline(deploymentResult.ContentRoot);
+
+ await AssertAppOffline(deploymentResult);
+ DeletePublishOutput(deploymentResult);
+ }
+
+ [ConditionalTheory]
+ [InlineData(HostingModel.InProcess)]
+ [InlineData(HostingModel.OutOfProcess)]
+ public async Task LockedAppOfflineDroppedWhileSiteIsDown_SiteReturns503(HostingModel hostingModel)
+ {
+ var deploymentResult = await DeployApp(hostingModel);
+
+ // Add app_offline without shared access
+ using (var stream = File.Open(Path.Combine(deploymentResult.ContentRoot, "app_offline.htm"), FileMode.CreateNew, FileAccess.ReadWrite, FileShare.None))
+ using (var writer = new StreamWriter(stream))
+ {
+ await writer.WriteLineAsync("App if offline but you wouldn't see this message");
+ await writer.FlushAsync();
+ await AssertAppOffline(deploymentResult, "");
+ }
+
+ DeletePublishOutput(deploymentResult);
+ }
+
+ [ConditionalTheory]
+ [InlineData(HostingModel.InProcess, 500, "500.0")]
+ [InlineData(HostingModel.OutOfProcess, 502, "502.5")]
+ public async Task AppOfflineDroppedWhileSiteFailedToStartInShim_AppOfflineServed(HostingModel hostingModel, int statusCode, string content)
+ {
+ var deploymentParameters = _fixture.GetBaseDeploymentParameters(hostingModel: hostingModel, publish: true);
+ deploymentParameters.WebConfigActionList.Add(WebConfigHelpers.AddOrModifyAspNetCoreSection("processPath", "nonexistent"));
+
+ var deploymentResult = await DeployAsync(deploymentParameters);
+
+ var result = await deploymentResult.HttpClient.GetAsync("/");
+ Assert.Equal(statusCode, (int)result.StatusCode);
+ Assert.Contains(content, await result.Content.ReadAsStringAsync());
+
+ AddAppOffline(deploymentResult.ContentRoot);
+
+ await AssertAppOffline(deploymentResult);
+ DeletePublishOutput(deploymentResult);
+ }
+
+ [ConditionalFact(Skip = "https://github.com/aspnet/IISIntegration/issues/933")]
+ public async Task AppOfflineDroppedWhileSiteFailedToStartInRequestHandler_SiteStops_InProcess()
+ {
+ var deploymentResult = await DeployApp(HostingModel.InProcess);
+
+ // Set file content to empty so it fails at runtime
+ File.WriteAllText(Path.Combine(deploymentResult.ContentRoot, "Microsoft.AspNetCore.Server.IIS.dll"), "");
+
+ var result = await deploymentResult.HttpClient.GetAsync("/");
+ Assert.Equal(500, (int)result.StatusCode);
+ Assert.Contains("500.30", await result.Content.ReadAsStringAsync());
+
+ AddAppOffline(deploymentResult.ContentRoot);
+
+ await deploymentResult.AssertRecycledAsync(() => AssertAppOffline(deploymentResult));
+ }
+
+ [ConditionalFact]
+ [RequiresIIS(IISCapability.ShutdownToken)]
+ public async Task AppOfflineDroppedWhileSiteStarting_SiteShutsDown_InProcess()
+ {
+ // This test often hits a race between debug logging and stdout redirection closing the handle
+ // we are fine having this race
+ using (AppVerifier.Disable(DeployerSelector.ServerType, 0x300))
+ {
+ var deploymentResult = await DeployApp(HostingModel.InProcess);
+
+ for (int i = 0; i < 10; i++)
+ {
+ // send first request and add app_offline while app is starting
+ var runningTask = AssertAppOffline(deploymentResult);
+
+ // This test tries to hit a race where we drop app_offline file while
+ // in process application is starting, application start takes at least 400ms
+ // so we back off for 100ms to allow request to reach request handler
+ // Test itself is racy and can result in two scenarios
+ // 1. ANCM detects app_offline before it starts the request - if AssertAppOffline succeeds we've hit it
+ // 2. Intended scenario where app starts and then shuts down
+ // In first case we remove app_offline and try again
+ await Task.Delay(RetryDelay);
+
+ AddAppOffline(deploymentResult.ContentRoot);
+
+ try
+ {
+ await runningTask.DefaultTimeout();
+
+ // if AssertAppOffline succeeded ANCM have picked up app_offline before starting the app
+ // try again
+ RemoveAppOffline(deploymentResult.ContentRoot);
+ }
+ catch
+ {
+ deploymentResult.AssertWorkerProcessStop();
+ return;
+ }
+ }
+
+ Assert.True(false);
+
+ }
+ }
+
+ [ConditionalFact]
+ public async Task AppOfflineDroppedWhileSiteRunning_SiteShutsDown_InProcess()
+ {
+ var deploymentResult = await AssertStarts(HostingModel.InProcess);
+
+ AddAppOffline(deploymentResult.ContentRoot);
+
+ await deploymentResult.AssertRecycledAsync(() => AssertAppOffline(deploymentResult));
+ }
+
+ [ConditionalFact]
+ public async Task AppOfflineDroppedWhileSiteRunning_SiteShutsDown_OutOfProcess()
+ {
+ var deploymentResult = await AssertStarts(HostingModel.OutOfProcess);
+
+ // Repeat dropping file and restarting multiple times
+ for (int i = 0; i < 5; i++)
+ {
+ AddAppOffline(deploymentResult.ContentRoot);
+ await AssertAppOffline(deploymentResult);
+ RemoveAppOffline(deploymentResult.ContentRoot);
+ await AssertRunning(deploymentResult);
+ }
+
+ AddAppOffline(deploymentResult.ContentRoot);
+ await AssertAppOffline(deploymentResult);
+ DeletePublishOutput(deploymentResult);
+ }
+
+ [ConditionalTheory]
+ [InlineData(HostingModel.InProcess)]
+ [InlineData(HostingModel.OutOfProcess)]
+ public async Task AppOfflineDropped_CanRemoveAppOfflineAfterAddingAndSiteWorks(HostingModel hostingModel)
+ {
+ var deploymentResult = await DeployApp(hostingModel);
+
+ AddAppOffline(deploymentResult.ContentRoot);
+
+ await AssertAppOffline(deploymentResult);
+
+ RemoveAppOffline(deploymentResult.ContentRoot);
+
+ await AssertRunning(deploymentResult);
+ }
+
+ [ConditionalTheory]
+ [InlineData(HostingModel.InProcess)]
+ [InlineData(HostingModel.OutOfProcess)]
+ public async Task AppOfflineAddedAndRemovedStress(HostingModel hostingModel)
+ {
+ var deploymentResult = await AssertStarts(hostingModel);
+
+ var load = Helpers.StressLoad(deploymentResult.HttpClient, "/HelloWorld", response => {
+ var statusCode = (int)response.StatusCode;
+ Assert.True(statusCode == 200 || statusCode == 503, "Status code was " + statusCode);
+ });
+
+ for (int i = 0; i < 100; i++)
+ {
+ // AddAppOffline might fail if app_offline is being read by ANCM and deleted at the same time
+ RetryHelper.RetryOperation(
+ () => AddAppOffline(deploymentResult.ContentRoot),
+ e => Logger.LogError($"Failed to create app_offline : {e.Message}"),
+ retryCount: 3,
+ retryDelayMilliseconds: RetryDelay.Milliseconds);
+ RemoveAppOffline(deploymentResult.ContentRoot);
+ }
+
+ try
+ {
+ await load;
+ }
+ catch (HttpRequestException ex) when (ex.InnerException is IOException | ex.InnerException is SocketException)
+ {
+ // IOException in InProcess is fine, just means process stopped
+ if (hostingModel != HostingModel.InProcess)
+ {
+ throw;
+ }
+ }
+ }
+
+ private async Task DeployApp(HostingModel hostingModel = HostingModel.InProcess)
+ {
+ var deploymentParameters = _fixture.GetBaseDeploymentParameters(hostingModel: hostingModel, publish: true);
+
+ return await DeployAsync(deploymentParameters);
+ }
+
+ private void AddAppOffline(string appPath, string content = "The app is offline.")
+ {
+ File.WriteAllText(Path.Combine(appPath, "app_offline.htm"), content);
+ }
+
+ private void RemoveAppOffline(string appPath)
+ {
+ RetryHelper.RetryOperation(
+ () => File.Delete(Path.Combine(appPath, "app_offline.htm")),
+ e => Logger.LogError($"Failed to remove app_offline : {e.Message}"),
+ retryCount: 3,
+ retryDelayMilliseconds: RetryDelay.Milliseconds);
+ }
+
+ private async Task AssertAppOffline(IISDeploymentResult deploymentResult, string expectedResponse = "The app is offline.")
+ {
+ var response = await deploymentResult.HttpClient.RetryRequestAsync("HelloWorld", r => r.StatusCode == HttpStatusCode.ServiceUnavailable);
+ Assert.Equal(expectedResponse, await response.Content.ReadAsStringAsync());
+ }
+
+ private async Task AssertStarts(HostingModel hostingModel)
+ {
+ var deploymentResult = await DeployApp(hostingModel);
+
+ await AssertRunning(deploymentResult);
+
+ return deploymentResult;
+ }
+
+ private static async Task AssertRunning(IISDeploymentResult deploymentResult)
+ {
+ var response = await deploymentResult.HttpClient.RetryRequestAsync("HelloWorld", r => r.IsSuccessStatusCode);
+ var responseText = await response.Content.ReadAsStringAsync();
+ Assert.Equal("Hello World", responseText);
+ }
+
+ private void DeletePublishOutput(IISDeploymentResult deploymentResult)
+ {
+ foreach (var file in Directory.GetFiles(deploymentResult.ContentRoot, "*", SearchOption.AllDirectories))
+ {
+ // Out of process module dll is allowed to be locked
+ var name = Path.GetFileName(file);
+ if (name == "aspnetcore.dll" || name == "aspnetcorev2.dll" || name == "aspnetcorev2_outofprocess.dll")
+ {
+ continue;
+ }
+ File.Delete(file);
+ }
+ }
+
+ }
+}
diff --git a/src/IISIntegration/test/Common.FunctionalTests/BasicAuthTests.cs b/src/IISIntegration/test/Common.FunctionalTests/BasicAuthTests.cs
new file mode 100644
index 0000000000..d8607db21e
--- /dev/null
+++ b/src/IISIntegration/test/Common.FunctionalTests/BasicAuthTests.cs
@@ -0,0 +1,70 @@
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+using System;
+using System.Net.Http;
+using System.Net.Http.Headers;
+using System.Text;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Server.IIS.FunctionalTests.Utilities;
+using Microsoft.AspNetCore.Server.IntegrationTesting;
+using Microsoft.AspNetCore.Server.IntegrationTesting.IIS;
+using Microsoft.AspNetCore.Testing.xunit;
+using Xunit;
+
+namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests
+{
+ [Collection(PublishedSitesCollection.Name)]
+ public class BasicAuthTests : IISFunctionalTestBase
+ {
+ private readonly PublishedSitesFixture _fixture;
+
+ public BasicAuthTests(PublishedSitesFixture fixture)
+ {
+ _fixture = fixture;
+ }
+
+ public static TestMatrix TestVariants
+ => TestMatrix.ForServers(DeployerSelector.ServerType)
+ .WithTfms(Tfm.NetCoreApp22)
+ .WithApplicationTypes(ApplicationType.Portable)
+ .WithAllAncmVersions()
+ .WithAllHostingModels();
+
+ [ConditionalTheory]
+ [RequiresEnvironmentVariable("ASPNETCORE_MODULE_TEST_USER")]
+ [RequiresIIS(IISCapability.BasicAuthentication)]
+ [MemberData(nameof(TestVariants))]
+ public async Task BasicAuthTest(TestVariant variant)
+ {
+ var username = Environment.GetEnvironmentVariable("ASPNETCORE_MODULE_TEST_USER");
+ var password = Environment.GetEnvironmentVariable("ASPNETCORE_MODULE_TEST_PASSWORD");
+
+ var deploymentParameters = _fixture.GetBaseDeploymentParameters(variant, publish: true);
+ deploymentParameters.SetAnonymousAuth(enabled: false);
+ deploymentParameters.SetWindowsAuth(enabled: false);
+ deploymentParameters.SetBasicAuth(enabled: true);
+
+ // The default in hosting sets windows auth to true.
+ var deploymentResult = await DeployAsync(deploymentParameters);
+ var request = new HttpRequestMessage(HttpMethod.Get, "/Auth");
+ var byteArray = new UTF8Encoding().GetBytes(username + ":" + password);
+ request.Headers.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray));
+
+ var response = await deploymentResult.HttpClient.SendAsync(request);
+
+ var responseText = await response.Content.ReadAsStringAsync();
+
+ if (variant.HostingModel == HostingModel.InProcess)
+ {
+ Assert.StartsWith("Windows", responseText);
+ Assert.Contains(username, responseText);
+ }
+ else
+ {
+ // We expect out-of-proc not allowing basic auth
+ Assert.Equal("Windows", responseText);
+ }
+ }
+ }
+}
diff --git a/src/IISIntegration/test/Common.FunctionalTests/ClientCertificateFixture.cs b/src/IISIntegration/test/Common.FunctionalTests/ClientCertificateFixture.cs
new file mode 100644
index 0000000000..40b6f2265e
--- /dev/null
+++ b/src/IISIntegration/test/Common.FunctionalTests/ClientCertificateFixture.cs
@@ -0,0 +1,104 @@
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+using System;
+using System.Security.Cryptography;
+using System.Security.Cryptography.X509Certificates;
+using Xunit;
+
+namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests
+{
+ public class ClientCertificateFixture : IDisposable
+ {
+ private X509Certificate2 _certificate;
+ private const string _certIssuerPrefix = "CN=IISIntegrationTest_Root";
+
+ public X509Certificate2 GetOrCreateCertificate()
+ {
+ if (_certificate != null)
+ {
+ return _certificate;
+ }
+
+ using (var store = new X509Store(StoreName.Root, StoreLocation.LocalMachine))
+ {
+ store.Open(OpenFlags.ReadWrite);
+ var parentKey = CreateKeyMaterial(2048);
+
+ // Create a cert name with a random guid to avoid name conflicts
+ var parentRequest = new CertificateRequest(
+ _certIssuerPrefix + Guid.NewGuid().ToString(),
+ parentKey, HashAlgorithmName.SHA256,
+ RSASignaturePadding.Pkcs1);
+
+ parentRequest.CertificateExtensions.Add(
+ new X509BasicConstraintsExtension(
+ certificateAuthority: true,
+ hasPathLengthConstraint: false,
+ pathLengthConstraint: 0,
+ critical: true));
+
+ parentRequest.CertificateExtensions.Add(
+ new X509KeyUsageExtension(X509KeyUsageFlags.DigitalSignature | X509KeyUsageFlags.NonRepudiation, critical: true));
+
+ parentRequest.CertificateExtensions.Add(
+ new X509SubjectKeyIdentifierExtension(parentRequest.PublicKey, false));
+
+ var notBefore = DateTimeOffset.Now.AddDays(-1);
+ var notAfter = DateTimeOffset.Now.AddYears(5);
+
+ var parentCert = parentRequest.CreateSelfSigned(notBefore, notAfter);
+
+ // Need to export/import the certificate to associate the private key with the cert.
+ var imported = parentCert;
+
+ var export = parentCert.Export(X509ContentType.Pkcs12, "");
+ imported = new X509Certificate2(export, "", X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable);
+ Array.Clear(export, 0, export.Length);
+
+ // Add the cert to the cert store
+ _certificate = imported;
+
+ store.Add(certificate: imported);
+ store.Close();
+ return imported;
+ }
+ }
+
+ public void Dispose()
+ {
+ if (_certificate == null)
+ {
+ return;
+ }
+
+ using (var store = new X509Store(StoreName.Root, StoreLocation.LocalMachine))
+ {
+ store.Open(OpenFlags.ReadWrite);
+ store.Remove(_certificate);
+
+ // Remove any extra certs that were left by previous tests.
+ for (var i = store.Certificates.Count - 1; i >= 0; i--)
+ {
+ var cert = store.Certificates[i];
+ if (cert.Issuer.StartsWith(_certIssuerPrefix))
+ {
+ store.Remove(cert);
+ }
+ }
+ store.Close();
+ }
+ }
+
+ private RSA CreateKeyMaterial(int minimumKeySize)
+ {
+ var rsa = RSA.Create(minimumKeySize);
+ if (rsa.KeySize < minimumKeySize)
+ {
+ throw new InvalidOperationException($"Failed to create a key with a size of {minimumKeySize} bits");
+ }
+
+ return rsa;
+ }
+ }
+}
diff --git a/src/IISIntegration/test/Common.FunctionalTests/ClientCertificateTests.cs b/src/IISIntegration/test/Common.FunctionalTests/ClientCertificateTests.cs
new file mode 100644
index 0000000000..43ccc83eff
--- /dev/null
+++ b/src/IISIntegration/test/Common.FunctionalTests/ClientCertificateTests.cs
@@ -0,0 +1,108 @@
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+using System;
+using System.Net.Http;
+using System.Security.Cryptography.X509Certificates;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Server.IIS.FunctionalTests.Utilities;
+using Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests;
+using Microsoft.AspNetCore.Server.IntegrationTesting;
+using Microsoft.AspNetCore.Server.IntegrationTesting.Common;
+using Microsoft.AspNetCore.Server.IntegrationTesting.IIS;
+using Microsoft.AspNetCore.Testing.xunit;
+using Microsoft.Extensions.Logging;
+using Xunit;
+
+namespace Microsoft.AspNetCore.Server.IIS.FunctionalTests
+{
+ [Collection(PublishedSitesCollection.Name)]
+ [SkipIfNotAdmin]
+ public class ClientCertificateTests : IISFunctionalTestBase
+ {
+ private readonly PublishedSitesFixture _fixture;
+ private readonly ClientCertificateFixture _certFixture;
+
+ public ClientCertificateTests(PublishedSitesFixture fixture, ClientCertificateFixture certFixture)
+ {
+ _fixture = fixture;
+ _certFixture = certFixture;
+ }
+
+ public static TestMatrix TestVariants
+ => TestMatrix.ForServers(DeployerSelector.ServerType)
+ .WithTfms(Tfm.NetCoreApp22, Tfm.Net461)
+ .WithAllApplicationTypes()
+ .WithAllAncmVersions()
+ .WithAllHostingModels();
+
+ [ConditionalTheory]
+ [MemberData(nameof(TestVariants))]
+ public Task HttpsNoClientCert_NoClientCert(TestVariant variant)
+ {
+ return ClientCertTest(variant, sendClientCert: false);
+ }
+
+ [ConditionalTheory]
+ [MemberData(nameof(TestVariants))]
+ public Task HttpsClientCert_GetCertInformation(TestVariant variant)
+ {
+ return ClientCertTest(variant, sendClientCert: true);
+ }
+
+ private async Task ClientCertTest(TestVariant variant, bool sendClientCert)
+ {
+ var port = TestPortHelper.GetNextSSLPort();
+ var deploymentParameters = _fixture.GetBaseDeploymentParameters(variant);
+ deploymentParameters.ApplicationBaseUriHint = $"https://localhost:{port}/";
+ deploymentParameters.AddHttpsToServerConfig();
+
+ var handler = new HttpClientHandler
+ {
+ ServerCertificateCustomValidationCallback = (a, b, c, d) => true,
+ ClientCertificateOptions = ClientCertificateOption.Manual,
+ };
+
+ X509Certificate2 cert = null;
+ if (sendClientCert)
+ {
+ cert = _certFixture.GetOrCreateCertificate();
+ handler.ClientCertificates.Add(cert);
+ }
+
+ var deploymentResult = await DeployAsync(deploymentParameters);
+
+ var client = deploymentResult.CreateClient(handler);
+ var response = await client.GetAsync("GetClientCert");
+
+ var responseText = await response.Content.ReadAsStringAsync();
+
+ try
+ {
+ if (sendClientCert)
+ {
+ Assert.Equal($"Enabled;{cert.GetCertHashString()}", responseText);
+ }
+ else
+ {
+ Assert.Equal("Disabled", responseText);
+ }
+ }
+ catch (Exception ex)
+ {
+ Logger.LogError($"Certificate is invalid. Issuer name: {cert.Issuer}");
+ using (var store = new X509Store(StoreName.Root, StoreLocation.LocalMachine))
+ {
+ Logger.LogError($"List of current certificates in root store:");
+ store.Open(OpenFlags.ReadWrite);
+ foreach (var otherCert in store.Certificates)
+ {
+ Logger.LogError(otherCert.Issuer);
+ }
+ store.Close();
+ }
+ throw ex;
+ }
+ }
+ }
+}
diff --git a/src/IISIntegration/test/Common.FunctionalTests/ClientDisconnectStress.cs b/src/IISIntegration/test/Common.FunctionalTests/ClientDisconnectStress.cs
new file mode 100644
index 0000000000..9deeae3f92
--- /dev/null
+++ b/src/IISIntegration/test/Common.FunctionalTests/ClientDisconnectStress.cs
@@ -0,0 +1,65 @@
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+using System;
+using System.Collections.Generic;
+using System.Net.Http;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Server.IntegrationTesting;
+using Microsoft.AspNetCore.Testing.xunit;
+using Xunit;
+
+namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests
+{
+ [Collection(PublishedSitesCollection.Name)]
+ public class ClientDisconnectStressTests: FunctionalTestsBase
+ {
+ private readonly PublishedSitesFixture _fixture;
+
+ public ClientDisconnectStressTests(PublishedSitesFixture fixture)
+ {
+ _fixture = fixture;
+ }
+
+ [ConditionalTheory]
+ [InlineData(HostingModel.InProcess)]
+ [InlineData(HostingModel.OutOfProcess)]
+ public async Task ClientDisconnectStress(HostingModel hostingModel)
+ {
+ var site = await StartAsync(_fixture.GetBaseDeploymentParameters(hostingModel));
+ var maxRequestSize = 1000;
+ var blockSize = 40;
+ var random = new Random();
+ async Task RunRequests()
+ {
+ using (var connection = new TestConnection(site.HttpClient.BaseAddress.Port))
+ {
+ await connection.Send(
+ "POST /ReadAndFlushEcho HTTP/1.1",
+ $"Content-Length: {maxRequestSize}",
+ "Host: localhost",
+ "Connection: close",
+ "",
+ "");
+
+ var disconnectAfter = random.Next(maxRequestSize);
+ var data = new byte[blockSize];
+ for (int i = 0; i < disconnectAfter / blockSize; i++)
+ {
+ await connection.Stream.WriteAsync(data);
+ }
+ }
+ }
+
+ List tasks = new List();
+ for (int i = 0; i < 100; i++)
+ {
+ tasks.Add(Task.Run(RunRequests));
+ }
+
+ await Task.WhenAll(tasks);
+
+ StopServer();
+ }
+ }
+}
diff --git a/src/IISIntegration/test/Common.FunctionalTests/CommonStartupTests.cs b/src/IISIntegration/test/Common.FunctionalTests/CommonStartupTests.cs
new file mode 100644
index 0000000000..e2bcf2a8f9
--- /dev/null
+++ b/src/IISIntegration/test/Common.FunctionalTests/CommonStartupTests.cs
@@ -0,0 +1,44 @@
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+using System.Net;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Server.IIS.FunctionalTests.Utilities;
+using Microsoft.AspNetCore.Server.IntegrationTesting;
+using Microsoft.AspNetCore.Testing.xunit;
+using Xunit;
+
+namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests
+{
+ [Collection(PublishedSitesCollection.Name)]
+ public class CommonStartupTests : IISFunctionalTestBase
+ {
+ private readonly PublishedSitesFixture _fixture;
+
+ public CommonStartupTests(PublishedSitesFixture fixture)
+ {
+ _fixture = fixture;
+ }
+
+ public static TestMatrix TestVariants
+ => TestMatrix.ForServers(DeployerSelector.ServerType)
+ .WithTfms(Tfm.NetCoreApp22)
+ .WithAllApplicationTypes()
+ .WithAllAncmVersions()
+ .WithAllHostingModels();
+
+ [ConditionalTheory]
+ [MemberData(nameof(TestVariants))]
+ public async Task StartupStress(TestVariant variant)
+ {
+ var deploymentParameters = _fixture.GetBaseDeploymentParameters(variant, publish: true);
+
+ var deploymentResult = await DeployAsync(deploymentParameters);
+
+ await Helpers.StressLoad(deploymentResult.HttpClient, "/HelloWorld", response => {
+ Assert.Equal(HttpStatusCode.OK, response.StatusCode);
+ Assert.Equal("Hello World", response.Content.ReadAsStringAsync().GetAwaiter().GetResult());
+ });
+ }
+ }
+}
diff --git a/src/IISIntegration/test/Common.FunctionalTests/CompressionTests.cs b/src/IISIntegration/test/Common.FunctionalTests/CompressionTests.cs
new file mode 100644
index 0000000000..c2d0277c4c
--- /dev/null
+++ b/src/IISIntegration/test/Common.FunctionalTests/CompressionTests.cs
@@ -0,0 +1,58 @@
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+using System.Linq;
+using System.Net.Http;
+using System.Net.Http.Headers;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Testing.xunit;
+using Xunit;
+
+namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests
+{
+ [Collection(IISCompressionSiteCollection.Name)]
+ public abstract class CompressionTests : FixtureLoggedTest
+ {
+ private readonly IISTestSiteFixture _fixture;
+
+ [Collection(IISTestSiteCollection.Name)]
+ public class InProc: CompressionTests
+ {
+ public InProc(IISTestSiteFixture fixture) : base(fixture) { }
+ }
+
+ [Collection(OutOfProcessTestSiteCollection.Name)]
+ public class OutOfProcess: CompressionTests
+ {
+ public OutOfProcess(OutOfProcessTestSiteFixture fixture) : base(fixture) { }
+ }
+
+ [Collection(OutOfProcessV1TestSiteCollection.Name)]
+ public class OutOfProcessV1: CompressionTests
+ {
+ public OutOfProcessV1(OutOfProcessV1TestSiteFixture fixture) : base(fixture) { }
+ }
+
+ protected CompressionTests(IISTestSiteFixture fixture) : base(fixture)
+ {
+ _fixture = fixture;
+ }
+
+ [ConditionalFact]
+ public async Task PassesThroughCompression()
+ {
+ var request = new HttpRequestMessage(HttpMethod.Get, "/CompressedData");
+
+ request.Headers.AcceptEncoding.Add(new StringWithQualityHeaderValue("gzip"));
+
+ var response = await _fixture.Client.SendAsync(request);
+ Assert.Equal("gzip", response.Content.Headers.ContentEncoding.Single());
+ Assert.Equal(
+ new byte[] {
+ 0x1F, 0x8B, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x04, 0x0B, 0x63, 0x60, 0xA0, 0x3D, 0x00, 0x00,
+ 0xCA, 0xC6, 0x88, 0x99, 0x64, 0x00, 0x00, 0x00 },
+ await response.Content.ReadAsByteArrayAsync());
+ }
+ }
+}
diff --git a/src/IISIntegration/test/Common.FunctionalTests/ConfigurationChangeTests.cs b/src/IISIntegration/test/Common.FunctionalTests/ConfigurationChangeTests.cs
new file mode 100644
index 0000000000..099cefb97a
--- /dev/null
+++ b/src/IISIntegration/test/Common.FunctionalTests/ConfigurationChangeTests.cs
@@ -0,0 +1,126 @@
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+using System;
+using System.IO;
+using System.Linq;
+using System.Net;
+using System.Net.Http;
+using System.Net.Sockets;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Server.IIS.FunctionalTests.Utilities;
+using Microsoft.AspNetCore.Server.IntegrationTesting;
+using Microsoft.AspNetCore.Server.IntegrationTesting.IIS;
+using Microsoft.AspNetCore.Testing.xunit;
+using Microsoft.Extensions.Logging;
+using Xunit;
+
+namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests
+{
+ [Collection(PublishedSitesCollection.Name)]
+ public class ConfigurationChangeTests : IISFunctionalTestBase
+ {
+ private static readonly TimeSpan RetryDelay = TimeSpan.FromMilliseconds(100);
+ private readonly PublishedSitesFixture _fixture;
+
+ public ConfigurationChangeTests(PublishedSitesFixture fixture)
+ {
+ _fixture = fixture;
+ }
+
+ [ConditionalFact]
+ public async Task ConfigurationChangeStopsInProcess()
+ {
+ var deploymentParameters = _fixture.GetBaseDeploymentParameters(HostingModel.InProcess, publish: true);
+
+ var deploymentResult = await DeployAsync(deploymentParameters);
+
+ await deploymentResult.AssertStarts();
+
+ // Just "touching" web.config should be enough
+ deploymentResult.ModifyWebConfig(element => {});
+
+ await deploymentResult.AssertRecycledAsync();
+ }
+
+ [ConditionalTheory]
+ [InlineData(AncmVersion.AspNetCoreModule)]
+ [InlineData(AncmVersion.AspNetCoreModuleV2)]
+ public async Task ConfigurationChangeForcesChildProcessRestart(AncmVersion version)
+ {
+ var deploymentParameters = _fixture.GetBaseDeploymentParameters(HostingModel.OutOfProcess, publish: true);
+ deploymentParameters.AncmVersion = version;
+
+ var deploymentResult = await DeployAsync(deploymentParameters);
+
+ var processBefore = await deploymentResult.HttpClient.GetStringAsync("/ProcessId");
+
+ // Just "touching" web.config should be enough
+ deploymentResult.ModifyWebConfig(element => {});
+
+ // Have to retry here to allow ANCM to receive notification and react to it
+ // Verify that worker process gets restarted with new process id
+ await deploymentResult.HttpClient.RetryRequestAsync("/ProcessId", async r => await r.Content.ReadAsStringAsync() != processBefore);
+ }
+
+ [ConditionalFact]
+ public async Task OutOfProcessToInProcessHostingModelSwitchWorks()
+ {
+ var deploymentParameters = _fixture.GetBaseDeploymentParameters(HostingModel.OutOfProcess, publish: true);
+
+ var deploymentResult = await DeployAsync(deploymentParameters);
+
+ await deploymentResult.AssertStarts();
+
+ deploymentResult.ModifyWebConfig(element => element
+ .Descendants("system.webServer")
+ .Single()
+ .GetOrAdd("aspNetCore")
+ .SetAttributeValue("hostingModel", "inprocess"));
+
+ // Have to retry here to allow ANCM to receive notification and react to it
+ // Verify that inprocess application was created and tried to start
+ await deploymentResult.HttpClient.RetryRequestAsync("/HelloWorld", r => r.StatusCode == HttpStatusCode.InternalServerError);
+
+ StopServer();
+ EventLogHelpers.VerifyEventLogEvent(deploymentResult, "Could not find the assembly 'aspnetcorev2_inprocess.dll'", Logger);
+ }
+
+ [ConditionalTheory]
+ [InlineData(HostingModel.InProcess)]
+ [InlineData(HostingModel.OutOfProcess)]
+ public async Task ConfigurationTouchedStress(HostingModel hostingModel)
+ {
+ var deploymentResult = await DeployAsync(_fixture.GetBaseDeploymentParameters(hostingModel, publish: true));
+
+ await deploymentResult.AssertStarts();
+ var load = Helpers.StressLoad(deploymentResult.HttpClient, "/HelloWorld", response => {
+ var statusCode = (int)response.StatusCode;
+ Assert.True(statusCode == 200 || statusCode == 503, "Status code was " + statusCode);
+ });
+
+ for (int i = 0; i < 100; i++)
+ {
+ // ModifyWebConfig might fail if web.config is being read by IIS
+ RetryHelper.RetryOperation(
+ () => deploymentResult.ModifyWebConfig(element => {}),
+ e => Logger.LogError($"Failed to touch web.config : {e.Message}"),
+ retryCount: 3,
+ retryDelayMilliseconds: RetryDelay.Milliseconds);
+ }
+
+ try
+ {
+ await load;
+ }
+ catch (HttpRequestException ex) when (ex.InnerException is IOException | ex.InnerException is SocketException)
+ {
+ // IOException in InProcess is fine, just means process stopped
+ if (hostingModel != HostingModel.InProcess)
+ {
+ throw;
+ }
+ }
+ }
+ }
+}
diff --git a/src/IISIntegration/test/Common.FunctionalTests/Inprocess/ClientDisconnectTests.cs b/src/IISIntegration/test/Common.FunctionalTests/Inprocess/ClientDisconnectTests.cs
new file mode 100644
index 0000000000..6e2d1bc752
--- /dev/null
+++ b/src/IISIntegration/test/Common.FunctionalTests/Inprocess/ClientDisconnectTests.cs
@@ -0,0 +1,108 @@
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+using System;
+using System.Collections.Generic;
+using System.Threading;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Testing.xunit;
+using Microsoft.Extensions.Logging;
+using Xunit;
+
+namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests
+{
+ [Collection(IISTestSiteCollection.Name)]
+ public class ClientDisconnectTests: FixtureLoggedTest
+ {
+ private readonly IISTestSiteFixture _fixture;
+
+ public ClientDisconnectTests(IISTestSiteFixture fixture): base(fixture)
+ {
+ _fixture = fixture;
+ }
+
+ [ConditionalFact]
+ public async Task ServerWorksAfterClientDisconnect()
+ {
+ using (var connection = _fixture.CreateTestConnection())
+ {
+ var message = "Hello";
+ await connection.Send(
+ "POST /ReadAndWriteSynchronously HTTP/1.1",
+ $"Content-Length: {100000}",
+ "Host: localhost",
+ "Connection: close",
+ "",
+ "");
+
+ await connection.Send(message);
+
+ await connection.Receive(
+ "HTTP/1.1 200 OK",
+ "");
+ }
+
+ var response = await _fixture.Client.GetAsync("HelloWorld");
+
+ var responseText = await response.Content.ReadAsStringAsync();
+ Assert.Equal("Hello World", responseText);
+ }
+
+ [ConditionalFact]
+ public async Task RequestAbortedTokenFires()
+ {
+ using (var connection = _fixture.CreateTestConnection())
+ {
+ await connection.Send(
+ "GET /WaitForAbort HTTP/1.1",
+ "Host: localhost",
+ "Connection: close",
+ "",
+ "");
+
+ await _fixture.Client.RetryRequestAsync("/WaitingRequestCount", async message => await message.Content.ReadAsStringAsync() == "1");
+ }
+
+ await _fixture.Client.RetryRequestAsync("/WaitingRequestCount", async message => await message.Content.ReadAsStringAsync() == "0");
+ }
+
+ [ConditionalFact]
+ public async Task ClientDisconnectCallbackStress()
+ {
+ // Fixture initialization fails if inside of the Task.Run, so send an
+ // initial request to initialize the fixture.
+ var response = await _fixture.Client.GetAsync("HelloWorld");
+ var numTotalRequests = 0;
+ for (var j = 0; j < 20; j++)
+ {
+ // Windows has a max connection limit of 10 for the IIS server,
+ // so setting limit fairly low.
+ const int numRequests = 5;
+ async Task RunRequests()
+ {
+ using (var connection = _fixture.CreateTestConnection())
+ {
+ await connection.Send(
+ "GET /WaitForAbort HTTP/1.1",
+ "Host: localhost",
+ "Connection: close",
+ "",
+ "");
+ await _fixture.Client.RetryRequestAsync("/WaitingRequestCount", async message => await message.Content.ReadAsStringAsync() != "0");
+ Interlocked.Increment(ref numTotalRequests);
+ }
+ }
+
+ List tasks = new List();
+ for (int i = 0; i < numRequests; i++)
+ {
+ tasks.Add(Task.Run(RunRequests));
+ }
+
+ await Task.WhenAll(tasks);
+
+ await _fixture.Client.RetryRequestAsync("/WaitingRequestCount", async message => await message.Content.ReadAsStringAsync() == "0");
+ }
+ }
+ }
+}
diff --git a/src/IISIntegration/test/Common.FunctionalTests/Inprocess/CompressionTests.cs b/src/IISIntegration/test/Common.FunctionalTests/Inprocess/CompressionTests.cs
new file mode 100644
index 0000000000..ce1c84e609
--- /dev/null
+++ b/src/IISIntegration/test/Common.FunctionalTests/Inprocess/CompressionTests.cs
@@ -0,0 +1,96 @@
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+using System;
+using System.Collections.Generic;
+using System.Net;
+using System.Net.Http;
+using System.Net.Http.Headers;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Testing.xunit;
+using Xunit;
+
+namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests
+{
+ [Collection(IISCompressionSiteCollection.Name)]
+ public class CompressionModuleTests : FixtureLoggedTest
+ {
+ private readonly IISCompressionSiteFixture _fixture;
+
+ public CompressionModuleTests(IISCompressionSiteFixture fixture): base(fixture)
+ {
+ _fixture = fixture;
+ }
+
+ [ConditionalTheory]
+ [RequiresIIS(IISCapability.DynamicCompression)]
+ [InlineData(true)]
+ [InlineData(false)]
+ public async Task BufferingDisabled(bool compression)
+ {
+ using (var connection = _fixture.CreateTestConnection())
+ {
+ var requestLength = 0;
+ var messages = new List();
+ for (var i = 1; i < 100; i++)
+ {
+ var message = i + Environment.NewLine;
+ requestLength += message.Length;
+ messages.Add(message);
+ }
+
+ await connection.Send(
+ "POST /ReadAndWriteEchoLinesNoBuffering HTTP/1.1",
+ $"Content-Length: {requestLength}",
+ "Accept-Encoding: " + (compression ? "gzip": "identity"),
+ "Response-Content-Type: text/event-stream",
+ "Host: localhost",
+ "Connection: close",
+ "",
+ "");
+
+ await connection.Receive(
+ "HTTP/1.1 200 OK",
+ "");
+ await connection.ReceiveHeaders();
+
+ foreach (var message in messages)
+ {
+ await connection.Send(message);
+ await connection.ReceiveChunk(message);
+ }
+
+ await connection.Send("\r\n");
+ await connection.ReceiveChunk("");
+ await connection.WaitForConnectionClose();
+ }
+ }
+
+ [ConditionalFact]
+ [RequiresIIS(IISCapability.DynamicCompression)]
+ public async Task DynamicResponsesAreCompressed()
+ {
+ var handler = new HttpClientHandler
+ {
+ AutomaticDecompression = DecompressionMethods.GZip
+ };
+ var client = new HttpClient(handler)
+ {
+ BaseAddress = _fixture.Client.BaseAddress,
+ };
+ client.DefaultRequestHeaders.AcceptEncoding.Add(new StringWithQualityHeaderValue("gzip"));
+ client.DefaultRequestHeaders.AcceptEncoding.Add(new StringWithQualityHeaderValue("identity", 0));
+ client.DefaultRequestHeaders.Add("Response-Content-Type", "text/event-stream");
+ var messages = "Message1\r\nMessage2\r\n";
+
+ // Send messages with terminator
+ var response = await client.PostAsync("ReadAndWriteEchoLines", new StringContent(messages + "\r\n"));
+ Assert.Equal(messages, await response.Content.ReadAsStringAsync());
+ Assert.True(response.Content.Headers.TryGetValues("Content-Type", out var contentTypes));
+ Assert.Single(contentTypes, "text/event-stream");
+ // Not the cleanest check but I wasn't able to figure out other way to check
+ // that response was compressed
+ Assert.Contains("gzip", response.Content.GetType().FullName, StringComparison.OrdinalIgnoreCase);
+ }
+ }
+}
diff --git a/src/IISIntegration/test/Common.FunctionalTests/Inprocess/EnvironmentVariableTests.cs b/src/IISIntegration/test/Common.FunctionalTests/Inprocess/EnvironmentVariableTests.cs
new file mode 100644
index 0000000000..ae8fde39ed
--- /dev/null
+++ b/src/IISIntegration/test/Common.FunctionalTests/Inprocess/EnvironmentVariableTests.cs
@@ -0,0 +1,51 @@
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Testing.xunit;
+using Xunit;
+
+namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests
+{
+ [Collection(IISTestSiteCollection.Name)]
+ public class EnvironmentVariableTests: FixtureLoggedTest
+ {
+ private readonly IISTestSiteFixture _fixture;
+
+ public EnvironmentVariableTests(IISTestSiteFixture fixture): base(fixture)
+ {
+ _fixture = fixture;
+ }
+
+ [ConditionalFact]
+ public async Task GetUniqueEnvironmentVariable()
+ {
+ Assert.Equal("foobar", await _fixture.Client.GetStringAsync("/CheckEnvironmentVariable"));
+ }
+
+ [ConditionalFact]
+ public async Task GetLongEnvironmentVariable()
+ {
+ Assert.Equal(
+ "AReallyLongValueThatIsGreaterThan300CharactersToForceResizeInNative" +
+ "AReallyLongValueThatIsGreaterThan300CharactersToForceResizeInNative" +
+ "AReallyLongValueThatIsGreaterThan300CharactersToForceResizeInNative" +
+ "AReallyLongValueThatIsGreaterThan300CharactersToForceResizeInNative" +
+ "AReallyLongValueThatIsGreaterThan300CharactersToForceResizeInNative" +
+ "AReallyLongValueThatIsGreaterThan300CharactersToForceResizeInNative",
+ await _fixture.Client.GetStringAsync("/CheckEnvironmentLongValueVariable"));
+ }
+
+ [ConditionalFact]
+ public async Task GetExistingEnvironmentVariable()
+ {
+ Assert.Contains(";foobarbaz", await _fixture.Client.GetStringAsync("/CheckAppendedEnvironmentVariable"));
+ }
+
+ [ConditionalFact]
+ public async Task AuthHeaderEnvironmentVariableRemoved()
+ {
+ Assert.DoesNotContain("shouldberemoved", await _fixture.Client.GetStringAsync("/CheckRemoveAuthEnvironmentVariable"));
+ }
+ }
+}
diff --git a/src/IISIntegration/test/Common.FunctionalTests/Inprocess/ErrorPagesTests.cs b/src/IISIntegration/test/Common.FunctionalTests/Inprocess/ErrorPagesTests.cs
new file mode 100644
index 0000000000..bf45949491
--- /dev/null
+++ b/src/IISIntegration/test/Common.FunctionalTests/Inprocess/ErrorPagesTests.cs
@@ -0,0 +1,131 @@
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+using System.Net;
+using System.Net.Http;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Server.IIS.FunctionalTests.Utilities;
+using Microsoft.AspNetCore.Server.IntegrationTesting;
+using Microsoft.AspNetCore.Server.IntegrationTesting.IIS;
+using Microsoft.AspNetCore.Testing.xunit;
+using Xunit;
+
+namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests
+{
+ [Collection(PublishedSitesCollection.Name)]
+ public class ErrorPagesTests : IISFunctionalTestBase
+ {
+ private readonly PublishedSitesFixture _fixture;
+
+ public ErrorPagesTests(PublishedSitesFixture fixture)
+ {
+ _fixture = fixture;
+ }
+
+ [ConditionalFact]
+ [RequiresIIS(IISCapability.PoolEnvironmentVariables)]
+ public async Task IncludesAdditionalErrorPageTextInProcessHandlerLoadFailure_CorrectString()
+ {
+ var deploymentParameters = _fixture.GetBaseDeploymentParameters(publish: true);
+ var response = await DeployAppWithStartupFailure(deploymentParameters);
+
+ Assert.Equal(HttpStatusCode.InternalServerError, response.StatusCode);
+
+ StopServer();
+
+ var responseString = await response.Content.ReadAsStringAsync();
+ Assert.Contains("HTTP Error 500.0 - ANCM In-Process Handler Load Failure", responseString);
+ VerifyNoExtraTrailingBytes(responseString);
+
+ await AssertLink(response);
+ }
+
+ [ConditionalFact]
+ [RequiresIIS(IISCapability.PoolEnvironmentVariables)]
+ public async Task IncludesAdditionalErrorPageTextOutOfProcessStartupFailure_CorrectString()
+ {
+ var deploymentParameters = _fixture.GetBaseDeploymentParameters(HostingModel.OutOfProcess, publish: true);
+ var response = await DeployAppWithStartupFailure(deploymentParameters);
+
+ Assert.Equal(HttpStatusCode.BadGateway, response.StatusCode);
+
+ StopServer();
+
+ var responseString = await response.Content.ReadAsStringAsync();
+ Assert.Contains("HTTP Error 502.5 - ANCM Out-Of-Process Startup Failure", responseString);
+ VerifyNoExtraTrailingBytes(responseString);
+
+ await AssertLink(response);
+ }
+
+ [ConditionalFact]
+ [RequiresIIS(IISCapability.PoolEnvironmentVariables)]
+ public async Task IncludesAdditionalErrorPageTextOutOfProcessHandlerLoadFailure_CorrectString()
+ {
+ var deploymentParameters = _fixture.GetBaseDeploymentParameters(HostingModel.OutOfProcess, publish: true);
+ deploymentParameters.HandlerSettings["handlerVersion"] = "88.93";
+ deploymentParameters.EnvironmentVariables["ANCM_ADDITIONAL_ERROR_PAGE_LINK"] = "http://example";
+
+ var deploymentResult = await DeployAsync(deploymentParameters);
+ var response = await deploymentResult.HttpClient.GetAsync("HelloWorld");
+
+ Assert.Equal(HttpStatusCode.InternalServerError, response.StatusCode);
+
+ StopServer();
+
+ var responseString = await response.Content.ReadAsStringAsync();
+ Assert.Contains("HTTP Error 500.0 - ANCM Out-Of-Process Handler Load Failure", responseString);
+ VerifyNoExtraTrailingBytes(responseString);
+
+ await AssertLink(response);
+ }
+
+ [ConditionalFact]
+ [RequiresIIS(IISCapability.PoolEnvironmentVariables)]
+ [RequiresNewHandler]
+ public async Task IncludesAdditionalErrorPageTextInProcessStartupFailure_CorrectString()
+ {
+ var deploymentParameters = _fixture.GetBaseDeploymentParameters(publish: true);
+ deploymentParameters.TransformArguments((a, _) => $"{a} EarlyReturn");
+ deploymentParameters.EnvironmentVariables["ANCM_ADDITIONAL_ERROR_PAGE_LINK"] = "http://example";
+
+ var deploymentResult = await DeployAsync(deploymentParameters);
+ var response = await deploymentResult.HttpClient.GetAsync("HelloWorld");
+
+ Assert.Equal(HttpStatusCode.InternalServerError, response.StatusCode);
+
+ StopServer();
+
+ var responseString = await response.Content.ReadAsStringAsync();
+ Assert.Contains("HTTP Error 500.30 - ANCM In-Process Start Failure", responseString);
+ VerifyNoExtraTrailingBytes(responseString);
+
+ await AssertLink(response);
+ }
+
+ private static void VerifyNoExtraTrailingBytes(string responseString)
+ {
+ if (!DeployerSelector.IsBackwardsCompatiblityTest)
+ {
+ Assert.EndsWith("