Browse Source

Fix build issues with IIS integration projects

Changes:
* Ensure IIS managed and pkg projects build after the native projects
* Update projects to build test
* Update CI checks to build on macOS and Linux
* Use package baselines to manage ANCM packages
Nate McMaster 7 years ago
parent
commit
f0990ec531
53 changed files with 629 additions and 461 deletions
  1. 36 26
      .azure/pipelines/ci.yml
  2. 3 3
      .azure/pipelines/jobs/iisintegration-job.yml
  3. 2 2
      .gitmodules
  4. 1 0
      Directory.Build.props
  5. 6 0
      build/CodeSign.props
  6. 0 2
      build/artifacts.props
  7. 1 0
      build/dependencies.props
  8. 1 0
      build/external-dependencies.props
  9. 6 0
      build/repo.props
  10. 24 0
      eng/Baseline.Designer.props
  11. 3 1
      eng/Baseline.xml
  12. 5 7
      eng/Dependencies.props
  13. 2 0
      eng/PatchConfig.props
  14. 0 8
      eng/dependencies.temp.props
  15. 1 1
      eng/tools/BaselineGenerator/BaselineGenerator.csproj
  16. 8 13
      eng/tools/BaselineGenerator/Program.cs
  17. 30 11
      src/Middleware/CORS/test/FunctionalTests/package-lock.json
  18. 0 8
      src/Mvc/global.json
  19. 10 0
      src/Servers/IIS/Directory.Build.props
  20. 5 0
      src/Servers/IIS/Directory.Build.targets
  21. 0 1
      src/Servers/IIS/IISIntegration.NoV1.sln
  22. 90 0
      src/Servers/IIS/ResolveIisReferences.targets
  23. 192 192
      src/Servers/IIS/build/assets.props
  24. 0 10
      src/Servers/IIS/build/functional-test-assets.targets
  25. 42 0
      src/Servers/IIS/build/launchSettings.json
  26. 11 5
      src/Servers/IIS/build/testsite.props
  27. 0 3
      src/Servers/IIS/samples/IISSample/IISSample.csproj
  28. 2 4
      src/Servers/IIS/samples/NativeIISSample/NativeIISSample.csproj
  29. 2 2
      src/Servers/IIS/src/Microsoft.AspNetCore.AspNetCoreModule/Directory.Build.targets
  30. 5 6
      src/Servers/IIS/src/Microsoft.AspNetCore.AspNetCoreModule/Microsoft.AspNetCore.AspNetCoreModule.pkgproj
  31. 0 0
      src/Servers/IIS/src/Microsoft.AspNetCore.AspNetCoreModule/_._
  32. 2 2
      src/Servers/IIS/src/Microsoft.AspNetCore.AspNetCoreModuleV2/Directory.Build.targets
  33. 7 8
      src/Servers/IIS/src/Microsoft.AspNetCore.AspNetCoreModuleV2/Microsoft.AspNetCore.AspNetCoreModuleV2.pkgproj
  34. 0 0
      src/Servers/IIS/src/Microsoft.AspNetCore.AspNetCoreModuleV2/_._
  35. 8 60
      src/Servers/IIS/src/Microsoft.AspNetCore.Server.IIS/Microsoft.AspNetCore.Server.IIS.csproj
  36. 8 8
      src/Servers/IIS/src/Microsoft.AspNetCore.Server.IISIntegration/Microsoft.AspNetCore.Server.IISIntegration.csproj
  37. 0 1
      src/Servers/IIS/src/Microsoft.AspNetCore.Server.IISIntegration/NativeMethods.cs
  38. 3 14
      src/Servers/IIS/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/Microsoft.AspNetCore.Server.IntegrationTesting.IIS.csproj
  39. 5 5
      src/Servers/IIS/test/CommonLibTests/CommonLibTests.vcxproj
  40. 7 7
      src/Servers/IIS/test/IIS.BackwardsCompatibility.FunctionalTests/IIS.BackwardsCompatibility.FunctionalTests.csproj
  41. 2 2
      src/Servers/IIS/test/IIS.ForwardsCompatibility.FunctionalTests/IIS.ForwardsCompatibility.FunctionalTests.csproj
  42. 5 5
      src/Servers/IIS/test/IIS.FunctionalTests/IIS.FunctionalTests.csproj
  43. 5 6
      src/Servers/IIS/test/IIS.Tests/IIS.Tests.csproj
  44. 2 2
      src/Servers/IIS/test/IISExpress.FunctionalTests/IISExpress.FunctionalTests.csproj
  45. 7 7
      src/Servers/IIS/test/gtest/gtest.vcxproj
  46. 1 0
      src/Servers/IIS/test/testassets/InProcessForwardsCompatWebSite/InProcessWebSite.csproj
  47. 3 8
      src/Servers/IIS/test/testassets/InProcessWebSite/InProcessWebSite.csproj
  48. 2 4
      src/Servers/IIS/test/testassets/OutOfProcessWebSite/OutOfProcessWebSite.csproj
  49. 45 0
      src/Servers/IIS/test/testassets/OutOfProcessWebSite/Program.cs
  50. 2 0
      src/Servers/IIS/test/testassets/OutOfProcessWebSite/Startup.cs
  51. 26 0
      src/Servers/IIS/test/testassets/StressTestWebSite/Program.cs
  52. 0 17
      src/Servers/IIS/version.props
  53. 1 0
      src/submodules/googletest

+ 36 - 26
.azure/pipelines/ci.yml

@@ -16,32 +16,42 @@ jobs:
     beforeBuild:
     - powershell: "& ./src/Servers/IIS/tools/UpdateIISExpressCertificate.ps1; & ./src/Servers/IIS/tools/update_schema.ps1"
       displayName: Setup IISExpress test certificates and schema
-- template: jobs/iisintegration-job.yml
-  parameters:
-    TestGroupName: IIS
-    SkipIISTests: false
-    SkipIISExpressTests: true
-    SkipIISForwardsCompatibilityTests: true
-    SkipIISBackwardsCompatibilityTests: true
-- template: jobs/iisintegration-job.yml
-  parameters:
-    TestGroupName: IISExpress
-    SkipIISTests: true
-    SkipIISExpressTests: false
-    SkipIISForwardsCompatibilityTests: true
-    SkipIISBackwardsCompatibilityTests: true
-- template: jobs/iisintegration-job.yml
+- template: jobs/default-build.yml
   parameters:
-    TestGroupName: IISForwardCompat
-    SkipIISTests: true
-    SkipIISExpressTests: true
-    SkipIISForwardsCompatibilityTests: false
-    SkipIISBackwardsCompatibilityTests: true
-- template: jobs/iisintegration-job.yml
+    jobName: MacOs_Build
+    jobDisplayName: "Build and test: macOS"
+    agentOs: macOs
+- template: jobs/default-build.yml
   parameters:
-    TestGroupName: IISBackCompat
-    SkipIISTests: true
-    SkipIISExpressTests: true
-    SkipIISForwardsCompatibilityTests: true
-    SkipIISBackwardsCompatibilityTests: false
+    jobName: Linux_Build
+    jobDisplayName: "Build and test: Linux"
+    agentOs: Linux
+# - template: jobs/iisintegration-job.yml
+#   parameters:
+#     TestGroupName: IIS
+#     SkipIISTests: false
+#     SkipIISExpressTests: true
+#     SkipIISForwardsCompatibilityTests: true
+#     SkipIISBackwardsCompatibilityTests: true
+# - template: jobs/iisintegration-job.yml
+#   parameters:
+#     TestGroupName: IISExpress
+#     SkipIISTests: true
+#     SkipIISExpressTests: false
+#     SkipIISForwardsCompatibilityTests: true
+#     SkipIISBackwardsCompatibilityTests: true
+# - template: jobs/iisintegration-job.yml
+#   parameters:
+#     TestGroupName: IISForwardCompat
+#     SkipIISTests: true
+#     SkipIISExpressTests: true
+#     SkipIISForwardsCompatibilityTests: false
+#     SkipIISBackwardsCompatibilityTests: true
+# - template: jobs/iisintegration-job.yml
+#   parameters:
+#     TestGroupName: IISBackCompat
+#     SkipIISTests: true
+#     SkipIISExpressTests: true
+#     SkipIISForwardsCompatibilityTests: true
+#     SkipIISBackwardsCompatibilityTests: false
 

+ 3 - 3
.azure/pipelines/jobs/iisintegration-job.yml

@@ -2,10 +2,10 @@ jobs:
 - template: default-build.yml
   parameters:
     beforeBuild:
-      - powershell: "& ./src/servers/IIS/tools/UpdateIISExpressCertificate.ps1; & ./src/servers/IIS/tools/update_schema.ps1; & ./src/servers/IIS/tools/SetupTestEnvironment.ps1 Setup"
+      - powershell: "& ./src/Servers/IIS/tools/UpdateIISExpressCertificate.ps1; & ./src/Servers/IIS/tools/update_schema.ps1; & ./src/Servers/IIS/tools/SetupTestEnvironment.ps1 Setup"
         displayName: Prepare repo
     afterBuild:
-      - powershell: "& ./src/servers/IIS/tools/SetupTestEnvironment.ps1 Shutdown"
+      - powershell: "& ./src/Servers/IIS/tools/SetupTestEnvironment.ps1 Shutdown"
         displayName: Stop AppVerifier
         condition: always()
       - task: PublishBuildArtifacts@1
@@ -15,7 +15,7 @@ jobs:
           artifactName: logs
           artifactType: Container
           pathtoPublish: src/IISIntegration/artifacts/logs
-    buildDirectory: src/servers/IIS
+    buildDirectory: src/Servers/IIS
     buildArgs: "/p:SkipIISBackwardsCompatibilityTests=${{ parameters.SkipIISBackwardsCompatibilityTests }} /p:SkipIISTests=${{ parameters.SkipIISTests }} /p:SkipIISExpressTests=${{ parameters.SkipIISExpressTests }} /p:SkipIISForwardsCompatibilityTests=${{ parameters.SkipIISBackwardsCompatibilityTests }}"
     jobName: IISIntegration_${{ parameters.TestGroupName }}
     jobDisplayName: IISIntegration_${{ parameters.TestGroupName }}

+ 2 - 2
.gitmodules

@@ -6,6 +6,6 @@
 	path = modules/Scaffolding
 	url = https://github.com/aspnet/Scaffolding.git
 	branch = release/2.2
-[submodule "src/IISIntegration/test/gtest/googletest"]
-	path = src/IISIntegration/test/gtest/googletest
+[submodule "googletest"]
+	path = src/submodules/googletest
 	url = https://github.com/google/googletest

+ 1 - 0
Directory.Build.props

@@ -85,6 +85,7 @@
     <IncludeSymbols>true</IncludeSymbols>
 
     <SharedSourceRoot>$(MSBuildThisFileDirectory)src\Shared\</SharedSourceRoot>
+    <GoogleTestSubmoduleRoot>$(RepositoryRoot)src\submodules\googletest\</GoogleTestSubmoduleRoot>
 
     <SuppressNETCoreSdkPreviewMessage>true</SuppressNETCoreSdkPreviewMessage>
   </PropertyGroup>

+ 6 - 0
build/CodeSign.props

@@ -65,6 +65,12 @@
       <FilesToSign Include="Microsoft.Extensions.Primitives.dll"                            Certificate="$(AssemblySigningCertName)" Container="Microsoft.AspNetCore.App" />
       <FilesToSign Include="Microsoft.Extensions.WebEncoders.dll"                           Certificate="$(AssemblySigningCertName)" Container="Microsoft.AspNetCore.App" />
 
+      <!-- ANCM -->
+      <FilesToSign Include="aspnetcore.dll"                                                 Certificate="$(AssemblySigningCertName)" Container="Microsoft.AspNetCore.App" />
+      <FilesToSign Include="aspnetcorev2.dll"                                               Certificate="$(AssemblySigningCertName)" Container="Microsoft.AspNetCore.App" />
+      <FilesToSign Include="aspnetcorev2_inprocess.dll"                                     Certificate="$(AssemblySigningCertName)" Container="Microsoft.AspNetCore.App" />
+      <FilesToSign Include="aspnetcorev2_outofprocess.dll"                                  Certificate="$(AssemblySigningCertName)" Container="Microsoft.AspNetCore.App" />
+
     <!-- These files came from partner teams. They have to be re-signed because we crossgen them and redistributable them in our installers. -->
 
       <!-- Microsoft.AspNetCore.All -->

+ 0 - 2
build/artifacts.props

@@ -126,8 +126,6 @@
     <PackageArtifact Include="Microsoft.AspNetCore.Server.HttpSys" Category="ship" />
     <PackageArtifact Include="Microsoft.AspNetCore.Server.IIS" Category="ship" />
     <PackageArtifact Include="Microsoft.AspNetCore.Server.IISIntegration" Category="ship" />
-    <PackageArtifact Include="Microsoft.AspNetCore.Server.IntegrationTesting" Category="noship" />
-    <PackageArtifact Include="Microsoft.AspNetCore.Server.IntegrationTesting.IIS" Category="noship" />
     <PackageArtifact Include="Microsoft.AspNetCore.Server.Kestrel.Core" Category="ship" />
     <PackageArtifact Include="Microsoft.AspNetCore.Server.Kestrel.Https" Category="ship" />
     <PackageArtifact Include="Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions" Category="ship" />

+ 1 - 0
build/dependencies.props

@@ -108,6 +108,7 @@
     <MicrosoftExtensionsBuffersMemoryPoolSourcesPackageVersion>2.2.0</MicrosoftExtensionsBuffersMemoryPoolSourcesPackageVersion>
     <InternalWebHostBuilderFactorySourcesPackageVersion>2.2.0</InternalWebHostBuilderFactorySourcesPackageVersion>
     <MicrosoftAspNetCoreServerIntegrationTestingPackageVersion>0.6.0-rtm-final</MicrosoftAspNetCoreServerIntegrationTestingPackageVersion>
+    <MicrosoftAspNetCoreServerIntegrationTestingIISPackageVersion>2.2.0-rtm-35687</MicrosoftAspNetCoreServerIntegrationTestingIISPackageVersion>
 
     <!-- 3rd party dependencies -->
     <AngleSharpPackageVersion>0.9.9</AngleSharpPackageVersion>

+ 1 - 0
build/external-dependencies.props

@@ -82,6 +82,7 @@
     <ExternalDependency Include="Microsoft.Extensions.WebEncoders" Version="$(MicrosoftExtensionsWebEncodersPackageVersion)" />
     <!-- These dependencies are temporary while we refactor package refs into project refs. -->
     <ExternalDependency Include="Microsoft.AspNetCore.Server.IntegrationTesting" Version="$(MicrosoftAspNetCoreServerIntegrationTestingPackageVersion)" />
+    <ExternalDependency Include="Microsoft.AspNetCore.Server.IntegrationTesting.IIS" Version="$(MicrosoftAspNetCoreServerIntegrationTestingIISPackageVersion)" />
   </ItemGroup>
 
   <ItemGroup>

+ 6 - 0
build/repo.props

@@ -71,6 +71,12 @@
 
     <NpmProjectDirectory Include="$(RepositoryRoot)src\Middleware\CORS\test\FunctionalTests\" />
 
+    <ProjectToBuild Condition=" '$(OS)' == 'Windows_NT' " Include="$(RepositoryRoot)src\Servers\**\*.vcxproj">
+      <!-- Required to prevent triggering double-builds. See src\Servers\IIS\ResolveIisReferences.targets for details. -->
+      <AdditionalProperties Condition="'$(SharedFxRid)' == 'win-x64'">Platform=x64</AdditionalProperties>
+      <AdditionalProperties Condition="'$(SharedFxRid)' == 'win-x86'">Platform=x86</AdditionalProperties>
+    </ProjectToBuild>
+
     <ProjectToBuild Include="
                       $(RepositoryRoot)src\Features\JsonPatch\**\*.*proj;
                       $(RepositoryRoot)src\DataProtection\**\*.*proj;

+ 24 - 0
eng/Baseline.Designer.props

@@ -4,6 +4,30 @@
     <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
     <AspNetCoreBaselineVersion>2.2.0</AspNetCoreBaselineVersion>
   </PropertyGroup>
+  <!-- Package: dotnet-dev-certs-->
+  <PropertyGroup Condition=" '$(PackageId)' == 'dotnet-dev-certs' ">
+    <BaselinePackageVersion>2.2.0</BaselinePackageVersion>
+  </PropertyGroup>
+  <!-- Package: dotnet-sql-cache-->
+  <PropertyGroup Condition=" '$(PackageId)' == 'dotnet-sql-cache' ">
+    <BaselinePackageVersion>2.2.0</BaselinePackageVersion>
+  </PropertyGroup>
+  <!-- Package: dotnet-user-secrets-->
+  <PropertyGroup Condition=" '$(PackageId)' == 'dotnet-user-secrets' ">
+    <BaselinePackageVersion>2.2.0</BaselinePackageVersion>
+  </PropertyGroup>
+  <!-- Package: dotnet-watch-->
+  <PropertyGroup Condition=" '$(PackageId)' == 'dotnet-watch' ">
+    <BaselinePackageVersion>2.2.0</BaselinePackageVersion>
+  </PropertyGroup>
+  <!-- Package: Microsoft.AspNetCore.AspNetCoreModule-->
+  <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.AspNetCoreModule' ">
+    <BaselinePackageVersion>2.2.0</BaselinePackageVersion>
+  </PropertyGroup>
+  <!-- Package: Microsoft.AspNetCore.AspNetCoreModuleV2-->
+  <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.AspNetCoreModuleV2' ">
+    <BaselinePackageVersion>2.2.0</BaselinePackageVersion>
+  </PropertyGroup>
   <!-- Package: Microsoft.AspNetCore.Antiforgery-->
   <PropertyGroup Condition=" '$(PackageId)' == 'Microsoft.AspNetCore.Antiforgery' ">
     <BaselinePackageVersion>2.2.0</BaselinePackageVersion>

+ 3 - 1
eng/Baseline.xml

@@ -3,6 +3,8 @@
   <Package Id="dotnet-sql-cache" Version="2.2.0" />
   <Package Id="dotnet-user-secrets" Version="2.2.0" />
   <Package Id="dotnet-watch" Version="2.2.0" />
+  <Package Id="Microsoft.AspNetCore.AspNetCoreModule" Version="2.2.0" />
+  <Package Id="Microsoft.AspNetCore.AspNetCoreModuleV2" Version="2.2.0" />
   <Package Id="Microsoft.AspNetCore.Antiforgery" Version="2.2.0" />
   <Package Id="Microsoft.AspNetCore.Authentication.Abstractions" Version="2.2.0" />
   <Package Id="Microsoft.AspNetCore.Authentication.Core" Version="2.2.0" />
@@ -47,7 +49,7 @@
   <Package Id="Microsoft.AspNetCore.Routing" Version="2.2.0" />
   <Package Id="Microsoft.AspNetCore.Server.HttpSys" Version="2.2.0" />
   <Package Id="Microsoft.AspNetCore.Server.IISIntegration" Version="2.2.0" />
-  <Package Id="Microsoft.AspNetCore.Server.IIS" Version="2.2.0" Condition="'$(OS)' == 'Windows_NT'"/>
+  <Package Id="Microsoft.AspNetCore.Server.IIS" Version="2.2.0" />
   <Package Id="Microsoft.AspNetCore.Server.Kestrel.Core" Version="2.2.0" />
   <Package Id="Microsoft.AspNetCore.Server.Kestrel.Https" Version="2.2.0" />
   <Package Id="Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions" Version="2.2.0" />

+ 5 - 7
eng/Dependencies.props

@@ -5,8 +5,6 @@
     <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
   </PropertyGroup>
 
-  <Import Project="dependencies.temp.props" />
-
   <ItemGroup Label="ProdCon dependencies">
     <!-- These dependencies must use version variables because they may be overriden by ProdCon builds. -->
     <LatestPackageReference Include="Microsoft.AspNetCore.BenchmarkRunner.Sources" Version="$(MicrosoftAspNetCoreBenchmarkRunnerSourcesPackageVersion)" />
@@ -51,22 +49,22 @@
     <LatestPackageReference Include="Microsoft.Extensions.WebEncoders.Sources" Version="$(MicrosoftExtensionsWebEncodersSourcesPackageVersion)" />
     <LatestPackageReference Include="Microsoft.Extensions.WebEncoders" Version="$(MicrosoftExtensionsWebEncodersPackageVersion)" />
     <LatestPackageReference Include="Microsoft.Internal.AspNetCore.H2Spec.All" Version="$(MicrosoftInternalAspNetCoreH2SpecAllPackageVersion)" />
-    <LatestPackageReference Include="Microsoft.Web.Administration" Version="$(MicrosoftWebAdministrationPackageVersion)" />
     <LatestPackageReference Include="Microsoft.NETCore.Windows.ApiSets" Version="$(MicrosoftNETCoreWindowsApiSetsPackageVersion)" />
+    <LatestPackageReference Include="Microsoft.Web.Administration" Version="$(MicrosoftWebAdministrationPackageVersion)" />
     <LatestPackageReference Include="System.Buffers" Version="$(SystemBuffersPackageVersion)" />
     <LatestPackageReference Include="System.Data.SqlClient" Version="$(SystemDataSqlClientPackageVersion)" />
+    <LatestPackageReference Include="System.Diagnostics.EventLog" Version="$(SystemDiagnosticsEventLogPackageVersion)" />
     <LatestPackageReference Include="System.IO.Pipelines" Version="$(SystemIOPipelinesPackageVersion)" />
     <LatestPackageReference Include="System.Memory" Version="$(SystemMemoryPackageVersion)" />
-    <LatestPackageReference Include="System.Net.WebSockets.WebSocketProtocol" Version="$(SystemNetWebSocketsWebSocketProtocolPackageVersion)" />
     <LatestPackageReference Include="System.Net.Http.WinHttpHandler" Version="$(SystemNetHttpWinHttpHandlerPackageVersion)" />
+    <LatestPackageReference Include="System.Net.Http.WinHttpHandler" Version="$(SystemNetHttpWinHttpHandlerPackageVersion)" />
+    <LatestPackageReference Include="System.Net.WebSockets.WebSocketProtocol" Version="$(SystemNetWebSocketsWebSocketProtocolPackageVersion)" />
     <LatestPackageReference Include="System.Numerics.Vectors" Version="$(SystemNumericsVectorsPackageVersion)" />
     <LatestPackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="$(SystemRuntimeCompilerServicesUnsafePackageVersion)" />
     <LatestPackageReference Include="System.Security.Cryptography.Cng" Version="$(SystemSecurityCryptographyCngPackageVersion)" />
     <LatestPackageReference Include="System.Security.Principal.Windows" Version="$(SystemSecurityPrincipalWindowsPackageVersion)" />
-    <LatestPackageReference Include="System.Text.Encodings.Web" Version="$(SystemTextEncodingsWebPackageVersion)" />
-    <LatestPackageReference Include="System.Net.Http.WinHttpHandler" Version="$(SystemNetHttpWinHttpHandlerPackageVersion)" />
     <LatestPackageReference Include="System.ServiceProcess.ServiceController" Version="$(SystemServiceProcessServiceControllerPackageVersion)" />
-    <LatestPackageReference Include="System.Diagnostics.EventLog" Version="$(SystemDiagnosticsEventLogPackageVersion)" />
+    <LatestPackageReference Include="System.Text.Encodings.Web" Version="$(SystemTextEncodingsWebPackageVersion)" />
   </ItemGroup>
 
   <ItemGroup Label="External dependencies">

+ 2 - 0
eng/PatchConfig.props

@@ -5,6 +5,8 @@
 
   <PropertyGroup Condition=" '$(VersionPrefix)' == '2.2.1' ">
     <PackagesInPatch>
+      Microsoft.AspNetCore.AspNetCoreModule;
+      Microsoft.AspNetCore.AspNetCoreModuleV2;
       Microsoft.AspNetCore.Server.IIS;
       Microsoft.AspNetCore.Server.IISIntegration;
       Microsoft.AspNetCore.Server.IntegrationTesting.IIS;

+ 0 - 8
eng/dependencies.temp.props

@@ -1,8 +0,0 @@
-<!--
-This file is temporary until aspnet/StaticFiles are merged into this repo.
-This is required to provide dependencies for samples and tests.
- -->
-<Project>
-  <ItemGroup>
-  </ItemGroup>
-</Project>

+ 1 - 1
eng/tools/BaselineGenerator/BaselineGenerator.csproj

@@ -3,7 +3,7 @@
   <PropertyGroup>
     <OutputType>Exe</OutputType>
     <TargetFramework>netcoreapp2.1</TargetFramework>
-    <StartArguments>-o "$(MSBuildThisFileDirectory)../../Baseline.Designer.props"</StartArguments>
+    <StartArguments>-o "$(MSBuildThisFileDirectory)../../Baseline.Designer.props" --v3 -s https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer</StartArguments>
     <StartWorkingDirectory>$(MSBuildThisFileDirectory)../../</StartWorkingDirectory>
   </PropertyGroup>
 

+ 8 - 13
eng/tools/BaselineGenerator/Program.cs

@@ -96,20 +96,15 @@ namespace PackageBaselineGenerator
 
                 using (var reader = new PackageArchiveReader(nupkgPath))
                 {
-                    var first = true;
-                    foreach (var group in reader.NuspecReader.GetDependencyGroups())
-                    {
-                        if (first)
-                        {
-                            first = false;
-                            doc.Root.Add(new XComment($" Package: {id}"));
+                    doc.Root.Add(new XComment($" Package: {id}"));
 
-                            var propertyGroup = new XElement("PropertyGroup",
-                                new XAttribute("Condition", $" '$(PackageId)' == '{id}' "),
-                                new XElement("BaselinePackageVersion", version));
-                            doc.Root.Add(propertyGroup);
-                        }
+                    var propertyGroup = new XElement("PropertyGroup",
+                        new XAttribute("Condition", $" '$(PackageId)' == '{id}' "),
+                        new XElement("BaselinePackageVersion", version));
+                    doc.Root.Add(propertyGroup);
 
+                    foreach (var group in reader.NuspecReader.GetDependencyGroups())
+                    {
                         var itemGroup = new XElement("ItemGroup", new XAttribute("Condition", $" '$(PackageId)' == '{id}' AND '$(TargetFramework)' == '{group.TargetFramework.GetShortFolderName()}' "));
                         doc.Root.Add(itemGroup);
 
@@ -131,7 +126,7 @@ namespace PackageBaselineGenerator
             {
                 doc.Save(writer);
             }
-
+            Console.WriteLine($"Generated file in {output}");
             return 0;
         }
     }

+ 30 - 11
src/Middleware/CORS/test/FunctionalTests/package-lock.json

@@ -1668,7 +1668,8 @@
         "ansi-regex": {
           "version": "2.1.1",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "aproba": {
           "version": "1.2.0",
@@ -1689,12 +1690,14 @@
         "balanced-match": {
           "version": "1.0.0",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "brace-expansion": {
           "version": "1.1.11",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "balanced-match": "^1.0.0",
             "concat-map": "0.0.1"
@@ -1709,17 +1712,20 @@
         "code-point-at": {
           "version": "1.1.0",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "concat-map": {
           "version": "0.0.1",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "console-control-strings": {
           "version": "1.1.0",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "core-util-is": {
           "version": "1.0.2",
@@ -1836,7 +1842,8 @@
         "inherits": {
           "version": "2.0.3",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "ini": {
           "version": "1.3.5",
@@ -1848,6 +1855,7 @@
           "version": "1.0.0",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "number-is-nan": "^1.0.0"
           }
@@ -1862,6 +1870,7 @@
           "version": "3.0.4",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "brace-expansion": "^1.1.7"
           }
@@ -1869,12 +1878,14 @@
         "minimist": {
           "version": "0.0.8",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "minipass": {
           "version": "2.2.4",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "safe-buffer": "^5.1.1",
             "yallist": "^3.0.0"
@@ -1893,6 +1904,7 @@
           "version": "0.5.1",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "minimist": "0.0.8"
           }
@@ -1973,7 +1985,8 @@
         "number-is-nan": {
           "version": "1.0.1",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "object-assign": {
           "version": "4.1.1",
@@ -1985,6 +1998,7 @@
           "version": "1.4.0",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "wrappy": "1"
           }
@@ -2070,7 +2084,8 @@
         "safe-buffer": {
           "version": "5.1.1",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "safer-buffer": {
           "version": "2.1.2",
@@ -2106,6 +2121,7 @@
           "version": "1.0.2",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "code-point-at": "^1.0.0",
             "is-fullwidth-code-point": "^1.0.0",
@@ -2125,6 +2141,7 @@
           "version": "3.0.1",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "ansi-regex": "^2.0.0"
           }
@@ -2168,12 +2185,14 @@
         "wrappy": {
           "version": "1.0.2",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "yallist": {
           "version": "3.0.2",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         }
       }
     },

+ 0 - 8
src/Mvc/global.json

@@ -1,8 +0,0 @@
-{
-    "sdk": {
-        "version": "2.2.100-preview2-009404"
-    },
-    "msbuild-sdks": {
-        "Internal.AspNetCore.Sdk": "2.2.0-preview2-20181003.2"
-    }
-}

+ 10 - 0
src/Servers/IIS/Directory.Build.props

@@ -0,0 +1,10 @@
+<Project>
+  <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory)..\, Directory.Build.props))\Directory.Build.props" />
+
+  <PropertyGroup>
+    <!-- TODO: fix targets which expect project output to be in the project directory. -->
+    <BaseIntermediateOutputPath />
+    <BaseOutputPath />
+  </PropertyGroup>
+
+</Project>

+ 5 - 0
src/Servers/IIS/Directory.Build.targets

@@ -0,0 +1,5 @@
+<Project>
+  <Import Project="ResolveIisReferences.targets" Condition=" '$(MSBuildProjectExtension)' != '.vcxproj' " />
+
+  <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory)..\, Directory.Build.targets))\Directory.Build.targets" />
+</Project>

+ 0 - 1
src/Servers/IIS/IISIntegration.NoV1.sln

@@ -38,7 +38,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{7E80C58E
 		build\applicationhost.iis.config = build\applicationhost.iis.config
 		build\Build.Settings = build\Build.Settings
 		build\Config.Definitions.Props = build\Config.Definitions.Props
-		build\functional-test-assets.targets = build\functional-test-assets.targets
 		build\Key.snk = build\Key.snk
 		build\launchSettings.json = build\launchSettings.json
 		build\native.targets = build\native.targets

+ 90 - 0
src/Servers/IIS/ResolveIisReferences.targets

@@ -0,0 +1,90 @@
+<!--
+
+The targets in this file resolve References to ANCM into ProjectReferences,
+with the right MSBuild incantations to get output copied to the right place.
+
+-->
+<Project>
+  <Choose>
+    <!-- IIS native projects only build on Windows with MSBuild.exe -->
+    <When Condition="'$(OS)' == 'Windows_NT' AND '$(MSBuildRuntimeType)' != 'Core' ">
+      <ItemGroup Condition=" '@(Reference->AnyHaveMetadataValue('Identity', 'AspNetCoreModule'))' == 'true' ">
+        <Reference Remove="AspNetCoreModule" />
+        <NativeProjectReference Include="$(MSBuildThisFileDirectory)src\AspNetCoreModuleV1\AspNetCore\AspNetCore.vcxproj" />
+      </ItemGroup>
+
+      <ItemGroup Condition=" '@(Reference->AnyHaveMetadataValue('Identity', 'AspNetCoreModuleV2'))' == 'true' ">
+        <Reference Remove="AspNetCoreModuleV2" />
+        <NativeProjectReference Include="$(MSBuildThisFileDirectory)src\AspNetCoreModuleV2\AspNetCore\AspNetCore.vcxproj" />
+        <NativeProjectReference Include="$(MSBuildThisFileDirectory)src\AspNetCoreModuleV2\OutOfProcessRequestHandler\OutOfProcessRequestHandler.vcxproj" />
+        <NativeProjectReference Include="$(MSBuildThisFileDirectory)src\AspNetCoreModuleV2\InProcessRequestHandler\InProcessRequestHandler.vcxproj" />
+      </ItemGroup>
+
+      <ItemGroup Condition="@(NativeProjectReference->Count()) != 0">
+        <!-- TODO: investigate building just one arch at a time. -->
+        <ProjectReference Include="@(NativeProjectReference)">
+          <!-- Set the arch-->
+          <SetPlatform>Platform=x64</SetPlatform>
+          <!-- The base path for the output. -->
+          <LinkBase>x64\</LinkBase>
+          <!-- This reference assembly doesn't need -->
+          <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+          <!-- NativeContent is a custom type of item group which is assigned a target path after project references are resolved.  -->
+          <OutputItemType>NativeContent</OutputItemType>
+          <!-- Set the copy policy. -->
+          <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+          <!-- This instructs the ProjectRef protocol to collect symbols as well as built output -->
+          <Targets>Build;BuiltProjectOutputGroup;DebugSymbolsProjectOutputGroup</Targets>
+          <!-- Optimization. Native projects don't have a .NET TargetFramework -->
+          <SkipGetTargetFrameworkProperties>true</SkipGetTargetFrameworkProperties>
+          <UndefineProperties>TargetFramework</UndefineProperties>
+          <!-- Don't put this reference into generated .nuspec -->
+          <PrivateAssets>All</PrivateAssets>
+          <!-- Publish assets from this reference -->
+          <Publish>true</Publish>
+        </ProjectReference>
+
+        <ProjectReference Include="@(NativeProjectReference)">
+          <!-- Set the arch-->
+          <SetPlatform>Platform=x86</SetPlatform>
+          <!-- The base path for the output. -->
+          <LinkBase>x86\</LinkBase>
+          <!-- This reference assembly doesn't need -->
+          <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+          <!-- NativeContent is a custom type of item group which is assigned a target path after project references are resolved.  -->
+          <OutputItemType>NativeContent</OutputItemType>
+          <!-- Set the copy policy. -->
+          <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+          <!-- This instructs the ProjectRef protocol to collect symbols as well as built output -->
+          <Targets>Build;BuiltProjectOutputGroup;DebugSymbolsProjectOutputGroup</Targets>
+          <!-- Optimization. Native projects don't have a .NET TargetFramework -->
+          <SkipGetTargetFrameworkProperties>true</SkipGetTargetFrameworkProperties>
+          <UndefineProperties>TargetFramework</UndefineProperties>
+          <!-- Don't put this reference into generated .nuspec -->
+          <PrivateAssets>All</PrivateAssets>
+          <!-- Publish assets from this reference -->
+          <Publish>true</Publish>
+        </ProjectReference>
+
+        <NativeProjectReference Remove="@(NativeProjectReference)" />
+      </ItemGroup>
+    </When>
+  </Choose>
+
+  <Target Name="_GetNativeContentCopyToOutputDirectoryItems"
+          BeforeTargets="GetCopyToOutputDirectoryItems"
+          DependsOnTargets="ResolveProjectReferences">
+
+    <ItemGroup>
+      <!-- Prepend LinkBase to output path. -->
+      <NativeContent>
+        <Link>%(LinkBase)%(FileName)%(Extension)</Link>
+      </NativeContent>
+    </ItemGroup>
+
+    <!-- Add the item to the ContentWithTargetPath group, which is then used by GetCopyToOutputDirectoryItems to copy to the correct output location. -->
+    <AssignTargetPath Files="@(NativeContent)" RootFolder="$(MSBuildProjectDirectory)">
+      <Output TaskParameter="AssignedFiles" ItemName="ContentWithTargetPath" />
+    </AssignTargetPath>
+  </Target>
+</Project>

+ 192 - 192
src/Servers/IIS/build/assets.props

@@ -9,261 +9,261 @@
     </PropertyGroup>
     <ItemGroup>
        <Components
-          VCPlatform="x64" 
-          Platform="x64" 
-          ProjectName="AspNetCore.vcxproj" 
-          NativeAsset="aspnetcore" 
-          PropetyName="AspNetCoreModuleV1Shim" 
-          BaseOutputPath="AspNetCoreModuleV1" 
-          ProjectDirectory="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV1\AspNetCore" 
-          DllLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV1\AspNetCore\bin\$(Configuration)\x64\aspnetcore.dll" 
-          Include="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV1\AspNetCore\AspNetCore.vcxproj" 
+          VCPlatform="x64"
+          Platform="x64"
+          ProjectName="AspNetCore.vcxproj"
+          NativeAsset="aspnetcore"
+          PropetyName="AspNetCoreModuleV1Shim"
+          BaseOutputPath="AspNetCoreModuleV1"
+          ProjectDirectory="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV1\AspNetCore"
+          DllLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV1\AspNetCore\bin\$(Configuration)\x64\aspnetcore.dll"
+          Include="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV1\AspNetCore\AspNetCore.vcxproj"
           PdbLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV1\AspNetCore\bin\$(Configuration)\x64\aspnetcore.pdb"
         />
         <Components
-          VCPlatform="Win32" 
-          Platform="x86" 
-          ProjectName="AspNetCore.vcxproj" 
-          NativeAsset="aspnetcore" 
-          PropetyName="AspNetCoreModuleV1Shim" 
-          BaseOutputPath="AspNetCoreModuleV1" 
-          ProjectDirectory="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV1\AspNetCore" 
-          DllLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV1\AspNetCore\bin\$(Configuration)\Win32\aspnetcore.dll" 
-          Include="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV1\AspNetCore\AspNetCore.vcxproj" 
+          VCPlatform="Win32"
+          Platform="x86"
+          ProjectName="AspNetCore.vcxproj"
+          NativeAsset="aspnetcore"
+          PropetyName="AspNetCoreModuleV1Shim"
+          BaseOutputPath="AspNetCoreModuleV1"
+          ProjectDirectory="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV1\AspNetCore"
+          DllLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV1\AspNetCore\bin\$(Configuration)\Win32\aspnetcore.dll"
+          Include="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV1\AspNetCore\AspNetCore.vcxproj"
           PdbLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV1\AspNetCore\bin\$(Configuration)\Win32\aspnetcore.pdb"
         />
         <Components
-          VCPlatform="x64" 
-          Platform="x64" 
-          ProjectName="AspNetCore.vcxproj" 
-          NativeAsset="aspnetcorev2" 
-          PropetyName="AspNetCoreModuleV2Shim" 
-          BaseOutputPath="AspNetCoreModuleV2" 
-          ProjectDirectory="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\AspNetCore" 
-          DllLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\AspNetCore\bin\$(Configuration)\x64\aspnetcorev2.dll" 
-          Include="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\AspNetCore\AspNetCore.vcxproj" 
+          VCPlatform="x64"
+          Platform="x64"
+          ProjectName="AspNetCore.vcxproj"
+          NativeAsset="aspnetcorev2"
+          PropetyName="AspNetCoreModuleV2Shim"
+          BaseOutputPath="AspNetCoreModuleV2"
+          ProjectDirectory="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\AspNetCore"
+          DllLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\AspNetCore\bin\$(Configuration)\x64\aspnetcorev2.dll"
+          Include="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\AspNetCore\AspNetCore.vcxproj"
           PdbLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\AspNetCore\bin\$(Configuration)\x64\aspnetcorev2.pdb"
         />
         <Components
-          VCPlatform="Win32" 
-          Platform="x86" 
-          ProjectName="AspNetCore.vcxproj" 
-          NativeAsset="aspnetcorev2" 
-          PropetyName="AspNetCoreModuleV2Shim" 
-          BaseOutputPath="AspNetCoreModuleV2" 
-          ProjectDirectory="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\AspNetCore" 
-          DllLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\AspNetCore\bin\$(Configuration)\Win32\aspnetcorev2.dll" 
-          Include="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\AspNetCore\AspNetCore.vcxproj" 
+          VCPlatform="Win32"
+          Platform="x86"
+          ProjectName="AspNetCore.vcxproj"
+          NativeAsset="aspnetcorev2"
+          PropetyName="AspNetCoreModuleV2Shim"
+          BaseOutputPath="AspNetCoreModuleV2"
+          ProjectDirectory="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\AspNetCore"
+          DllLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\AspNetCore\bin\$(Configuration)\Win32\aspnetcorev2.dll"
+          Include="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\AspNetCore\AspNetCore.vcxproj"
           PdbLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\AspNetCore\bin\$(Configuration)\Win32\aspnetcorev2.pdb"
         />
         <Components
-          VCPlatform="x64" 
-          Platform="x64" 
-          ProjectName="InProcessRequestHandler.vcxproj" 
-          NativeAsset="aspnetcorev2_inprocess" 
-          PropetyName="AspNetCoreModuleV2InProcessHandler" 
-          BaseOutputPath="AspNetCoreModuleV2" 
-          ProjectDirectory="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\InProcessRequestHandler" 
-          DllLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\InProcessRequestHandler\bin\$(Configuration)\x64\aspnetcorev2_inprocess.dll" 
-          Include="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\InProcessRequestHandler\InProcessRequestHandler.vcxproj" 
+          VCPlatform="x64"
+          Platform="x64"
+          ProjectName="InProcessRequestHandler.vcxproj"
+          NativeAsset="aspnetcorev2_inprocess"
+          PropetyName="AspNetCoreModuleV2InProcessHandler"
+          BaseOutputPath="AspNetCoreModuleV2"
+          ProjectDirectory="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\InProcessRequestHandler"
+          DllLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\InProcessRequestHandler\bin\$(Configuration)\x64\aspnetcorev2_inprocess.dll"
+          Include="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\InProcessRequestHandler\InProcessRequestHandler.vcxproj"
           PdbLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\InProcessRequestHandler\bin\$(Configuration)\x64\aspnetcorev2_inprocess.pdb"
         />
         <Components
-          VCPlatform="Win32" 
-          Platform="x86" 
-          ProjectName="InProcessRequestHandler.vcxproj" 
-          NativeAsset="aspnetcorev2_inprocess" 
-          PropetyName="AspNetCoreModuleV2InProcessHandler" 
-          BaseOutputPath="AspNetCoreModuleV2" 
-          ProjectDirectory="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\InProcessRequestHandler" 
-          DllLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\InProcessRequestHandler\bin\$(Configuration)\Win32\aspnetcorev2_inprocess.dll" 
-          Include="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\InProcessRequestHandler\InProcessRequestHandler.vcxproj" 
-          PdbLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\InProcessRequestHandler\bin\$(Configuration)\Win32\aspnetcorev2_inprocess.pdb"
+          VCPlatform="Win32"
+          Platform="x86"
+          ProjectName="InProcessRequestHandler.vcxproj"
+          NativeAsset="aspnetcorev2_inprocess"
+          PropetyName="AspNetCoreModuleV2InProcessHandler"
+          BaseOutputPath="AspNetCoreModuleV2"
+          ProjectDirectory="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\InProcessRequestHandler"
+          DllLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\InProcessRequestHandler\bin\$(Configuration)\x86\aspnetcorev2_inprocess.dll"
+          Include="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\InProcessRequestHandler\InProcessRequestHandler.vcxproj"
+          PdbLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\InProcessRequestHandler\bin\$(Configuration)\x86\aspnetcorev2_inprocess.pdb"
         />
         <Components
-          VCPlatform="x64" 
-          Platform="x64" 
-          ProjectDirectory="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\OutOfProcessRequestHandler" 
-          ProjectName="OutOfProcessRequestHandler.vcxproj" 
-          PropetyName="AspNetCoreModuleV2OutOfProcessHandler" 
-          NativeAsset="aspnetcorev2_outofprocess" 
-          BaseOutputPath="AspNetCoreModuleV2" 
-          PackageSubPath="$(AspNetCoreModuleOutOfProcessVersion)\" 
-          DllLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\OutOfProcessRequestHandler\bin\$(Configuration)\x64\aspnetcorev2_outofprocess.dll" 
-          Include="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\OutOfProcessRequestHandler\OutOfProcessRequestHandler.vcxproj" 
+          VCPlatform="x64"
+          Platform="x64"
+          ProjectDirectory="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\OutOfProcessRequestHandler"
+          ProjectName="OutOfProcessRequestHandler.vcxproj"
+          PropetyName="AspNetCoreModuleV2OutOfProcessHandler"
+          NativeAsset="aspnetcorev2_outofprocess"
+          BaseOutputPath="AspNetCoreModuleV2"
+          PackageSubPath="$(AspNetCoreModuleOutOfProcessVersion)\"
+          DllLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\OutOfProcessRequestHandler\bin\$(Configuration)\x64\aspnetcorev2_outofprocess.dll"
+          Include="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\OutOfProcessRequestHandler\OutOfProcessRequestHandler.vcxproj"
           PdbLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\OutOfProcessRequestHandler\bin\$(Configuration)\x64\aspnetcorev2_outofprocess.pdb"
         />
         <Components
-          VCPlatform="Win32" 
-          Platform="x86" 
-          ProjectDirectory="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\OutOfProcessRequestHandler" 
-          ProjectName="OutOfProcessRequestHandler.vcxproj" 
-          PropetyName="AspNetCoreModuleV2OutOfProcessHandler" 
-          NativeAsset="aspnetcorev2_outofprocess" 
-          BaseOutputPath="AspNetCoreModuleV2" 
-          PackageSubPath="$(AspNetCoreModuleOutOfProcessVersion)\" 
-          DllLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\OutOfProcessRequestHandler\bin\$(Configuration)\Win32\aspnetcorev2_outofprocess.dll" 
-          Include="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\OutOfProcessRequestHandler\OutOfProcessRequestHandler.vcxproj" 
-          PdbLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\OutOfProcessRequestHandler\bin\$(Configuration)\Win32\aspnetcorev2_outofprocess.pdb"
+          VCPlatform="Win32"
+          Platform="x86"
+          ProjectDirectory="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\OutOfProcessRequestHandler"
+          ProjectName="OutOfProcessRequestHandler.vcxproj"
+          PropetyName="AspNetCoreModuleV2OutOfProcessHandler"
+          NativeAsset="aspnetcorev2_outofprocess"
+          BaseOutputPath="AspNetCoreModuleV2"
+          PackageSubPath="$(AspNetCoreModuleOutOfProcessVersion)\"
+          DllLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\OutOfProcessRequestHandler\bin\$(Configuration)\x86\aspnetcorev2_outofprocess.dll"
+          Include="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\OutOfProcessRequestHandler\OutOfProcessRequestHandler.vcxproj"
+          PdbLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\OutOfProcessRequestHandler\bin\$(Configuration)\x86\aspnetcorev2_outofprocess.pdb"
         />
 
        <ShimComponents
-          VCPlatform="x64" 
-          Platform="x64" 
-          ProjectName="AspNetCore.vcxproj" 
-          NativeAsset="aspnetcore" 
-          PropetyName="AspNetCoreModuleV1Shim" 
-          BaseOutputPath="AspNetCoreModuleV1" 
-          ProjectDirectory="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV1\AspNetCore" 
-          DllLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV1\AspNetCore\bin\$(Configuration)\x64\aspnetcore.dll" 
-          Include="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV1\AspNetCore\AspNetCore.vcxproj" 
+          VCPlatform="x64"
+          Platform="x64"
+          ProjectName="AspNetCore.vcxproj"
+          NativeAsset="aspnetcore"
+          PropetyName="AspNetCoreModuleV1Shim"
+          BaseOutputPath="AspNetCoreModuleV1"
+          ProjectDirectory="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV1\AspNetCore"
+          DllLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV1\AspNetCore\bin\$(Configuration)\x64\aspnetcore.dll"
+          Include="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV1\AspNetCore\AspNetCore.vcxproj"
           PdbLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV1\AspNetCore\bin\$(Configuration)\x64\aspnetcore.pdb"
         />
         <ShimComponents
-          VCPlatform="Win32" 
-          Platform="x86" 
-          ProjectName="AspNetCore.vcxproj" 
-          NativeAsset="aspnetcore" 
-          PropetyName="AspNetCoreModuleV1Shim" 
-          BaseOutputPath="AspNetCoreModuleV1" 
-          ProjectDirectory="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV1\AspNetCore" 
-          DllLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV1\AspNetCore\bin\$(Configuration)\Win32\aspnetcore.dll" 
-          Include="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV1\AspNetCore\AspNetCore.vcxproj" 
+          VCPlatform="Win32"
+          Platform="x86"
+          ProjectName="AspNetCore.vcxproj"
+          NativeAsset="aspnetcore"
+          PropetyName="AspNetCoreModuleV1Shim"
+          BaseOutputPath="AspNetCoreModuleV1"
+          ProjectDirectory="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV1\AspNetCore"
+          DllLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV1\AspNetCore\bin\$(Configuration)\Win32\aspnetcore.dll"
+          Include="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV1\AspNetCore\AspNetCore.vcxproj"
           PdbLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV1\AspNetCore\bin\$(Configuration)\Win32\aspnetcore.pdb"
         />
         <ShimComponents
-          VCPlatform="x64" 
-          Platform="x64" 
-          ProjectName="AspNetCore.vcxproj" 
-          NativeAsset="aspnetcorev2" 
-          PropetyName="AspNetCoreModuleV2Shim" 
-          BaseOutputPath="AspNetCoreModuleV2" 
-          ProjectDirectory="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\AspNetCore" 
-          DllLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\AspNetCore\bin\$(Configuration)\x64\aspnetcorev2.dll" 
-          Include="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\AspNetCore\AspNetCore.vcxproj" 
+          VCPlatform="x64"
+          Platform="x64"
+          ProjectName="AspNetCore.vcxproj"
+          NativeAsset="aspnetcorev2"
+          PropetyName="AspNetCoreModuleV2Shim"
+          BaseOutputPath="AspNetCoreModuleV2"
+          ProjectDirectory="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\AspNetCore"
+          DllLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\AspNetCore\bin\$(Configuration)\x64\aspnetcorev2.dll"
+          Include="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\AspNetCore\AspNetCore.vcxproj"
           PdbLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\AspNetCore\bin\$(Configuration)\x64\aspnetcorev2.pdb"
         />
         <ShimComponents
-          VCPlatform="Win32" 
-          Platform="x86" 
-          ProjectName="AspNetCore.vcxproj" 
-          NativeAsset="aspnetcorev2" 
-          PropetyName="AspNetCoreModuleV2Shim" 
-          BaseOutputPath="AspNetCoreModuleV2" 
-          ProjectDirectory="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\AspNetCore" 
-          DllLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\AspNetCore\bin\$(Configuration)\Win32\aspnetcorev2.dll" 
-          Include="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\AspNetCore\AspNetCore.vcxproj" 
+          VCPlatform="Win32"
+          Platform="x86"
+          ProjectName="AspNetCore.vcxproj"
+          NativeAsset="aspnetcorev2"
+          PropetyName="AspNetCoreModuleV2Shim"
+          BaseOutputPath="AspNetCoreModuleV2"
+          ProjectDirectory="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\AspNetCore"
+          DllLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\AspNetCore\bin\$(Configuration)\Win32\aspnetcorev2.dll"
+          Include="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\AspNetCore\AspNetCore.vcxproj"
           PdbLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\AspNetCore\bin\$(Configuration)\Win32\aspnetcorev2.pdb"
         />
         <ShimComponents
-          VCPlatform="x64" 
-          Platform="x64" 
-          ProjectDirectory="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\OutOfProcessRequestHandler" 
-          ProjectName="OutOfProcessRequestHandler.vcxproj" 
-          PropetyName="AspNetCoreModuleV2OutOfProcessHandler" 
-          NativeAsset="aspnetcorev2_outofprocess" 
-          BaseOutputPath="AspNetCoreModuleV2" 
-          PackageSubPath="$(AspNetCoreModuleOutOfProcessVersion)\" 
-          DllLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\OutOfProcessRequestHandler\bin\$(Configuration)\x64\aspnetcorev2_outofprocess.dll" 
-          Include="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\OutOfProcessRequestHandler\OutOfProcessRequestHandler.vcxproj" 
+          VCPlatform="x64"
+          Platform="x64"
+          ProjectDirectory="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\OutOfProcessRequestHandler"
+          ProjectName="OutOfProcessRequestHandler.vcxproj"
+          PropetyName="AspNetCoreModuleV2OutOfProcessHandler"
+          NativeAsset="aspnetcorev2_outofprocess"
+          BaseOutputPath="AspNetCoreModuleV2"
+          PackageSubPath="$(AspNetCoreModuleOutOfProcessVersion)\"
+          DllLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\OutOfProcessRequestHandler\bin\$(Configuration)\x64\aspnetcorev2_outofprocess.dll"
+          Include="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\OutOfProcessRequestHandler\OutOfProcessRequestHandler.vcxproj"
           PdbLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\OutOfProcessRequestHandler\bin\$(Configuration)\x64\aspnetcorev2_outofprocess.pdb"
         />
         <ShimComponents
-          VCPlatform="Win32" 
-          Platform="x86" 
-          ProjectDirectory="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\OutOfProcessRequestHandler" 
-          ProjectName="OutOfProcessRequestHandler.vcxproj" 
-          PropetyName="AspNetCoreModuleV2OutOfProcessHandler" 
-          NativeAsset="aspnetcorev2_outofprocess" 
-          BaseOutputPath="AspNetCoreModuleV2" 
-          PackageSubPath="$(AspNetCoreModuleOutOfProcessVersion)\" 
-          DllLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\OutOfProcessRequestHandler\bin\$(Configuration)\Win32\aspnetcorev2_outofprocess.dll" 
-          Include="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\OutOfProcessRequestHandler\OutOfProcessRequestHandler.vcxproj" 
-          PdbLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\OutOfProcessRequestHandler\bin\$(Configuration)\Win32\aspnetcorev2_outofprocess.pdb"
+          VCPlatform="Win32"
+          Platform="x86"
+          ProjectDirectory="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\OutOfProcessRequestHandler"
+          ProjectName="OutOfProcessRequestHandler.vcxproj"
+          PropetyName="AspNetCoreModuleV2OutOfProcessHandler"
+          NativeAsset="aspnetcorev2_outofprocess"
+          BaseOutputPath="AspNetCoreModuleV2"
+          PackageSubPath="$(AspNetCoreModuleOutOfProcessVersion)\"
+          DllLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\OutOfProcessRequestHandler\bin\$(Configuration)\x86\aspnetcorev2_outofprocess.dll"
+          Include="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\OutOfProcessRequestHandler\OutOfProcessRequestHandler.vcxproj"
+          PdbLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\OutOfProcessRequestHandler\bin\$(Configuration)\x86\aspnetcorev2_outofprocess.pdb"
         />
 
        <InProcessComponents
-          VCPlatform="x64" 
-          Platform="x64" 
-          ProjectName="InProcessRequestHandler.vcxproj" 
-          NativeAsset="aspnetcorev2_inprocess" 
-          PropetyName="AspNetCoreModuleV2InProcessHandler" 
-          BaseOutputPath="AspNetCoreModuleV2" 
-          ProjectDirectory="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\InProcessRequestHandler" 
-          DllLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\InProcessRequestHandler\bin\$(Configuration)\x64\aspnetcorev2_inprocess.dll" 
-          Include="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\InProcessRequestHandler\InProcessRequestHandler.vcxproj" 
+          VCPlatform="x64"
+          Platform="x64"
+          ProjectName="InProcessRequestHandler.vcxproj"
+          NativeAsset="aspnetcorev2_inprocess"
+          PropetyName="AspNetCoreModuleV2InProcessHandler"
+          BaseOutputPath="AspNetCoreModuleV2"
+          ProjectDirectory="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\InProcessRequestHandler"
+          DllLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\InProcessRequestHandler\bin\$(Configuration)\x64\aspnetcorev2_inprocess.dll"
+          Include="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\InProcessRequestHandler\InProcessRequestHandler.vcxproj"
           PdbLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\InProcessRequestHandler\bin\$(Configuration)\x64\aspnetcorev2_inprocess.pdb"
         />
         <InProcessComponents
-          VCPlatform="Win32" 
-          Platform="x86" 
-          ProjectName="InProcessRequestHandler.vcxproj" 
-          NativeAsset="aspnetcorev2_inprocess" 
-          PropetyName="AspNetCoreModuleV2InProcessHandler" 
-          BaseOutputPath="AspNetCoreModuleV2" 
-          ProjectDirectory="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\InProcessRequestHandler" 
-          DllLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\InProcessRequestHandler\bin\$(Configuration)\Win32\aspnetcorev2_inprocess.dll" 
-          Include="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\InProcessRequestHandler\InProcessRequestHandler.vcxproj" 
-          PdbLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\InProcessRequestHandler\bin\$(Configuration)\Win32\aspnetcorev2_inprocess.pdb"
+          VCPlatform="Win32"
+          Platform="x86"
+          ProjectName="InProcessRequestHandler.vcxproj"
+          NativeAsset="aspnetcorev2_inprocess"
+          PropetyName="AspNetCoreModuleV2InProcessHandler"
+          BaseOutputPath="AspNetCoreModuleV2"
+          ProjectDirectory="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\InProcessRequestHandler"
+          DllLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\InProcessRequestHandler\bin\$(Configuration)\x86\aspnetcorev2_inprocess.dll"
+          Include="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\InProcessRequestHandler\InProcessRequestHandler.vcxproj"
+          PdbLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\InProcessRequestHandler\bin\$(Configuration)\x86\aspnetcorev2_inprocess.pdb"
         />
 
        <RunShimComponents
-          VCPlatform="$(NativeVCPlatform)" 
-          Platform="$(NativePlatform)" 
-          ProjectName="AspNetCore.vcxproj" 
-          NativeAsset="aspnetcore" 
-          PropetyName="AspNetCoreModuleV1Shim" 
-          BaseOutputPath="AspNetCoreModuleV1" 
-          ProjectDirectory="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV1\AspNetCore" 
-          DllLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV1\AspNetCore\bin\$(Configuration)\$(NativeVCPlatform)\aspnetcore.dll" 
-          Include="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV1\AspNetCore\AspNetCore.vcxproj" 
+          VCPlatform="$(NativeVCPlatform)"
+          Platform="$(NativePlatform)"
+          ProjectName="AspNetCore.vcxproj"
+          NativeAsset="aspnetcore"
+          PropetyName="AspNetCoreModuleV1Shim"
+          BaseOutputPath="AspNetCoreModuleV1"
+          ProjectDirectory="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV1\AspNetCore"
+          DllLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV1\AspNetCore\bin\$(Configuration)\$(NativeVCPlatform)\aspnetcore.dll"
+          Include="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV1\AspNetCore\AspNetCore.vcxproj"
           PdbLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV1\AspNetCore\bin\$(Configuration)\$(NativeVCPlatform)\aspnetcore.pdb"
         />
         <RunShimComponents
-          VCPlatform="$(NativeVCPlatform)" 
-          Platform="$(NativePlatform)" 
-          ProjectName="AspNetCore.vcxproj" 
-          NativeAsset="aspnetcorev2" 
-          PropetyName="AspNetCoreModuleV2Shim" 
-          BaseOutputPath="AspNetCoreModuleV2" 
-          ProjectDirectory="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\AspNetCore" 
-          DllLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\AspNetCore\bin\$(Configuration)\$(NativeVCPlatform)\aspnetcorev2.dll" 
-          Include="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\AspNetCore\AspNetCore.vcxproj" 
+          VCPlatform="$(NativeVCPlatform)"
+          Platform="$(NativePlatform)"
+          ProjectName="AspNetCore.vcxproj"
+          NativeAsset="aspnetcorev2"
+          PropetyName="AspNetCoreModuleV2Shim"
+          BaseOutputPath="AspNetCoreModuleV2"
+          ProjectDirectory="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\AspNetCore"
+          DllLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\AspNetCore\bin\$(Configuration)\$(NativeVCPlatform)\aspnetcorev2.dll"
+          Include="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\AspNetCore\AspNetCore.vcxproj"
           PdbLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\AspNetCore\bin\$(Configuration)\$(NativeVCPlatform)\aspnetcorev2.pdb"
         />
         <RunShimComponents
-          VCPlatform="$(NativeVCPlatform)" 
-          Platform="$(NativePlatform)" 
-          ProjectDirectory="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\OutOfProcessRequestHandler" 
-          ProjectName="OutOfProcessRequestHandler.vcxproj" 
-          PropetyName="AspNetCoreModuleV2OutOfProcessHandler" 
-          NativeAsset="aspnetcorev2_outofprocess" 
-          BaseOutputPath="AspNetCoreModuleV2" 
-          PackageSubPath="$(AspNetCoreModuleOutOfProcessVersion)\" 
-          DllLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\OutOfProcessRequestHandler\bin\$(Configuration)\$(NativeVCPlatform)\aspnetcorev2_outofprocess.dll" 
-          Include="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\OutOfProcessRequestHandler\OutOfProcessRequestHandler.vcxproj" 
+          VCPlatform="$(NativeVCPlatform)"
+          Platform="$(NativePlatform)"
+          ProjectDirectory="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\OutOfProcessRequestHandler"
+          ProjectName="OutOfProcessRequestHandler.vcxproj"
+          PropetyName="AspNetCoreModuleV2OutOfProcessHandler"
+          NativeAsset="aspnetcorev2_outofprocess"
+          BaseOutputPath="AspNetCoreModuleV2"
+          PackageSubPath="$(AspNetCoreModuleOutOfProcessVersion)\"
+          DllLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\OutOfProcessRequestHandler\bin\$(Configuration)\$(NativeVCPlatform)\aspnetcorev2_outofprocess.dll"
+          Include="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\OutOfProcessRequestHandler\OutOfProcessRequestHandler.vcxproj"
           PdbLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\OutOfProcessRequestHandler\bin\$(Configuration)\$(NativeVCPlatform)\aspnetcorev2_outofprocess.pdb"
         />
 
        <RunInProcessComponents
-          VCPlatform="$(NativeVCPlatform)" 
-          Platform="$(NativePlatform)" 
-          ProjectName="InProcessRequestHandler.vcxproj" 
-          NativeAsset="aspnetcorev2_inprocess" 
-          PropetyName="AspNetCoreModuleV2InProcessHandler" 
-          BaseOutputPath="AspNetCoreModuleV2" 
-          ProjectDirectory="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\InProcessRequestHandler" 
-          DllLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\InProcessRequestHandler\bin\$(Configuration)\$(NativeVCPlatform)\aspnetcorev2_inprocess.dll" 
-          Include="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\InProcessRequestHandler\InProcessRequestHandler.vcxproj" 
+          VCPlatform="$(NativeVCPlatform)"
+          Platform="$(NativePlatform)"
+          ProjectName="InProcessRequestHandler.vcxproj"
+          NativeAsset="aspnetcorev2_inprocess"
+          PropetyName="AspNetCoreModuleV2InProcessHandler"
+          BaseOutputPath="AspNetCoreModuleV2"
+          ProjectDirectory="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\InProcessRequestHandler"
+          DllLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\InProcessRequestHandler\bin\$(Configuration)\$(NativeVCPlatform)\aspnetcorev2_inprocess.dll"
+          Include="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\InProcessRequestHandler\InProcessRequestHandler.vcxproj"
           PdbLocation="$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\InProcessRequestHandler\bin\$(Configuration)\$(NativeVCPlatform)\aspnetcorev2_inprocess.pdb"
         />
 
     </ItemGroup>
     <PropertyGroup>
 
-       <AspNetCoreModuleV1ShimDll>$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV1\AspNetCore\bin\$(Configuration)\$(NativeVCPlatform)\aspnetcore.dll</AspNetCoreModuleV1ShimDll> 
-       <AspNetCoreModuleV2ShimDll>$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\AspNetCore\bin\$(Configuration)\$(NativeVCPlatform)\aspnetcorev2.dll</AspNetCoreModuleV2ShimDll> 
-       <AspNetCoreModuleV2InProcessHandlerDll>$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\InProcessRequestHandler\bin\$(Configuration)\$(NativeVCPlatform)\aspnetcorev2_inprocess.dll</AspNetCoreModuleV2InProcessHandlerDll> 
+       <AspNetCoreModuleV1ShimDll>$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV1\AspNetCore\bin\$(Configuration)\$(NativeVCPlatform)\aspnetcore.dll</AspNetCoreModuleV1ShimDll>
+       <AspNetCoreModuleV2ShimDll>$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\AspNetCore\bin\$(Configuration)\$(NativeVCPlatform)\aspnetcorev2.dll</AspNetCoreModuleV2ShimDll>
+       <AspNetCoreModuleV2InProcessHandlerDll>$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\InProcessRequestHandler\bin\$(Configuration)\$(NativeVCPlatform)\aspnetcorev2_inprocess.dll</AspNetCoreModuleV2InProcessHandlerDll>
        <AspNetCoreModuleV2OutOfProcessHandlerDll>$(MSBuildThisFileDirectory)..\src\AspNetCoreModuleV2\OutOfProcessRequestHandler\bin\$(Configuration)\$(NativeVCPlatform)\aspnetcorev2_outofprocess.dll</AspNetCoreModuleV2OutOfProcessHandlerDll>
     </PropertyGroup>
 </Project>

+ 0 - 10
src/Servers/IIS/build/functional-test-assets.targets

@@ -1,10 +0,0 @@
-<Project>
-  <Import Project="assets.props"/>
-  <Target Name="AddRunNativeComponents" BeforeTargets="AssignTargetPaths" Condition="$(PackNativeAssets) == 'true'">
-      <ItemGroup>
-        <None Include="%(RunShimComponents.DllLocation)" CopyToOutputDirectory="PreserveNewest" Link="%(RunShimComponents.Platform)\%(RunShimComponents.PackageSubPath)%(RunShimComponents.NativeAsset).dll" />
-
-        <None Include="%(RunShimComponents.PdbLocation)" CopyToOutputDirectory="PreserveNewest" Link="%(RunShimComponents.Platform)\%(RunShimComponents.PackageSubPath)%(RunShimComponents.NativeAsset).pdb" />
-      </ItemGroup>
-    </Target>
-</Project>

+ 42 - 0
src/Servers/IIS/build/launchSettings.json

@@ -0,0 +1,42 @@
+{
+  "iisSettings": {
+    "windowsAuthentication": true,
+    "anonymousAuthentication": true,
+    "iisExpress": {
+      "applicationUrl": "http://localhost:5762/",
+      "sslPort": 0
+    }
+  },
+  "profiles": {
+    "ANCM IIS Express": {
+      "commandName": "Executable",
+      "executablePath": "$(IISExpressPath)",
+      "commandLineArgs": "$(IISExpressArguments)",
+      "environmentVariables": {
+        "IIS_SITE_PATH": "$(MSBuildThisFileDirectory)",
+        "ANCM_PATH": "$(AspNetCoreModuleV1ShimDll)",
+        "ANCMV2_PATH": "$(AspNetCoreModuleV2ShimDll)",
+        "ANCM_OUTOFPROCESS_HANDLER": "$(AspNetCoreModuleV2OutOfProcessHandlerDll)",
+        "LAUNCHER_ARGS": "$(TargetPath)",
+        "ASPNETCORE_ENVIRONMENT": "Development",
+        "LAUNCHER_PATH": "$(DotNetPath)",
+        "ASPNETCORE_MODULE_DEBUG": "console"
+      }
+    },
+    "ANCM IIS": {
+      "commandName": "Executable",
+      "executablePath": "$(IISPath)",
+      "commandLineArgs": "$(IISArguments)",
+      "environmentVariables": {
+        "IIS_SITE_PATH": "$(MSBuildThisFileDirectory)",
+        "ANCM_PATH": "$(AspNetCoreModuleV1ShimDll)",
+        "ANCMV2_PATH": "$(AspNetCoreModuleV2ShimDll)",
+        "ASPNETCORE_MODULE_OUTOFPROCESS_HANDLER": "$(AspNetCoreModuleV2OutOfProcessHandlerDll)",
+        "LAUNCHER_ARGS": "$(TargetPath)",
+        "ASPNETCORE_ENVIRONMENT": "Development",
+        "LAUNCHER_PATH": "$(DotNetPath)",
+        "ASPNETCORE_MODULE_DEBUG": "console"
+      }
+    }
+  }
+}

+ 11 - 5
src/Servers/IIS/build/testsite.props

@@ -54,27 +54,33 @@
   <Target Name="PrepareInjectionApp" Condition="'$(InProcessTestSite)' == 'true'">
     <PropertyGroup>
       <InjectDepsAssembly>$(MSBuildThisFileDirectory)..\test\testassets\TestTasks\bin\$(Configuration)\$(TargetFramework)\TestTasks</InjectDepsAssembly>
-      <InjectDepsApp Condition="'$(TargetFramework)' == 'net461'">$(InjectDepsAssembly)</InjectDepsApp>
+      <InjectDepsApp Condition=" '$(TargetFrameworkIdentifier)' == '.NETFramework' ">$(InjectDepsAssembly)</InjectDepsApp>
       <InjectDepsArguments>"win7-$(NativePlatform)" "$(AncmInProcessRHPath)"</InjectDepsArguments>
     </PropertyGroup>
 
-    <PropertyGroup Condition="'$(TargetFramework)' == 'net461'">
+    <PropertyGroup Condition=" '$(TargetFrameworkIdentifier)' == '.NETFramework' ">
       <InjectDepsAssembly>$(InjectDepsAssembly).exe</InjectDepsAssembly>
       <InjectDepsApp>$(InjectDepsAssembly)</InjectDepsApp>
     </PropertyGroup>
 
-    <PropertyGroup Condition="'$(TargetFramework)' != 'net461'">
+    <PropertyGroup Condition=" '$(TargetFrameworkIdentifier)' != '.NETFramework' ">
       <InjectDepsAssembly>$(InjectDepsAssembly).dll</InjectDepsAssembly>
       <InjectDepsApp>dotnet</InjectDepsApp>
       <InjectDepsArguments>$(InjectDepsAssembly) $(InjectDepsArguments)</InjectDepsArguments>
     </PropertyGroup>
   </Target>
 
-  <Target Name="InjectRequestHandler" AfterTargets="GenerateBuildDependencyFile" DependsOnTargets="PrepareInjectionApp" Condition="'$(InProcessTestSite)' == 'true'">
+  <Target Name="InjectRequestHandler"
+          Condition=" '$(InProcessTestSite)' == 'true' and ( '$(OS)' == 'Windows_NT' or '$(TargetFrameworkIdentifier)' != '.NETFramework' ) "
+          AfterTargets="GenerateBuildDependencyFile"
+          DependsOnTargets="PrepareInjectionApp">
     <Exec Command="$(InjectDepsApp) $(InjectDepsArguments) &quot;$(ProjectDepsFilePath)&quot;" />
   </Target>
 
-  <Target Name="InjectRequestHandlerOnPublish" AfterTargets="GeneratePublishDependencyFile" DependsOnTargets="PrepareInjectionApp" Condition="'$(InProcessTestSite)' == 'true'">
+  <Target Name="InjectRequestHandlerOnPublish"
+          Condition=" '$(InProcessTestSite)' == 'true' and ( '$(OS)' == 'Windows_NT' or '$(TargetFrameworkIdentifier)' != '.NETFramework' ) "
+          AfterTargets="GeneratePublishDependencyFile"
+          DependsOnTargets="PrepareInjectionApp">
     <Exec Command="$(InjectDepsApp) $(InjectDepsArguments) &quot;$(PublishDepsFilePath)&quot;" />
   </Target>
 

+ 0 - 3
src/Servers/IIS/samples/IISSample/IISSample.csproj

@@ -6,9 +6,6 @@
 
   <ItemGroup>
     <Reference Include="Microsoft.AspNetCore.Server.IISIntegration" />
-  </ItemGroup>
-
-  <ItemGroup>
     <Reference Include="Microsoft.AspNetCore.Server.Kestrel" />
     <Reference Include="Microsoft.Extensions.Logging.Console" />
   </ItemGroup>

+ 2 - 4
src/Servers/IIS/samples/NativeIISSample/NativeIISSample.csproj

@@ -5,17 +5,15 @@
   <PropertyGroup>
     <TargetFramework>netcoreapp2.2</TargetFramework>
     <InProcessTestSite>true</InProcessTestSite>
+    <AspNetCoreHostingModel>inprocess</AspNetCoreHostingModel>
   </PropertyGroup>
 
   <ItemGroup>
+    <Reference Include="Microsoft.AspNetCore.Hosting" />
     <Reference Include="Microsoft.AspNetCore.Server.IIS" />
     <Reference Include="Microsoft.AspNetCore.Server.IISIntegration" />
     <Reference Include="Microsoft.AspNetCore.Server.IntegrationTesting.IIS" />
-    <Reference Include="Microsoft.AspNetCore.Hosting" />
     <Reference Include="Microsoft.AspNetCore.Server.Kestrel" />
   </ItemGroup>
 
-  <PropertyGroup>
-    <AspNetCoreHostingModel>inprocess</AspNetCoreHostingModel>
-  </PropertyGroup>
 </Project>

+ 2 - 2
src/Servers/IIS/src/Microsoft.AspNetCore.AspNetCoreModule/Directory.Build.targets

@@ -20,7 +20,7 @@
 
   </PropertyGroup>
 
-  <Target Name="GetArtifactInfo" Returns="@(ArtifactInfo)">
+  <Target Name="GetArtifactInfo" Returns="@(ArtifactInfo)" Condition=" '$(IsPackable)' != 'false' ">
     <ItemGroup>
       <ArtifactInfo Include="$(TargetPath)">
         <ArtifactType>NuGetPackage</ArtifactType>
@@ -31,4 +31,4 @@
   </Target>
 
   <Import Project="$(RepositoryRoot)build\tasks\RepoTasks.tasks" />
-</Project>
+</Project>

+ 5 - 6
src/Servers/IIS/src/Microsoft.AspNetCore.AspNetCoreModule/Microsoft.AspNetCore.AspNetCoreModule.pkgproj

@@ -10,6 +10,7 @@
     <ContentTargetFolders>content</ContentTargetFolders>
     <NoPackageAnalysis>true</NoPackageAnalysis>
     <PackageDescription>ASP.NET Core Module</PackageDescription>
+    <IsPackable Condition="'$(OS)' != 'Windows_NT'">false</IsPackable>
   </PropertyGroup>
 
   <ItemGroup Condition="'$(OS)' == 'Windows_NT'">
@@ -19,18 +20,16 @@
     <Content Include="..\AspNetCoreModuleV1\AspNetCore\bin\$(Configuration)\x64\aspnetcore.pdb" PackagePath="contentFiles/any/any/x64" />
     <Content Include="..\AspNetCoreModuleV1\AspNetCore\bin\$(Configuration)\x64\*.xml" PackagePath="" />
     <Content Include="Microsoft.AspNetCore.AspNetCoreModule.props" PackagePath="build\" />
+    <Reference Include="AspNetCoreModule" />
   </ItemGroup>
 
   <ItemGroup>
-    <None Include="lib\**\*">
-      <Pack>True</Pack>
-      <PackagePath>lib</PackagePath>
-    </None>
+    <Content Include="_._" PackagePath="lib/$(TargetFramework)/" />
   </ItemGroup>
 
   <Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
 
   <Target Name="CopyFilesToOutputDirectory" />
-  <Target Name="CoreCompile" />
+  <Target Name="CoreCompile" DependsOnTargets="ResolveReferences" />
   <Target Name="CreateManifestResourceNames" />
-</Project>
+</Project>

+ 0 - 0
src/Servers/IIS/src/Microsoft.AspNetCore.AspNetCoreModule/lib/netcoreapp2.2/_._ → src/Servers/IIS/src/Microsoft.AspNetCore.AspNetCoreModule/_._


+ 2 - 2
src/Servers/IIS/src/Microsoft.AspNetCore.AspNetCoreModuleV2/Directory.Build.targets

@@ -20,7 +20,7 @@
 
   </PropertyGroup>
 
-  <Target Name="GetArtifactInfo" Returns="@(ArtifactInfo)">
+  <Target Name="GetArtifactInfo" Returns="@(ArtifactInfo)" Condition=" '$(IsPackable)' != 'false' ">
     <ItemGroup>
       <ArtifactInfo Include="$(TargetPath)">
         <ArtifactType>NuGetPackage</ArtifactType>
@@ -31,4 +31,4 @@
   </Target>
 
   <Import Project="$(RepositoryRoot)build\tasks\RepoTasks.tasks" />
-</Project>
+</Project>

+ 7 - 8
src/Servers/IIS/src/Microsoft.AspNetCore.AspNetCoreModuleV2/Microsoft.AspNetCore.AspNetCoreModuleV2.pkgproj

@@ -10,6 +10,7 @@
     <ContentTargetFolders>content</ContentTargetFolders>
     <NoPackageAnalysis>true</NoPackageAnalysis>
     <PackageDescription>ASP.NET Core Module</PackageDescription>
+    <IsPackable Condition="'$(OS)' != 'Windows_NT'">false</IsPackable>
   </PropertyGroup>
 
   <ItemGroup Condition="'$(OS)' == 'Windows_NT'">
@@ -18,26 +19,24 @@
     <Content Include="..\AspNetCoreModuleV2\AspNetCore\bin\$(Configuration)\x64\aspnetcorev2.dll" PackagePath="contentFiles/any/any/x64" />
     <Content Include="..\AspNetCoreModuleV2\AspNetCore\bin\$(Configuration)\x64\aspnetcorev2.pdb" PackagePath="contentFiles/any/any/x64" />
 
-    <Content Include="..\AspNetCoreModuleV2\OutOfProcessRequestHandler\bin\$(Configuration)\Win32\aspnetcorev2_outofprocess.dll" PackagePath="contentFiles/any/any/x86/2.0.0" />
-    <Content Include="..\AspNetCoreModuleV2\OutOfProcessRequestHandler\bin\$(Configuration)\Win32\aspnetcorev2_outofprocess.pdb" PackagePath="contentFiles/any/any/x86/2.0.0" />
+    <Content Include="..\AspNetCoreModuleV2\OutOfProcessRequestHandler\bin\$(Configuration)\x86\aspnetcorev2_outofprocess.dll" PackagePath="contentFiles/any/any/x86/2.0.0" />
+    <Content Include="..\AspNetCoreModuleV2\OutOfProcessRequestHandler\bin\$(Configuration)\x86\aspnetcorev2_outofprocess.pdb" PackagePath="contentFiles/any/any/x86/2.0.0" />
     <Content Include="..\AspNetCoreModuleV2\OutOfProcessRequestHandler\bin\$(Configuration)\x64\aspnetcorev2_outofprocess.dll" PackagePath="contentFiles/any/any/x64/2.0.0" />
     <Content Include="..\AspNetCoreModuleV2\OutOfProcessRequestHandler\bin\$(Configuration)\x64\aspnetcorev2_outofprocess.pdb" PackagePath="contentFiles/any/any/x64/2.0.0" />
 
     <Content Include="..\AspNetCoreModuleV2\AspNetCore\bin\$(Configuration)\x64\*.xml" PackagePath="" />
     <Content Include="..\AspNetCoreModuleV2\AspNetCore\ancm.mof" />
     <Content Include="Microsoft.AspNetCore.AspNetCoreModule.props.in" PackagePath="build\" />
+    <Reference Include="AspNetCoreModuleV2" />
   </ItemGroup>
 
   <ItemGroup>
-    <None Include="lib\**\*">
-      <Pack>True</Pack>
-      <PackagePath>lib</PackagePath>
-    </None>
+    <Content Include="_._" PackagePath="lib/$(TargetFramework)/" />
   </ItemGroup>
 
   <Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
 
   <Target Name="CopyFilesToOutputDirectory" />
-  <Target Name="CoreCompile" />
+  <Target Name="CoreCompile" DependsOnTargets="ResolveReferences" />
   <Target Name="CreateManifestResourceNames" />
-</Project>
+</Project>

+ 0 - 0
src/Servers/IIS/src/Microsoft.AspNetCore.AspNetCoreModuleV2/lib/netcoreapp2.2/_._ → src/Servers/IIS/src/Microsoft.AspNetCore.AspNetCoreModuleV2/_._


+ 8 - 60
src/Servers/IIS/src/Microsoft.AspNetCore.Server.IIS/Microsoft.AspNetCore.Server.IIS.csproj

@@ -13,79 +13,27 @@
     <DisableFastUpToDateCheck>True</DisableFastUpToDateCheck>
   </PropertyGroup>
 
-  <Import Project="..\..\build\assets.props" />
-
-  <ItemGroup>
-    <!-- TODO use SharedSourceRoot instead of hard coded path. Issues with including Directory.Build.props -->
-    <Compile Include="$(MSBuildThisFileDirectory)..\..\..\Shared\Buffers.MemoryPool\**\*.cs" />
-  </ItemGroup>
-  
   <ItemGroup>
-    <Compile Include="$(RepositoryRoot)src\Shared\HttpSys\**\*.cs" />
-  </ItemGroup>
-
-
-  <ItemGroup Condition="'$(VCTargetsPath)' != ''">
-    <ProjectReference Include="..\AspNetCoreModuleV1\AspNetCore\AspNetCore.vcxproj" SetPlatform="Platform=x64">
-      <ReferenceOutputAssembly>False</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\AspNetCoreModuleV1\AspNetCore\AspNetCore.vcxproj" SetPlatform="Platform=x86">
-      <ReferenceOutputAssembly>False</ReferenceOutputAssembly>
-    </ProjectReference>
-
-    <ProjectReference Include="..\AspNetCoreModuleV2\AspNetCore\AspNetCore.vcxproj" SetPlatform="Platform=x64">
-      <ReferenceOutputAssembly>False</ReferenceOutputAssembly>
-    </ProjectReference>
-
-    <ProjectReference Include="..\AspNetCoreModuleV2\AspNetCore\AspNetCore.vcxproj" SetPlatform="Platform=x86">
-      <ReferenceOutputAssembly>False</ReferenceOutputAssembly>
-    </ProjectReference>
-
-    <ProjectReference Include="..\AspNetCoreModuleV2\OutOfProcessRequestHandler\OutOfProcessRequestHandler.vcxproj" SetPlatform="Platform=x64">
-      <ReferenceOutputAssembly>False</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\AspNetCoreModuleV2\OutOfProcessRequestHandler\OutOfProcessRequestHandler.vcxproj" SetPlatform="Platform=x86">
-      <ReferenceOutputAssembly>False</ReferenceOutputAssembly>
-    </ProjectReference>
-
-    <ProjectReference Include="..\AspNetCoreModuleV2\InProcessRequestHandler\InProcessRequestHandler.vcxproj" SetPlatform="Platform=x64">
-      <ReferenceOutputAssembly>False</ReferenceOutputAssembly>
-    </ProjectReference>
-    <ProjectReference Include="..\AspNetCoreModuleV2\InProcessRequestHandler\InProcessRequestHandler.vcxproj" SetPlatform="Platform=x86">
-      <ReferenceOutputAssembly>False</ReferenceOutputAssembly>
-    </ProjectReference>
-
+    <Compile Include="$(SharedSourceRoot)Buffers.MemoryPool\**\*.cs" />
+    <Compile Include="$(SharedSourceRoot)HttpSys\**\*.cs" />
+    <Content Include="$(PackageId).targets" PackagePath="build/$(TargetFramework)/" />
   </ItemGroup>
 
-
-  <ItemGroup Condition="'$(BuildServerIIS21)' != 'true'">
-    <Reference Include="System.IO.Pipelines" />
-    <Reference Include="System.Security.Principal.Windows" />
-
+  <ItemGroup>
+    <Reference Include="AspNetCoreModule" Condition="'$(OS)' == 'Windows_NT'" />
+    <Reference Include="AspNetCoreModuleV2" Condition="'$(OS)' == 'Windows_NT'" />
     <Reference Include="Microsoft.AspNetCore.Authentication.Core" />
-    <Reference Include="Microsoft.AspNetCore.Hosting.Abstractions" />
     <Reference Include="Microsoft.AspNetCore.Connections.Abstractions" />
-  </ItemGroup>
-
-
-  <ItemGroup Condition="'$(BuildServerIIS21)' == 'true'">
+    <Reference Include="Microsoft.AspNetCore.Hosting.Abstractions" />
     <Reference Include="System.IO.Pipelines" />
     <Reference Include="System.Security.Principal.Windows" />
-
-    <Reference Include="Microsoft.AspNetCore.Authentication.Core" />
-    <Reference Include="Microsoft.AspNetCore.Hosting.Abstractions" />
-    <Reference Include="Microsoft.AspNetCore.Connections.Abstractions" />
   </ItemGroup>
 
-  <ItemGroup>
-    <Content Include="$(PackageId).targets" PackagePath="build/$(TargetFramework)/" />
-  </ItemGroup>
+  <Import Project="..\..\build\assets.props" />
 
   <Target Name="AddPackNativeComponents" BeforeTargets="_GetPackageFiles;GetSignedPackageFiles" Condition="$(PackNativeAssets) == 'true'">
     <ItemGroup>
       <None Include="%(InProcessComponents.DllLocation)" Pack="true" PackagePath="runtimes/win-%(InProcessComponents.Platform)/nativeassets/$(NativeAssetsTargetFramework)" />
-
-      <SignedPackageFile Include="%(InProcessComponents.DllLocation)" PackagePath="runtimes/win-%(InProcessComponents.Platform)/nativeassets/$(NativeAssetsTargetFramework)/%(InProcessComponents.NativeAsset).dll" Certificate="$(AssemblySigningCertName)" />
     </ItemGroup>
   </Target>
 

+ 8 - 8
src/Servers/IIS/src/Microsoft.AspNetCore.Server.IISIntegration/Microsoft.AspNetCore.Server.IISIntegration.csproj

@@ -12,23 +12,23 @@
 
   <ItemGroup>
     <Compile Include="$(RepositoryRoot)src\Shared\HttpSys\**\*.cs" />
+    <Content Include="$(PackageId).targets" PackagePath="build/$(TargetFramework)/" />
   </ItemGroup>
 
   <ItemGroup>
-    <Reference Include="System.Numerics.Vectors" />
-    <Reference Include="System.Buffers" />
-    <Reference Include="System.IO.Pipelines" />
-    <Reference Include="System.Memory" />
-    <Reference Include="System.Runtime.CompilerServices.Unsafe" />
-    <Reference Include="System.Security.Principal.Windows" />
     <Reference Include="Microsoft.AspNetCore.Authentication.Core" />
     <Reference Include="Microsoft.AspNetCore.Hosting.Abstractions" />
-    <Reference Include="Microsoft.AspNetCore.Http" />
     <Reference Include="Microsoft.AspNetCore.Http.Extensions" />
+    <Reference Include="Microsoft.AspNetCore.Http" />
     <Reference Include="Microsoft.AspNetCore.HttpOverrides" />
     <Reference Include="Microsoft.Extensions.Logging.Abstractions" />
     <Reference Include="Microsoft.Extensions.Options" />
-    <Content Include="$(PackageId).targets" PackagePath="build/$(TargetFramework)/" />
+    <Reference Include="System.Buffers" />
+    <Reference Include="System.IO.Pipelines" />
+    <Reference Include="System.Memory" />
+    <Reference Include="System.Numerics.Vectors" />
+    <Reference Include="System.Runtime.CompilerServices.Unsafe" />
+    <Reference Include="System.Security.Principal.Windows" />
   </ItemGroup>
 
 </Project>

+ 0 - 1
src/Servers/IIS/src/Microsoft.AspNetCore.Server.IISIntegration/NativeMethods.cs

@@ -3,7 +3,6 @@
 
 using System;
 using System.Runtime.InteropServices;
-using Microsoft.AspNetCore.HttpSys.Internal;
 
 namespace Microsoft.AspNetCore.Server.IISIntegration
 {

+ 3 - 14
src/Servers/IIS/src/Microsoft.AspNetCore.Server.IntegrationTesting.IIS/Microsoft.AspNetCore.Server.IntegrationTesting.IIS.csproj

@@ -3,18 +3,16 @@
   <PropertyGroup>
     <TargetFramework>netstandard2.0</TargetFramework>
     <PackageId>Microsoft.AspNetCore.Server.IntegrationTesting.IIS</PackageId>
-    <!-- Always include a pre-release label since this is an internal-only package. -->
-    <Version>$(VersionPrefix)-$(VersionSuffix)</Version>
-    <PackageVersion>$(Version)</PackageVersion>
     <Description>Provides support for integration testing using IIS based servers.</Description>
     <NoWarn>$(NoWarn);CS1591</NoWarn>
     <GenerateDocumentationFile>true</GenerateDocumentationFile>
     <PackageTags>aspnetcore;iis</PackageTags>
     <DisableFastUpToDateCheck>True</DisableFastUpToDateCheck>
+    <UseLatestPackageReferences>true</UseLatestPackageReferences>
+    <UseProjectReferences>true</UseProjectReferences>
+    <IsPackable>false</IsPackable>
   </PropertyGroup>
 
-  <Import Project="..\..\build\assets.props" />
-
   <ItemGroup>
     <EmbeddedResource Include="Http.config" />
   </ItemGroup>
@@ -26,13 +24,4 @@
     <Reference Include="System.ServiceProcess.ServiceController" />
   </ItemGroup>
 
-  <Target Name="AddPackNativeComponents" BeforeTargets="_GetPackageFiles;GetSignedPackageFiles" Condition="$(PackNativeAssets) == 'true'">
-    <ItemGroup>
-      <Content Include="%(ShimComponents.DllLocation)" PackageCopyToOutput="true" PackagePath="contentFiles/any/any/%(ShimComponents.Platform)/%(ShimComponents.PackageSubPath)" />
-
-      <SignedPackageFile Include="%(ShimComponents.DllLocation)" PackagePath="contentFiles/any/any/%(ShimComponents.Platform)/%(ShimComponents.PackageSubPath)%(ShimComponents.NativeAsset).dll" Certificate="$(AssemblySigningCertName)" />
-
-    </ItemGroup>
-  </Target>
-
 </Project>

+ 5 - 5
src/Servers/IIS/test/CommonLibTests/CommonLibTests.vcxproj

@@ -93,7 +93,7 @@
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
       <WarningLevel>Level3</WarningLevel>
-      <AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)include;%(AdditionalIncludeDirectories);..\..\src\AspNetCoreModuleV2\RequestHandlerLib;..\..\src\AspNetCoreModuleV2\IISLib;..\..\src\AspNetCoreModuleV2\CommonLib;..\gtest\googletest\googletest\include;..\gtest\googletest\googlemock\include;...\..\src\AspNetCoreModuleV2\AspNetCore\Inc;..\..\src\AspNetCoreModuleV2\InProcessRequestHandler\</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)include;%(AdditionalIncludeDirectories);..\..\src\AspNetCoreModuleV2\RequestHandlerLib;..\..\src\AspNetCoreModuleV2\IISLib;..\..\src\AspNetCoreModuleV2\CommonLib;$(GoogleTestSubmoduleRoot)googletest\include;$(GoogleTestSubmoduleRoot)googlemock\include;...\..\src\AspNetCoreModuleV2\AspNetCore\Inc;..\..\src\AspNetCoreModuleV2\InProcessRequestHandler\</AdditionalIncludeDirectories>
       <AdditionalOptions>/D "_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING" </AdditionalOptions>
       <LanguageStandard>stdcpp17</LanguageStandard>
     </ClCompile>
@@ -120,7 +120,7 @@
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
       <WarningLevel>Level3</WarningLevel>
-      <AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)include;%(AdditionalIncludeDirectories);..\..\src\AspNetCoreModuleV2\RequestHandlerLib;..\..\src\AspNetCoreModuleV2\IISLib;..\..\src\AspNetCoreModuleV2\CommonLib;..\gtest\googletest\googletest\include;..\gtest\googletest\googlemock\include;...\..\src\AspNetCoreModuleV2\AspNetCore\Inc;..\..\src\AspNetCoreModuleV2\InProcessRequestHandler\</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)include;%(AdditionalIncludeDirectories);..\..\src\AspNetCoreModuleV2\RequestHandlerLib;..\..\src\AspNetCoreModuleV2\IISLib;..\..\src\AspNetCoreModuleV2\CommonLib;$(GoogleTestSubmoduleRoot)googletest\include;$(GoogleTestSubmoduleRoot)googlemock\include;...\..\src\AspNetCoreModuleV2\AspNetCore\Inc;..\..\src\AspNetCoreModuleV2\InProcessRequestHandler\</AdditionalIncludeDirectories>
       <AdditionalOptions>/D "_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING" </AdditionalOptions>
       <LanguageStandard>stdcpp17</LanguageStandard>
     </ClCompile>
@@ -145,7 +145,7 @@
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
       <WarningLevel>Level3</WarningLevel>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-      <AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)include;%(AdditionalIncludeDirectories);..\..\src\AspNetCoreModuleV2\RequestHandlerLib;..\..\src\AspNetCoreModuleV2\IISLib;..\..\src\AspNetCoreModuleV2\CommonLib;..\gtest\googletest\googletest\include;..\gtest\googletest\googlemock\include;...\..\src\AspNetCoreModuleV2\AspNetCore\Inc;..\..\src\AspNetCoreModuleV2\InProcessRequestHandler\</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)include;%(AdditionalIncludeDirectories);..\..\src\AspNetCoreModuleV2\RequestHandlerLib;..\..\src\AspNetCoreModuleV2\IISLib;..\..\src\AspNetCoreModuleV2\CommonLib;$(GoogleTestSubmoduleRoot)googletest\include;$(GoogleTestSubmoduleRoot)googlemock\include;...\..\src\AspNetCoreModuleV2\AspNetCore\Inc;..\..\src\AspNetCoreModuleV2\InProcessRequestHandler\</AdditionalIncludeDirectories>
       <AdditionalOptions>/D "_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING" </AdditionalOptions>
       <LanguageStandard>stdcpp17</LanguageStandard>
     </ClCompile>
@@ -173,7 +173,7 @@
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
       <WarningLevel>Level3</WarningLevel>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-      <AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)include;%(AdditionalIncludeDirectories);..\..\src\AspNetCoreModuleV2\RequestHandlerLib;..\..\src\AspNetCoreModuleV2\IISLib;..\..\src\AspNetCoreModuleV2\CommonLib;..\gtest\googletest\googletest\include;..\gtest\googletest\googlemock\include;...\..\src\AspNetCoreModuleV2\AspNetCore\Inc;..\..\src\AspNetCoreModuleV2\InProcessRequestHandler\</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)include;%(AdditionalIncludeDirectories);..\..\src\AspNetCoreModuleV2\RequestHandlerLib;..\..\src\AspNetCoreModuleV2\IISLib;..\..\src\AspNetCoreModuleV2\CommonLib;$(GoogleTestSubmoduleRoot)googletest\include;$(GoogleTestSubmoduleRoot)googlemock\include;...\..\src\AspNetCoreModuleV2\AspNetCore\Inc;..\..\src\AspNetCoreModuleV2\InProcessRequestHandler\</AdditionalIncludeDirectories>
       <AdditionalOptions>/D "_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING" </AdditionalOptions>
       <LanguageStandard>stdcpp17</LanguageStandard>
     </ClCompile>
@@ -193,4 +193,4 @@
     </Lib>
   </ItemDefinitionGroup>
   <Import Project=".\NativeTests.targets" />
-</Project>
+</Project>

+ 7 - 7
src/Servers/IIS/test/IIS.BackwardsCompatibility.FunctionalTests/IIS.BackwardsCompatibility.FunctionalTests.csproj

@@ -8,6 +8,8 @@
 
   <ItemGroup>
     <Content Include="..\Common.FunctionalTests\AppHostConfig\*.config" CopyToOutputDirectory="PreserveNewest" />
+    <Compile Include="..\Common.FunctionalTests\**\*.cs" />
+    <Compile Include="..\IIS.Shared.FunctionalTests\**\*.cs" />
   </ItemGroup>
 
   <ItemGroup>
@@ -18,18 +20,16 @@
   </ItemGroup>
 
   <ItemGroup>
-    <Compile Include="..\Common.FunctionalTests\**\*.cs" />
-    <Compile Include="..\IIS.Shared.FunctionalTests\**\*.cs" />
+    <PackageReference Include="Microsoft.AspNetCore.AspNetCoreModule" Version="$(MicrosoftAspNetCoreAspNetCoreModuleStablePackageVersion)" />
+    <PackageReference Include="Microsoft.AspNetCore.AspNetCoreModuleV2" Version="$(MicrosoftAspNetCoreAspNetCoreModuleV2StablePackageVersion)" />
   </ItemGroup>
 
   <ItemGroup>
-    <PackageReference Include="Microsoft.AspNetCore.AspNetCoreModule" Version="$(MicrosoftAspNetCoreAspNetCoreModuleStablePackageVersion)" />
-    <PackageReference Include="Microsoft.AspNetCore.AspNetCoreModuleV2" Version="$(MicrosoftAspNetCoreAspNetCoreModuleV2StablePackageVersion)" />
-    <Reference Include="Microsoft.AspNetCore.Server.IntegrationTesting" />
-    <Reference Include="Microsoft.AspNetCore.Server.IntegrationTesting.IIS" />
     <Reference Include="Microsoft.AspNetCore.Hosting" />
-    <Reference Include="Microsoft.Extensions.Logging" />
+    <Reference Include="Microsoft.AspNetCore.Server.IntegrationTesting.IIS" />
+    <Reference Include="Microsoft.AspNetCore.Server.IntegrationTesting" />
     <Reference Include="Microsoft.Extensions.Logging.Testing" />
+    <Reference Include="Microsoft.Extensions.Logging" />
     <Reference Include="System.Diagnostics.EventLog" />
     <Reference Include="System.Net.WebSockets.WebSocketProtocol" />
   </ItemGroup>

+ 2 - 2
src/Servers/IIS/test/IIS.ForwardsCompatibility.FunctionalTests/IIS.ForwardsCompatibility.FunctionalTests.csproj

@@ -22,9 +22,9 @@
     <Compile Include="..\IIS.Shared.FunctionalTests\**\*.cs" />
   </ItemGroup>
 
-  <Import Project="..\..\build\functional-test-assets.targets" />
-
   <ItemGroup>
+    <Reference Include="AspNetCoreModule" Condition="'$(OS)' == 'Windows_NT'" />
+    <Reference Include="AspNetCoreModuleV2" Condition="'$(OS)' == 'Windows_NT'" />
     <Reference Include="Microsoft.AspNetCore.Server.IntegrationTesting" />
     <Reference Include="Microsoft.AspNetCore.Hosting" />
     <Reference Include="Microsoft.Extensions.Logging" />

+ 5 - 5
src/Servers/IIS/test/IIS.FunctionalTests/IIS.FunctionalTests.csproj

@@ -11,7 +11,6 @@
   </ItemGroup>
 
   <ItemGroup>
-    <Reference Include="Microsoft.AspNetCore.Server.IntegrationTesting.IIS" />
     <ProjectReference Include="..\Common.Tests\Common.Tests.csproj" />
     <ProjectReference Include="..\WebSites\**\*.csproj">
       <ReferenceOutputAssembly>False</ReferenceOutputAssembly>
@@ -23,13 +22,14 @@
     <Compile Include="..\IIS.Shared.FunctionalTests\**\*.cs" />
   </ItemGroup>
 
-  <Import Project="..\..\build\functional-test-assets.targets" />
-
   <ItemGroup>
-    <Reference Include="Microsoft.AspNetCore.Server.IntegrationTesting" />
+    <Reference Include="AspNetCoreModule" Condition="'$(OS)' == 'Windows_NT'" />
+    <Reference Include="AspNetCoreModuleV2" Condition="'$(OS)' == 'Windows_NT'" />
     <Reference Include="Microsoft.AspNetCore.Hosting" />
-    <Reference Include="Microsoft.Extensions.Logging" />
+    <Reference Include="Microsoft.AspNetCore.Server.IntegrationTesting.IIS" />
+    <Reference Include="Microsoft.AspNetCore.Server.IntegrationTesting" />
     <Reference Include="Microsoft.Extensions.Logging.Testing" />
+    <Reference Include="Microsoft.Extensions.Logging" />
     <Reference Include="System.Diagnostics.EventLog" />
     <Reference Include="System.Net.WebSockets.WebSocketProtocol" />
   </ItemGroup>

+ 5 - 6
src/Servers/IIS/test/IIS.Tests/IIS.Tests.csproj

@@ -4,19 +4,18 @@
     <TargetFrameworks>netcoreapp2.2</TargetFrameworks>
   </PropertyGroup>
 
-  <Import Project="..\..\build\functional-test-assets.targets" />
-
   <ItemGroup>
-    <Reference Include="Microsoft.AspNetCore.Server.IIS" />
     <ProjectReference Include="..\Common.Tests\Common.Tests.csproj" />
   </ItemGroup>
 
-
   <ItemGroup>
-    <Reference Include="Microsoft.AspNetCore.Server.IntegrationTesting" />
+    <Reference Include="AspNetCoreModule" Condition="'$(OS)' == 'Windows_NT'"/>
+    <Reference Include="AspNetCoreModuleV2" Condition="'$(OS)' == 'Windows_NT'"/>
     <Reference Include="Microsoft.AspNetCore.Hosting" />
-    <Reference Include="Microsoft.Extensions.Logging" />
+    <Reference Include="Microsoft.AspNetCore.Server.IIS" />
+    <Reference Include="Microsoft.AspNetCore.Server.IntegrationTesting" />
     <Reference Include="Microsoft.Extensions.Logging.Testing" />
+    <Reference Include="Microsoft.Extensions.Logging" />
     <Reference Include="System.Diagnostics.EventLog" />
     <Reference Include="System.Net.WebSockets.WebSocketProtocol" />
   </ItemGroup>

+ 2 - 2
src/Servers/IIS/test/IISExpress.FunctionalTests/IISExpress.FunctionalTests.csproj

@@ -21,9 +21,9 @@
     <Compile Include="..\Common.FunctionalTests\**\*.cs" />
   </ItemGroup>
 
-  <Import Project="..\..\build\functional-test-assets.targets" />
-
   <ItemGroup>
+    <Reference Include="AspNetCoreModule" Condition="'$(OS)' == 'Windows_NT'" />
+    <Reference Include="AspNetCoreModuleV2" Condition="'$(OS)' == 'Windows_NT'" />
     <Reference Include="Microsoft.AspNetCore.Server.IntegrationTesting" />
     <Reference Include="Microsoft.AspNetCore.Server.IntegrationTesting.IIS" />
     <Reference Include="Microsoft.AspNetCore.Hosting" />

+ 7 - 7
src/Servers/IIS/test/gtest/gtest.vcxproj

@@ -19,8 +19,8 @@
     </ProjectConfiguration>
   </ItemGroup>
   <ItemGroup>
-    <ClCompile Include="googletest\googlemock\src\gmock-all.cc" />
-    <ClCompile Include="googletest\googletest\src\gtest-all.cc" />
+    <ClCompile Include="$(GoogleTestSubmoduleRoot)\googlemock\src\gmock-all.cc" />
+    <ClCompile Include="$(GoogleTestSubmoduleRoot)\googletest\src\gtest-all.cc" />
   </ItemGroup>
   <PropertyGroup Label="Globals">
     <VCProjectVersion>15.0</VCProjectVersion>
@@ -110,7 +110,7 @@
       <SDLCheck>true</SDLCheck>
       <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <ConformanceMode>true</ConformanceMode>
-      <AdditionalIncludeDirectories>googletest\googletest\include;googletest\googletest;googletest\googlemock;googletest\googlemock\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>$(GoogleTestSubmoduleRoot)googletest\include;$(GoogleTestSubmoduleRoot)googletest;$(GoogleTestSubmoduleRoot)googlemock;$(GoogleTestSubmoduleRoot)googlemock\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
     </ClCompile>
     <Link>
@@ -126,7 +126,7 @@
       <SDLCheck>true</SDLCheck>
       <PreprocessorDefinitions>_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <ConformanceMode>true</ConformanceMode>
-      <AdditionalIncludeDirectories>googletest\googletest\include;googletest\googletest;googletest\googlemock;googletest\googlemock\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>$(GoogleTestSubmoduleRoot)googletest\include;$(GoogleTestSubmoduleRoot)googletest;$(GoogleTestSubmoduleRoot)googlemock;$(GoogleTestSubmoduleRoot)googlemock\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
     </ClCompile>
     <Link>
@@ -144,7 +144,7 @@
       <SDLCheck>true</SDLCheck>
       <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <ConformanceMode>true</ConformanceMode>
-      <AdditionalIncludeDirectories>googletest\googletest\include;googletest\googletest;googletest\googlemock;googletest\googlemock\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>$(GoogleTestSubmoduleRoot)googletest\include;$(GoogleTestSubmoduleRoot)googletest;$(GoogleTestSubmoduleRoot)googlemock;$(GoogleTestSubmoduleRoot)googlemock\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
     </ClCompile>
     <Link>
@@ -164,7 +164,7 @@
       <SDLCheck>true</SDLCheck>
       <PreprocessorDefinitions>NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <ConformanceMode>true</ConformanceMode>
-      <AdditionalIncludeDirectories>googletest\googletest\include;googletest\googletest;googletest\googlemock;googletest\googlemock\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>$(GoogleTestSubmoduleRoot)googletest\include;$(GoogleTestSubmoduleRoot)googletest;$(GoogleTestSubmoduleRoot)googlemock;$(GoogleTestSubmoduleRoot)googlemock\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
     </ClCompile>
     <Link>
@@ -177,4 +177,4 @@
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>

+ 1 - 0
src/Servers/IIS/test/testassets/InProcessForwardsCompatWebSite/InProcessWebSite.csproj

@@ -25,6 +25,7 @@
     <Reference Include="Microsoft.Extensions.Configuration.Json" />
     <Reference Include="Microsoft.Extensions.Logging.Console" />
     <Reference Include="System.Net.WebSockets.WebSocketProtocol" />
+    <Reference Include="xunit.assert" />
   </ItemGroup>
 
 </Project>

+ 3 - 8
src/Servers/IIS/test/testassets/InProcessWebSite/InProcessWebSite.csproj

@@ -7,26 +7,21 @@
     <InProcessTestSite>true</InProcessTestSite>
   </PropertyGroup>
 
-  <ItemGroup>
-    <Reference Include="Microsoft.AspNetCore.Server.IIS" />
-  </ItemGroup>
-
   <ItemGroup>
     <Compile Include="..\shared\**\*.cs" />
-  </ItemGroup>
-
-  <ItemGroup>
     <None Include="wwwroot\**" CopyToOutputDirectory="Always" />
   </ItemGroup>
 
   <ItemGroup>
-    <Reference Include="Microsoft.AspNetCore.ResponseCompression" />
     <Reference Include="Microsoft.AspNetCore.Hosting" />
+    <Reference Include="Microsoft.AspNetCore.ResponseCompression" />
+    <Reference Include="Microsoft.AspNetCore.Server.IIS" />
     <Reference Include="Microsoft.AspNetCore.WebUtilities" />
     <Reference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" />
     <Reference Include="Microsoft.Extensions.Configuration.Json" />
     <Reference Include="Microsoft.Extensions.Logging.Console" />
     <Reference Include="System.Net.WebSockets.WebSocketProtocol" />
+    <Reference Include="xunit.assert" />
   </ItemGroup>
 
 </Project>

+ 2 - 4
src/Servers/IIS/test/testassets/OutOfProcessWebSite/OutOfProcessWebSite.csproj

@@ -6,10 +6,6 @@
     <TargetFrameworks>$(StandardTestTfms)</TargetFrameworks>
   </PropertyGroup>
 
-  <ItemGroup>
-    <Reference Include="Microsoft.AspNetCore.Server.IISIntegration" />
-  </ItemGroup>
-
   <ItemGroup>
     <Compile Include="..\shared\**\*.cs" />
   </ItemGroup>
@@ -20,11 +16,13 @@
 
   <ItemGroup>
     <Reference Include="Microsoft.AspNetCore.ResponseCompression" />
+    <Reference Include="Microsoft.AspNetCore.Server.IISIntegration" />
     <Reference Include="Microsoft.AspNetCore.Server.Kestrel" />
     <Reference Include="Microsoft.AspNetCore.WebUtilities" />
     <Reference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" />
     <Reference Include="Microsoft.Extensions.Configuration.Json" />
     <Reference Include="Microsoft.Extensions.Logging.Console" />
+    <Reference Include="xunit.assert" />
   </ItemGroup>
 
 </Project>

+ 45 - 0
src/Servers/IIS/test/testassets/OutOfProcessWebSite/Program.cs

@@ -0,0 +1,45 @@
+// 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.IO;
+using System.Linq;
+using Microsoft.AspNetCore.Hosting;
+using Microsoft.Extensions.Logging;
+
+namespace TestSite
+{
+    public static class Program
+    {
+        public static int Main(string[] args)
+        {
+            var mode = args.FirstOrDefault();
+            switch (mode)
+            {
+                case "CreateFile":
+                    File.WriteAllText(args[1], "");
+                    return StartServer();
+            }
+
+            return StartServer();
+        }
+
+        private static int StartServer()
+        {
+            var host = new WebHostBuilder()
+                .ConfigureLogging(
+                    (_, factory) => {
+                        factory.AddConsole();
+                        factory.AddFilter("Console", level => level >= LogLevel.Information);
+                    })
+                .UseContentRoot(Directory.GetCurrentDirectory())
+                .UseIISIntegration()
+                .UseStartup<Startup>()
+                .UseKestrel()
+                .Build();
+
+            host.Run();
+            return 0;
+        }
+    }
+}
+

+ 2 - 0
src/Servers/IIS/test/testassets/OutOfProcessWebSite/Startup.cs

@@ -15,6 +15,7 @@ using Microsoft.AspNetCore.Http.Features;
 using Microsoft.AspNetCore.IISIntegration.FunctionalTests;
 using Microsoft.AspNetCore.Server.IISIntegration;
 using Microsoft.Extensions.DependencyInjection;
+using Xunit;
 
 namespace TestSite
 {
@@ -47,6 +48,7 @@ namespace TestSite
         {
             if (context.User.Identity.IsAuthenticated)
             {
+                Assert.IsType<WindowsPrincipal>(context.User);
                 return context.Response.WriteAsync(context.User.Identity.AuthenticationType);
             }
             else

+ 26 - 0
src/Servers/IIS/test/testassets/StressTestWebSite/Program.cs

@@ -0,0 +1,26 @@
+// 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 Microsoft.AspNetCore.Hosting;
+using Microsoft.Extensions.Logging;
+
+namespace ANCMStressTestApp
+{
+    public class Program
+    {
+        public static void Main(string[] args)
+        {
+            var host = new WebHostBuilder()
+                .ConfigureLogging((_, factory) =>
+                {
+                    factory.AddConsole();
+                })
+                .UseKestrel()
+                .UseIISIntegration()
+                .UseStartup<Startup>()
+                .Build();
+
+            host.Run();
+        }
+    }
+}

+ 0 - 17
src/Servers/IIS/version.props

@@ -1,17 +0,0 @@
-<Project>
-  <PropertyGroup>
-    <DotNetMajorVersion>2</DotNetMajorVersion>
-    <DotNetMinorVersion>2</DotNetMinorVersion>
-    <DotNetMinorVersion Condition="'$(BuildServerIIS21)' == 'true'">1</DotNetMinorVersion>
-    <DotNetPatchVersion>1</DotNetPatchVersion>
-    <VersionPrefix>$(DotNetMajorVersion).$(DotNetMinorVersion).$(DotNetPatchVersion)</VersionPrefix>
-    <AspNetCoreModuleVersionMajor>12</AspNetCoreModuleVersionMajor>
-    <AspNetCoreModuleVersionMinor>2</AspNetCoreModuleVersionMinor>
-    <AspNetCoreModuleVersionRevision>$(DotNetPatchVersion)</AspNetCoreModuleVersionRevision>
-    <PreReleaseLabel Condition="'$(BuildServerIIS21)' == 'true'">ancm-oob</PreReleaseLabel>
-    <PackageVersion Condition="'$(IncludePreReleaseLabelInPackageVersion)' != 'true' ">$(VersionPrefix)</PackageVersion>
-    <PackageVersion Condition="'$(IncludePreReleaseLabelInPackageVersion)' == 'true' ">$(VersionPrefix)-$(PreReleaseLabel)-$(BuildNumber)</PackageVersion>
-    <Version>$(PackageVersion)</Version>
-    <AspNetCoreModuleOutOfProcessVersion>2.0.0</AspNetCoreModuleOutOfProcessVersion>
-  </PropertyGroup>
-</Project>

+ 1 - 0
src/submodules/googletest

@@ -0,0 +1 @@
+Subproject commit 4e4df226fc197c0dda6e37f5c8c3845ca1e73a49