From 53cad943b3270f651f759754546c70ba097cc0e2 Mon Sep 17 00:00:00 2001 From: Justin Kotalik Date: Thu, 3 May 2018 13:49:31 -0700 Subject: [PATCH] Split ANCM into two dlls. (#811) --- IISIntegration.sln | 31 +++++----- NuGetPackageVerifier.json | 2 +- build/applicationhost.config | 2 + build/applicationhost.iis.config | 2 + build/build.msbuild | 3 +- build/dependencies.props | 52 ++++++++--------- build/launchSettings.json | 4 +- build/repo.targets | 16 ++--- build/testsite.props | 16 +++-- nuget/AspNetCoreV1.nuspec | 2 +- nuget/AspNetCoreV2.nuspec | 6 +- .../Properties/launchSettings.json | 4 +- samples/NativeIISSample/web.config | 2 +- .../AspNetCore/AspNetCore.vcxproj | 6 +- src/AspNetCoreModuleV2/AspNetCore/Source.def | 2 +- ...re_schema.xml => aspnetcore_schema_v2.xml} | 0 .../AppHostConfig/Http.config | 3 + .../AppHostConfig/Https.config | 4 +- .../AppHostConfig/NtlmAuthentation.config | 4 +- .../WebsocketsNotSupported.config | 4 +- .../Inprocess/StartupTests.cs | 11 +--- .../OutOfProcess/HelloWorldTest.cs | 22 +++---- .../OutOfProcess/HttpsTest.cs | 58 ++++++++----------- .../OutOfProcess/NtlmAuthentationTest.cs | 33 +++-------- .../UpgradeFeatureDetectionTests.cs | 7 +-- .../Utilities/Helpers.cs | 1 + .../Utilities/IISTestSiteFixture.cs | 7 +-- .../Properties/launchSettings.json | 4 +- test/WebSites/InProcessWebSite/web.config | 2 +- .../Properties/launchSettings.json | 4 +- .../Properties/launchSettings.json | 4 +- .../OverriddenServerWebSite/web.config | 2 +- tools/update_schema.ps1 | 43 ++++++++------ 33 files changed, 167 insertions(+), 196 deletions(-) rename src/AspNetCoreModuleV2/AspNetCore/{aspnetcore_schema.xml => aspnetcore_schema_v2.xml} (100%) diff --git a/IISIntegration.sln b/IISIntegration.sln index 9875c3523a..d8564e4be6 100644 --- a/IISIntegration.sln +++ b/IISIntegration.sln @@ -26,15 +26,14 @@ EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IISSample", "samples\IISSample\IISSample.csproj", "{E4E2BDC4-A9C6-4AE9-B429-032EC83EDE64}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.IISIntegration", "src\Microsoft.AspNetCore.Server.IISIntegration\Microsoft.AspNetCore.Server.IISIntegration.csproj", "{8B3446E8-E6A8-4591-AA63-A95837C6E97C}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.IISIntegration.Tests", "test\Microsoft.AspNetCore.Server.IISIntegration.Tests\Microsoft.AspNetCore.Server.IISIntegration.Tests.csproj", "{4106DB10-E09F-480E-9CE6-B39235512EE6}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OutOfProcessWebSite", "test\WebSites\OutOfProcessWebSite\OutOfProcessWebSite.csproj", "{F54715C3-88D8-49E3-A291-C13570FE81FC}" ProjectSection(ProjectDependencies) = postProject + {EC82302F-D2F0-4727-99D1-EABC0DD9DC3B} = {EC82302F-D2F0-4727-99D1-EABC0DD9DC3B} {D57EA297-6DC2-4BC0-8C91-334863327863} = {D57EA297-6DC2-4BC0-8C91-334863327863} {439824F9-1455-4CC4-BD79-B44FA0A16552} = {439824F9-1455-4CC4-BD79-B44FA0A16552} EndProjectSection EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.IISIntegration.Tests", "test\Microsoft.AspNetCore.Server.IISIntegration.Tests\Microsoft.AspNetCore.Server.IISIntegration.Tests.csproj", "{4106DB10-E09F-480E-9CE6-B39235512EE6}" +EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{7E80C58E-9CC8-450C-8A8D-94FC76428150}" ProjectSection(SolutionItems) = preProject build\applicationhost.config = build\applicationhost.config @@ -94,6 +93,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IISLib", "src\AspNetCoreMod EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RequestHandler", "src\AspNetCoreModuleV2\RequestHandler\RequestHandler.vcxproj", "{D57EA297-6DC2-4BC0-8C91-334863327863}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OutOfProcessWebSite", "test\WebSites\OutOfProcessWebSite\OutOfProcessWebSite.csproj", "{42E60F88-E23F-417A-8143-0CCEC05E1D02}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -140,16 +141,6 @@ Global {4106DB10-E09F-480E-9CE6-B39235512EE6}.Release|x64.Build.0 = Release|Any CPU {4106DB10-E09F-480E-9CE6-B39235512EE6}.Release|x86.ActiveCfg = Release|Any CPU {4106DB10-E09F-480E-9CE6-B39235512EE6}.Release|x86.Build.0 = Release|Any CPU - {F54715C3-88D8-49E3-A291-C13570FE81FC}.Debug|Any CPU.ActiveCfg = Debug|x86 - {F54715C3-88D8-49E3-A291-C13570FE81FC}.Debug|x64.ActiveCfg = Debug|x64 - {F54715C3-88D8-49E3-A291-C13570FE81FC}.Debug|x64.Build.0 = Debug|x64 - {F54715C3-88D8-49E3-A291-C13570FE81FC}.Debug|x86.ActiveCfg = Debug|x86 - {F54715C3-88D8-49E3-A291-C13570FE81FC}.Debug|x86.Build.0 = Debug|x86 - {F54715C3-88D8-49E3-A291-C13570FE81FC}.Release|Any CPU.ActiveCfg = Release|x86 - {F54715C3-88D8-49E3-A291-C13570FE81FC}.Release|x64.ActiveCfg = Release|x64 - {F54715C3-88D8-49E3-A291-C13570FE81FC}.Release|x64.Build.0 = Release|x64 - {F54715C3-88D8-49E3-A291-C13570FE81FC}.Release|x86.ActiveCfg = Release|x86 - {F54715C3-88D8-49E3-A291-C13570FE81FC}.Release|x86.Build.0 = Release|x86 {4E3E1F5C-CD52-4CC0-A35F-D1FA1685D2FA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {4E3E1F5C-CD52-4CC0-A35F-D1FA1685D2FA}.Debug|Any CPU.Build.0 = Debug|Any CPU {4E3E1F5C-CD52-4CC0-A35F-D1FA1685D2FA}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -308,6 +299,16 @@ Global {D57EA297-6DC2-4BC0-8C91-334863327863}.Release|x64.Build.0 = Release|x64 {D57EA297-6DC2-4BC0-8C91-334863327863}.Release|x86.ActiveCfg = Release|Win32 {D57EA297-6DC2-4BC0-8C91-334863327863}.Release|x86.Build.0 = Release|Win32 + {42E60F88-E23F-417A-8143-0CCEC05E1D02}.Debug|Any CPU.ActiveCfg = Debug|x86 + {42E60F88-E23F-417A-8143-0CCEC05E1D02}.Debug|x64.ActiveCfg = Debug|x64 + {42E60F88-E23F-417A-8143-0CCEC05E1D02}.Debug|x64.Build.0 = Debug|x64 + {42E60F88-E23F-417A-8143-0CCEC05E1D02}.Debug|x86.ActiveCfg = Debug|x86 + {42E60F88-E23F-417A-8143-0CCEC05E1D02}.Debug|x86.Build.0 = Debug|x86 + {42E60F88-E23F-417A-8143-0CCEC05E1D02}.Release|Any CPU.ActiveCfg = Release|x86 + {42E60F88-E23F-417A-8143-0CCEC05E1D02}.Release|x64.ActiveCfg = Release|x64 + {42E60F88-E23F-417A-8143-0CCEC05E1D02}.Release|x64.Build.0 = Release|x64 + {42E60F88-E23F-417A-8143-0CCEC05E1D02}.Release|x86.ActiveCfg = Release|x86 + {42E60F88-E23F-417A-8143-0CCEC05E1D02}.Release|x86.Build.0 = Release|x86 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -316,7 +317,6 @@ Global {E4E2BDC4-A9C6-4AE9-B429-032EC83EDE64} = {C74B8F36-FD2F-45C9-9B8A-00E7CF0126A9} {8B3446E8-E6A8-4591-AA63-A95837C6E97C} = {04B1EDB6-E967-4D25-89B9-E6F8304038CD} {4106DB10-E09F-480E-9CE6-B39235512EE6} = {EF30B533-D715-421A-92B7-92FEF460AC9C} - {F54715C3-88D8-49E3-A291-C13570FE81FC} = {744ACDC6-F6A0-4FF9-9421-F25C5F2DC520} {4E3E1F5C-CD52-4CC0-A35F-D1FA1685D2FA} = {EF30B533-D715-421A-92B7-92FEF460AC9C} {9BC4AFCB-325D-4C81-8228-8CF301CE2F97} = {C74B8F36-FD2F-45C9-9B8A-00E7CF0126A9} {679FA2A2-898B-4320-884E-C2D294A97CE1} = {744ACDC6-F6A0-4FF9-9421-F25C5F2DC520} @@ -335,6 +335,7 @@ Global {55494E58-E061-4C4C-A0A8-837008E72F85} = {06CA2C2B-83B0-4D83-905A-E0C74790009E} {09D9D1D6-2951-4E14-BC35-76A23CF9391A} = {06CA2C2B-83B0-4D83-905A-E0C74790009E} {D57EA297-6DC2-4BC0-8C91-334863327863} = {06CA2C2B-83B0-4D83-905A-E0C74790009E} + {42E60F88-E23F-417A-8143-0CCEC05E1D02} = {744ACDC6-F6A0-4FF9-9421-F25C5F2DC520} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {DB4F868D-E1AE-4FD7-9333-69FA15B268C5} diff --git a/NuGetPackageVerifier.json b/NuGetPackageVerifier.json index eea701bb65..a20c45992c 100644 --- a/NuGetPackageVerifier.json +++ b/NuGetPackageVerifier.json @@ -3,7 +3,7 @@ "rules": [], "packages": { "Microsoft.AspNetCore.AspNetCoreModule": {}, - "Microsoft.AspNetCore.AspNetCoreModuleV1": {} + "Microsoft.AspNetCore.AspNetCoreModuleV2": {} } }, "Default": { diff --git a/build/applicationhost.config b/build/applicationhost.config index 9af39ac631..8c7429db8d 100644 --- a/build/applicationhost.config +++ b/build/applicationhost.config @@ -233,6 +233,7 @@ + @@ -875,6 +876,7 @@ + diff --git a/build/applicationhost.iis.config b/build/applicationhost.iis.config index 1998fc2d86..e7771484cb 100644 --- a/build/applicationhost.iis.config +++ b/build/applicationhost.iis.config @@ -226,6 +226,7 @@ + @@ -288,6 +289,7 @@ + diff --git a/build/build.msbuild b/build/build.msbuild index 55ed0be07c..86984b2cb4 100644 --- a/build/build.msbuild +++ b/build/build.msbuild @@ -1,6 +1,7 @@ + @@ -8,7 +9,7 @@ - + diff --git a/build/dependencies.props b/build/dependencies.props index a45d38b922..1e89a11d85 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -4,36 +4,36 @@ 2.2.0-preview1-17042 - 2.2.0-preview1-34066 - 2.2.0-preview1-34066 - 2.2.0-preview1-34066 - 2.2.0-preview1-34066 - 2.2.0-preview1-34066 - 2.2.0-preview1-34066 - 2.2.0-preview1-34066 - 2.2.0-preview1-34066 - 0.5.0-preview3-34066 - 2.2.0-preview1-34066 - 2.2.0-preview1-34066 - 2.2.0-preview1-34066 - 2.2.0-preview1-34066 + 2.2.0-preview1-34097 + 2.2.0-preview1-34097 + 2.2.0-a-preview1-ancmV2-17006 + 2.2.0-a-preview1-ancmV2-17006 + 2.2.0-preview1-34097 + 2.2.0-preview1-34097 + 2.2.0-preview1-34097 + 2.2.0-preview1-34097 + 0.6.0-a-preview1-ancmV2-17006 + 2.2.0-preview1-34097 + 2.2.0-a-preview1-ancmV2-17006 + 2.2.0-preview1-34097 + 2.2.0-preview1-34097 15.6.82 15.6.82 - 2.2.0-preview1-34066 - 2.2.0-preview1-34066 - 2.2.0-preview1-34066 - 2.2.0-preview1-34066 - 2.2.0-preview1-34066 - 2.2.0-preview1-34066 - 2.2.0-preview1-34066 - 2.2.0-preview1-34066 - 2.2.0-preview1-34066 - 2.2.0-preview1-34066 - 2.2.0-preview1-34066 - 2.2.0-preview1-34066 + 2.2.0-preview1-34097 + 2.2.0-preview1-34097 + 2.2.0-preview1-34097 + 2.2.0-preview1-34097 + 2.2.0-preview1-34097 + 2.2.0-preview1-34097 + 2.2.0-preview1-34097 + 2.2.0-preview1-34097 + 2.2.0-preview1-34097 + 2.2.0-preview1-34097 + 2.2.0-preview1-34097 + 2.2.0-preview1-34097 2.0.0 2.2.0-preview1-26424-04 - 2.2.0-preview1-34066 + 2.2.0-preview1-34097 15.6.1 2.0.3 4.5.0-preview3-26423-04 diff --git a/build/launchSettings.json b/build/launchSettings.json index 6d5ce43f73..aa0472a2dd 100644 --- a/build/launchSettings.json +++ b/build/launchSettings.json @@ -15,7 +15,7 @@ "nativeDebugging": true, "environmentVariables": { "IIS_SITE_PATH": "$(MSBuildThisFileDirectory)", - "ANCM_PATH": "$(TargetDir)$(AncmPath)", + "ANCM_PATH": "$(TargetDir)$(AncmV2Path)", "LAUNCHER_ARGS": "$(TargetPath)", "ASPNETCORE_ENVIRONMENT": "Development", "LAUNCHER_PATH": "$(DotNetPath)" @@ -27,7 +27,7 @@ "commandLineArgs": "$(IISArguments)", "environmentVariables": { "IIS_SITE_PATH": "$(MSBuildThisFileDirectory)", - "ANCM_PATH": "$(TargetDir)$(AncmPath)", + "ANCM_PATH": "$(TargetDir)$(AncmV2Path)", "LAUNCHER_ARGS": "$(TargetPath)", "ASPNETCORE_ENVIRONMENT": "Development", "LAUNCHER_PATH": "$(DotNetPath)" diff --git a/build/repo.targets b/build/repo.targets index 97c231e7ba..d56787031b 100644 --- a/build/repo.targets +++ b/build/repo.targets @@ -39,13 +39,13 @@ - + NuGetPackage - Microsoft.AspNetCore.AspNetCoreModuleV1 + Microsoft.AspNetCore.AspNetCoreModuleV2 $(PackageVersion) $(RepositoryRoot) - + ZipArchive @@ -79,20 +79,20 @@ - - + + - - + + - + diff --git a/build/testsite.props b/build/testsite.props index d2f6acea7e..f45cefa7e1 100644 --- a/build/testsite.props +++ b/build/testsite.props @@ -28,13 +28,11 @@ $(NativePlatform)\ - + - - - - + + @@ -44,6 +42,7 @@ -h "$(IISAppHostConfig)" $(NativePlatform)\aspnetcore.dll + $(NativePlatform)\aspnetcorev2.dll $(NativePlatform)\aspnetcorerh.dll $(userprofile)\.dotnet\$(NativePlatform)\dotnet.exe @@ -61,10 +60,9 @@ - + $(MSBuildThisFileDirectory)..\test\TestTasks\bin\$(Configuration)\$(TargetFramework)\TestTasks - $(InjectDepsAssembly) "win7-$(NativePlatform)" "$(AncmRHPath)" @@ -81,11 +79,11 @@ - + - + diff --git a/nuget/AspNetCoreV1.nuspec b/nuget/AspNetCoreV1.nuspec index f89b7ff754..4b9112cd72 100644 --- a/nuget/AspNetCoreV1.nuspec +++ b/nuget/AspNetCoreV1.nuspec @@ -1,7 +1,7 @@ - Microsoft.AspNetCore.AspNetCoreModuleV1 + Microsoft.AspNetCore.AspNetCoreModule Microsoft ASP.NET Core Module $VERSION$ Microsoft diff --git a/nuget/AspNetCoreV2.nuspec b/nuget/AspNetCoreV2.nuspec index 10745f52c4..6e0f6470f1 100644 --- a/nuget/AspNetCoreV2.nuspec +++ b/nuget/AspNetCoreV2.nuspec @@ -1,7 +1,7 @@  - Microsoft.AspNetCore.AspNetCoreModule + Microsoft.AspNetCore.AspNetCoreModuleV2 Microsoft ASP.NET Core Module $VERSION$ Microsoft @@ -19,8 +19,8 @@ - - + + diff --git a/samples/NativeIISSample/Properties/launchSettings.json b/samples/NativeIISSample/Properties/launchSettings.json index 6d5ce43f73..aa0472a2dd 100644 --- a/samples/NativeIISSample/Properties/launchSettings.json +++ b/samples/NativeIISSample/Properties/launchSettings.json @@ -15,7 +15,7 @@ "nativeDebugging": true, "environmentVariables": { "IIS_SITE_PATH": "$(MSBuildThisFileDirectory)", - "ANCM_PATH": "$(TargetDir)$(AncmPath)", + "ANCM_PATH": "$(TargetDir)$(AncmV2Path)", "LAUNCHER_ARGS": "$(TargetPath)", "ASPNETCORE_ENVIRONMENT": "Development", "LAUNCHER_PATH": "$(DotNetPath)" @@ -27,7 +27,7 @@ "commandLineArgs": "$(IISArguments)", "environmentVariables": { "IIS_SITE_PATH": "$(MSBuildThisFileDirectory)", - "ANCM_PATH": "$(TargetDir)$(AncmPath)", + "ANCM_PATH": "$(TargetDir)$(AncmV2Path)", "LAUNCHER_ARGS": "$(TargetPath)", "ASPNETCORE_ENVIRONMENT": "Development", "LAUNCHER_PATH": "$(DotNetPath)" diff --git a/samples/NativeIISSample/web.config b/samples/NativeIISSample/web.config index 08baab0922..b366ebfd8c 100644 --- a/samples/NativeIISSample/web.config +++ b/samples/NativeIISSample/web.config @@ -2,7 +2,7 @@ - + diff --git a/src/AspNetCoreModuleV2/AspNetCore/AspNetCore.vcxproj b/src/AspNetCoreModuleV2/AspNetCore/AspNetCore.vcxproj index 4660054b0b..e848a32af8 100644 --- a/src/AspNetCoreModuleV2/AspNetCore/AspNetCore.vcxproj +++ b/src/AspNetCoreModuleV2/AspNetCore/AspNetCore.vcxproj @@ -24,7 +24,7 @@ Win32Proj AspNetCoreModule AspNetCore - aspnetcore + aspnetcorev2 false 10.0.15063.0 @@ -243,7 +243,7 @@ - + PreserveNewest @@ -251,7 +251,7 @@ - + diff --git a/src/AspNetCoreModuleV2/AspNetCore/Source.def b/src/AspNetCoreModuleV2/AspNetCore/Source.def index 9aae10ab5d..74135f4835 100644 --- a/src/AspNetCoreModuleV2/AspNetCore/Source.def +++ b/src/AspNetCoreModuleV2/AspNetCore/Source.def @@ -1,4 +1,4 @@ -LIBRARY aspnetcore +LIBRARY aspnetcorev2 EXPORTS RegisterModule diff --git a/src/AspNetCoreModuleV2/AspNetCore/aspnetcore_schema.xml b/src/AspNetCoreModuleV2/AspNetCore/aspnetcore_schema_v2.xml similarity index 100% rename from src/AspNetCoreModuleV2/AspNetCore/aspnetcore_schema.xml rename to src/AspNetCoreModuleV2/AspNetCore/aspnetcore_schema_v2.xml diff --git a/test/IISIntegration.FunctionalTests/AppHostConfig/Http.config b/test/IISIntegration.FunctionalTests/AppHostConfig/Http.config index 18a1aa2e22..771c84bcdd 100644 --- a/test/IISIntegration.FunctionalTests/AppHostConfig/Http.config +++ b/test/IISIntegration.FunctionalTests/AppHostConfig/Http.config @@ -254,6 +254,8 @@ + + @@ -930,6 +932,7 @@ + diff --git a/test/IISIntegration.FunctionalTests/AppHostConfig/Https.config b/test/IISIntegration.FunctionalTests/AppHostConfig/Https.config index e16fd734b7..0a1e6d29e1 100644 --- a/test/IISIntegration.FunctionalTests/AppHostConfig/Https.config +++ b/test/IISIntegration.FunctionalTests/AppHostConfig/Https.config @@ -253,7 +253,8 @@ - + + @@ -929,6 +930,7 @@ + diff --git a/test/IISIntegration.FunctionalTests/AppHostConfig/NtlmAuthentation.config b/test/IISIntegration.FunctionalTests/AppHostConfig/NtlmAuthentation.config index d74f6b2e4f..2ecb42968f 100644 --- a/test/IISIntegration.FunctionalTests/AppHostConfig/NtlmAuthentation.config +++ b/test/IISIntegration.FunctionalTests/AppHostConfig/NtlmAuthentation.config @@ -253,7 +253,8 @@ - + + @@ -929,6 +930,7 @@ + diff --git a/test/IISIntegration.FunctionalTests/AppHostConfig/WebsocketsNotSupported.config b/test/IISIntegration.FunctionalTests/AppHostConfig/WebsocketsNotSupported.config index 541f91ad81..8edd622936 100644 --- a/test/IISIntegration.FunctionalTests/AppHostConfig/WebsocketsNotSupported.config +++ b/test/IISIntegration.FunctionalTests/AppHostConfig/WebsocketsNotSupported.config @@ -253,7 +253,8 @@ - + + @@ -929,6 +930,7 @@ + diff --git a/test/IISIntegration.FunctionalTests/Inprocess/StartupTests.cs b/test/IISIntegration.FunctionalTests/Inprocess/StartupTests.cs index a47e95aa99..eaddefb45e 100644 --- a/test/IISIntegration.FunctionalTests/Inprocess/StartupTests.cs +++ b/test/IISIntegration.FunctionalTests/Inprocess/StartupTests.cs @@ -202,19 +202,10 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests SiteName = "HttpTestSite", // This is configured in the Http.config TargetFramework = "netcoreapp2.1", ApplicationType = ApplicationType.Portable, - Configuration = GetCurrentConfiguration() + ANCMVersion = ANCMVersion.AspNetCoreModuleV2 }; } - private static string GetCurrentConfiguration() - { -#if DEBUG - return "Debug"; -#else - return "Release"; -#endif - } - private class TestLoggerProvider : ILoggerProvider { private readonly TestLoggerFactory _loggerFactory; diff --git a/test/IISIntegration.FunctionalTests/OutOfProcess/HelloWorldTest.cs b/test/IISIntegration.FunctionalTests/OutOfProcess/HelloWorldTest.cs index 370ce2cf63..1ef7f93143 100644 --- a/test/IISIntegration.FunctionalTests/OutOfProcess/HelloWorldTest.cs +++ b/test/IISIntegration.FunctionalTests/OutOfProcess/HelloWorldTest.cs @@ -20,22 +20,22 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests } [Theory(Skip = "Full framework web.config generation is currently incorrect. See https://github.com/aspnet/websdk/pull/322")] - [InlineData("V1")] - [InlineData("V2")] - public Task HelloWorld_IISExpress_Clr_X64_Portable(string ancmVersion) + [InlineData(ANCMVersion.AspNetCoreModule)] + [InlineData(ANCMVersion.AspNetCoreModuleV2)] + public Task HelloWorld_IISExpress_Clr_X64_Portable(ANCMVersion ancmVersion) { return HelloWorld(RuntimeFlavor.Clr, ApplicationType.Portable, ancmVersion); } [Theory] - [InlineData("V1")] - [InlineData("V2")] - public Task HelloWorld_IISExpress_CoreClr_X64_Portable(string ancmVersion) + [InlineData(ANCMVersion.AspNetCoreModule)] + [InlineData(ANCMVersion.AspNetCoreModuleV2)] + public Task HelloWorld_IISExpress_CoreClr_X64_Portable(ANCMVersion ancmVersion) { return HelloWorld(RuntimeFlavor.CoreClr, ApplicationType.Portable, ancmVersion); } - private async Task HelloWorld(RuntimeFlavor runtimeFlavor, ApplicationType applicationType, string ancmVersion) + private async Task HelloWorld(RuntimeFlavor runtimeFlavor, ApplicationType applicationType, ANCMVersion ancmVersion) { var serverType = ServerType.IISExpress; var architecture = RuntimeArchitecture.x64; @@ -51,13 +51,7 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests SiteName = "HttpTestSite", // This is configured in the Http.config TargetFramework = runtimeFlavor == RuntimeFlavor.Clr ? "net461" : "netcoreapp2.0", ApplicationType = applicationType, - Configuration = -#if DEBUG - "Debug", -#else - "Release", -#endif - AdditionalPublishParameters = $" /p:ANCMVersion={ancmVersion}" + ANCMVersion = ancmVersion }; using (var deployer = ApplicationDeployerFactory.Create(deploymentParameters, loggerFactory)) diff --git a/test/IISIntegration.FunctionalTests/OutOfProcess/HttpsTest.cs b/test/IISIntegration.FunctionalTests/OutOfProcess/HttpsTest.cs index 0e71a21fdc..a5bdd30bbf 100644 --- a/test/IISIntegration.FunctionalTests/OutOfProcess/HttpsTest.cs +++ b/test/IISIntegration.FunctionalTests/OutOfProcess/HttpsTest.cs @@ -26,22 +26,22 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests } [Theory(Skip = "Full framework web.config generation is currently incorrect. See: https://github.com/aspnet/websdk/pull/322")] - [InlineData("V1")] - [InlineData("V2")] - public Task Https_HelloWorld_CLR_X64(string ancmVersion) + [InlineData(ANCMVersion.AspNetCoreModule)] + [InlineData(ANCMVersion.AspNetCoreModuleV2)] + public Task Https_HelloWorld_CLR_X64(ANCMVersion ancmVersion) { return HttpsHelloWorld(RuntimeFlavor.Clr, ApplicationType.Portable, port: 44396, ancmVersion); } [Theory] - [InlineData("V1")] - [InlineData("V2")] - public Task Https_HelloWorld_CoreCLR_X64_Portable(string ancmVersion) + [InlineData(ANCMVersion.AspNetCoreModule)] + [InlineData(ANCMVersion.AspNetCoreModuleV2)] + public Task Https_HelloWorld_CoreCLR_X64_Portable(ANCMVersion ancmVersion) { return HttpsHelloWorld(RuntimeFlavor.CoreClr, ApplicationType.Portable, port: 44394, ancmVersion); } - private async Task HttpsHelloWorld(RuntimeFlavor runtimeFlavor, ApplicationType applicationType, int port, string ancmVersion) + private async Task HttpsHelloWorld(RuntimeFlavor runtimeFlavor, ApplicationType applicationType, int port, ANCMVersion ancmVersion) { var serverType = ServerType.IISExpress; var architecture = RuntimeArchitecture.x64; @@ -60,19 +60,13 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests SiteName = "HttpsTestSite", // This is configured in the Https.config TargetFramework = runtimeFlavor == RuntimeFlavor.Clr ? "net461" : "netcoreapp2.0", ApplicationType = applicationType, - Configuration = -#if DEBUG - "Debug", -#else - "Release", -#endif - AdditionalPublishParameters = $" /p:ANCMVersion={ancmVersion}" - + ANCMVersion = ancmVersion }; using (var deployer = ApplicationDeployerFactory.Create(deploymentParameters, loggerFactory)) { var deploymentResult = await deployer.DeployAsync(); + var handler = new HttpClientHandler(); handler.ServerCertificateCustomValidationCallback = (a, b, c, d) => true; var httpClient = deploymentResult.CreateHttpClient(handler); @@ -100,42 +94,42 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests } [Theory] - [InlineData("V1")] - [InlineData("V2")] - public Task Https_HelloWorld_NoClientCert_CoreCLR_X64_Portable(string ancmVersion) + [InlineData(ANCMVersion.AspNetCoreModule)] + [InlineData(ANCMVersion.AspNetCoreModuleV2)] + public Task Https_HelloWorld_NoClientCert_CoreCLR_X64_Portable(ANCMVersion ancmVersion) { return HttpsHelloWorldCerts(RuntimeFlavor.CoreClr, ApplicationType.Portable , port: 44397, sendClientCert: false, ancmVersion); } [Theory(Skip = "Full framework web.config generation is currently incorrect. See https://github.com/aspnet/websdk/pull/322")] - [InlineData("V1")] - [InlineData("V2")] - public Task Https_HelloWorld_NoClientCert_Clr_X64(string ancmVersion) + [InlineData(ANCMVersion.AspNetCoreModule)] + [InlineData(ANCMVersion.AspNetCoreModuleV2)] + public Task Https_HelloWorld_NoClientCert_Clr_X64(ANCMVersion ancmVersion) { return HttpsHelloWorldCerts(RuntimeFlavor.Clr, ApplicationType.Portable, port: 44398, sendClientCert: false, ancmVersion); } #pragma warning disable xUnit1004 // Test methods should not be skipped [Theory(Skip = "Manual test only, selecting a client cert is non-determanistic on different machines.")] - [InlineData("V1")] - [InlineData("V2")] + [InlineData(ANCMVersion.AspNetCoreModule)] + [InlineData(ANCMVersion.AspNetCoreModuleV2)] #pragma warning restore xUnit1004 // Test methods should not be skipped - public Task Https_HelloWorld_ClientCert_Clr_X64(string ancmVersion) + public Task Https_HelloWorld_ClientCert_Clr_X64(ANCMVersion ancmVersion) { return HttpsHelloWorldCerts(RuntimeFlavor.Clr, ApplicationType.Portable, port: 44301, sendClientCert: true, ancmVersion); } #pragma warning disable xUnit1004 // Test methods should not be skipped [Theory(Skip = "Manual test only, selecting a client cert is non-determanistic on different machines.")] - [InlineData("V1")] - [InlineData("V2")] + [InlineData(ANCMVersion.AspNetCoreModule)] + [InlineData(ANCMVersion.AspNetCoreModuleV2)] #pragma warning restore xUnit1004 // Test methods should not be skipped - public Task Https_HelloWorld_ClientCert_CoreCLR_X64_Portable(string ancmVersion) + public Task Https_HelloWorld_ClientCert_CoreCLR_X64_Portable(ANCMVersion ancmVersion) { return HttpsHelloWorldCerts(RuntimeFlavor.CoreClr, ApplicationType.Portable, port: 44302, sendClientCert: true, ancmVersion); } - private async Task HttpsHelloWorldCerts(RuntimeFlavor runtimeFlavor, ApplicationType applicationType, int port, bool sendClientCert, string ancmVersion) + private async Task HttpsHelloWorldCerts(RuntimeFlavor runtimeFlavor, ApplicationType applicationType, int port, bool sendClientCert, ANCMVersion ancmVersion) { var serverType = ServerType.IISExpress; var architecture = RuntimeArchitecture.x64; @@ -153,13 +147,7 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests SiteName = "HttpsTestSite", // This is configured in the Https.config TargetFramework = runtimeFlavor == RuntimeFlavor.Clr ? "net461" : "netcoreapp2.0", ApplicationType = applicationType, - Configuration = -#if DEBUG - "Debug", -#else - "Release", -#endif - AdditionalPublishParameters = $" /p:ANCMVersion={ancmVersion}" + ANCMVersion = ancmVersion }; using (var deployer = ApplicationDeployerFactory.Create(deploymentParameters, loggerFactory)) diff --git a/test/IISIntegration.FunctionalTests/OutOfProcess/NtlmAuthentationTest.cs b/test/IISIntegration.FunctionalTests/OutOfProcess/NtlmAuthentationTest.cs index 809c213b27..04f1d4e77a 100644 --- a/test/IISIntegration.FunctionalTests/OutOfProcess/NtlmAuthentationTest.cs +++ b/test/IISIntegration.FunctionalTests/OutOfProcess/NtlmAuthentationTest.cs @@ -26,22 +26,22 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests } [Theory(Skip = "Full framework web.config generation is currently incorrect. See https://github.com/aspnet/websdk/pull/322")] - [InlineData("V1")] - [InlineData("V2")] - public Task NtlmAuthentication_Clr_X64(string ancmVersion) + [InlineData(ANCMVersion.AspNetCoreModule)] + [InlineData(ANCMVersion.AspNetCoreModuleV2)] + public Task NtlmAuthentication_Clr_X64(ANCMVersion ancmVersion) { return NtlmAuthentication(RuntimeFlavor.Clr, ApplicationType.Portable, port: 5051, ancmVersion); } [Theory] - [InlineData("V1")] - [InlineData("V2")] - public Task NtlmAuthentication_CoreClr_X64_Portable(string ancmVersion) + [InlineData(ANCMVersion.AspNetCoreModule)] + [InlineData(ANCMVersion.AspNetCoreModuleV2)] + public Task NtlmAuthentication_CoreClr_X64_Portable(ANCMVersion ancmVersion) { return NtlmAuthentication(RuntimeFlavor.CoreClr, ApplicationType.Portable, port: 5052, ancmVersion); } - private async Task NtlmAuthentication(RuntimeFlavor runtimeFlavor, ApplicationType applicationType, int port, string ancmVersion) + private async Task NtlmAuthentication(RuntimeFlavor runtimeFlavor, ApplicationType applicationType, int port, ANCMVersion ancmVersion) { var serverType = ServerType.IISExpress; var architecture = RuntimeArchitecture.x64; @@ -50,16 +50,6 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests { var logger = loggerFactory.CreateLogger("NtlmAuthenticationTest"); - var windowsRid = architecture == RuntimeArchitecture.x64 - ? "win7-x64" - : "win7-x86"; - var additionalPublishParameters = $" /p:ANCMVersion={ancmVersion}"; - if (ApplicationType.Standalone == applicationType && RuntimeFlavor.CoreClr == runtimeFlavor) - { - additionalPublishParameters += " -r " + windowsRid; - - } - var deploymentParameters = new DeploymentParameters(Helpers.GetOutOfProcessTestSitesPath(), serverType, runtimeFlavor, architecture) { ApplicationBaseUriHint = $"http://localhost:{port}", @@ -68,13 +58,8 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests SiteName = "NtlmAuthenticationTestSite", // This is configured in the NtlmAuthentication.config TargetFramework = runtimeFlavor == RuntimeFlavor.Clr ? "net461" : "netcoreapp2.0", ApplicationType = applicationType, - AdditionalPublishParameters = additionalPublishParameters, - Configuration = -#if DEBUG - "Debug" -#else - "Release" -#endif + ANCMVersion = ancmVersion, + }; using (var deployer = ApplicationDeployerFactory.Create(deploymentParameters, loggerFactory)) diff --git a/test/IISIntegration.FunctionalTests/UpgradeFeatureDetectionTests.cs b/test/IISIntegration.FunctionalTests/UpgradeFeatureDetectionTests.cs index 908e6520a5..9ff8f906b9 100644 --- a/test/IISIntegration.FunctionalTests/UpgradeFeatureDetectionTests.cs +++ b/test/IISIntegration.FunctionalTests/UpgradeFeatureDetectionTests.cs @@ -82,12 +82,7 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests SiteName = "HttpTestSite", // This is configured in the Http.config TargetFramework = "netcoreapp2.1", ApplicationType = applicationType, - Configuration = -#if DEBUG - "Debug" -#else - "Release" -#endif + ANCMVersion = ANCMVersion.AspNetCoreModuleV2 }; using (var deployer = ApplicationDeployerFactory.Create(deploymentParameters, loggerFactory)) diff --git a/test/IISIntegration.FunctionalTests/Utilities/Helpers.cs b/test/IISIntegration.FunctionalTests/Utilities/Helpers.cs index 5cda360005..65a981a86f 100644 --- a/test/IISIntegration.FunctionalTests/Utilities/Helpers.cs +++ b/test/IISIntegration.FunctionalTests/Utilities/Helpers.cs @@ -5,6 +5,7 @@ using Microsoft.AspNetCore.Server.IntegrationTesting; using System; using System.IO; using System.Linq; +using System.Threading.Tasks; using System.Xml.Linq; namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests diff --git a/test/IISIntegration.FunctionalTests/Utilities/IISTestSiteFixture.cs b/test/IISIntegration.FunctionalTests/Utilities/IISTestSiteFixture.cs index 763603508d..28ef7bd4c6 100644 --- a/test/IISIntegration.FunctionalTests/Utilities/IISTestSiteFixture.cs +++ b/test/IISIntegration.FunctionalTests/Utilities/IISTestSiteFixture.cs @@ -25,12 +25,7 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests SiteName = "HttpTestSite", TargetFramework = "netcoreapp2.1", ApplicationType = ApplicationType.Portable, - Configuration = -#if DEBUG - "Debug" -#else - "Release" -#endif + ANCMVersion = ANCMVersion.AspNetCoreModuleV2 }; _deployer = ApplicationDeployerFactory.Create(deploymentParameters, NullLoggerFactory.Instance); diff --git a/test/WebSites/InProcessWebSite/Properties/launchSettings.json b/test/WebSites/InProcessWebSite/Properties/launchSettings.json index 6d5ce43f73..aa0472a2dd 100644 --- a/test/WebSites/InProcessWebSite/Properties/launchSettings.json +++ b/test/WebSites/InProcessWebSite/Properties/launchSettings.json @@ -15,7 +15,7 @@ "nativeDebugging": true, "environmentVariables": { "IIS_SITE_PATH": "$(MSBuildThisFileDirectory)", - "ANCM_PATH": "$(TargetDir)$(AncmPath)", + "ANCM_PATH": "$(TargetDir)$(AncmV2Path)", "LAUNCHER_ARGS": "$(TargetPath)", "ASPNETCORE_ENVIRONMENT": "Development", "LAUNCHER_PATH": "$(DotNetPath)" @@ -27,7 +27,7 @@ "commandLineArgs": "$(IISArguments)", "environmentVariables": { "IIS_SITE_PATH": "$(MSBuildThisFileDirectory)", - "ANCM_PATH": "$(TargetDir)$(AncmPath)", + "ANCM_PATH": "$(TargetDir)$(AncmV2Path)", "LAUNCHER_ARGS": "$(TargetPath)", "ASPNETCORE_ENVIRONMENT": "Development", "LAUNCHER_PATH": "$(DotNetPath)" diff --git a/test/WebSites/InProcessWebSite/web.config b/test/WebSites/InProcessWebSite/web.config index 8ba96a4e9e..532ccefdd9 100644 --- a/test/WebSites/InProcessWebSite/web.config +++ b/test/WebSites/InProcessWebSite/web.config @@ -2,7 +2,7 @@ - + diff --git a/test/WebSites/OutOfProcessWebSite/Properties/launchSettings.json b/test/WebSites/OutOfProcessWebSite/Properties/launchSettings.json index 6d5ce43f73..aa0472a2dd 100644 --- a/test/WebSites/OutOfProcessWebSite/Properties/launchSettings.json +++ b/test/WebSites/OutOfProcessWebSite/Properties/launchSettings.json @@ -15,7 +15,7 @@ "nativeDebugging": true, "environmentVariables": { "IIS_SITE_PATH": "$(MSBuildThisFileDirectory)", - "ANCM_PATH": "$(TargetDir)$(AncmPath)", + "ANCM_PATH": "$(TargetDir)$(AncmV2Path)", "LAUNCHER_ARGS": "$(TargetPath)", "ASPNETCORE_ENVIRONMENT": "Development", "LAUNCHER_PATH": "$(DotNetPath)" @@ -27,7 +27,7 @@ "commandLineArgs": "$(IISArguments)", "environmentVariables": { "IIS_SITE_PATH": "$(MSBuildThisFileDirectory)", - "ANCM_PATH": "$(TargetDir)$(AncmPath)", + "ANCM_PATH": "$(TargetDir)$(AncmV2Path)", "LAUNCHER_ARGS": "$(TargetPath)", "ASPNETCORE_ENVIRONMENT": "Development", "LAUNCHER_PATH": "$(DotNetPath)" diff --git a/test/WebSites/OverriddenServerWebSite/Properties/launchSettings.json b/test/WebSites/OverriddenServerWebSite/Properties/launchSettings.json index 6d5ce43f73..aa0472a2dd 100644 --- a/test/WebSites/OverriddenServerWebSite/Properties/launchSettings.json +++ b/test/WebSites/OverriddenServerWebSite/Properties/launchSettings.json @@ -15,7 +15,7 @@ "nativeDebugging": true, "environmentVariables": { "IIS_SITE_PATH": "$(MSBuildThisFileDirectory)", - "ANCM_PATH": "$(TargetDir)$(AncmPath)", + "ANCM_PATH": "$(TargetDir)$(AncmV2Path)", "LAUNCHER_ARGS": "$(TargetPath)", "ASPNETCORE_ENVIRONMENT": "Development", "LAUNCHER_PATH": "$(DotNetPath)" @@ -27,7 +27,7 @@ "commandLineArgs": "$(IISArguments)", "environmentVariables": { "IIS_SITE_PATH": "$(MSBuildThisFileDirectory)", - "ANCM_PATH": "$(TargetDir)$(AncmPath)", + "ANCM_PATH": "$(TargetDir)$(AncmV2Path)", "LAUNCHER_ARGS": "$(TargetPath)", "ASPNETCORE_ENVIRONMENT": "Development", "LAUNCHER_PATH": "$(DotNetPath)" diff --git a/test/WebSites/OverriddenServerWebSite/web.config b/test/WebSites/OverriddenServerWebSite/web.config index f125d57107..ccfab87ca0 100644 --- a/test/WebSites/OverriddenServerWebSite/web.config +++ b/test/WebSites/OverriddenServerWebSite/web.config @@ -2,7 +2,7 @@ - + diff --git a/tools/update_schema.ps1 b/tools/update_schema.ps1 index b299c91e6a..a887c69551 100644 --- a/tools/update_schema.ps1 +++ b/tools/update_schema.ps1 @@ -1,6 +1,7 @@ <# .DESCRIPTION Updates aspnetcore_schema.xml to the latest version. +Updates aspnetcore_schema.xml to the latest version. Requires admin privileges. #> [cmdletbinding(SupportsShouldProcess = $true)] @@ -9,7 +10,16 @@ param() $ErrorActionPreference = 'Stop' Set-StrictMode -Version 1 -$schemaSource = Resolve-Path "$PSScriptRoot\..\src\AspNetCoreModuleV2\AspNetCore\aspnetcore_schema.xml" +$ancmSchemaFiles = @( + "aspnetcore_schema.xml", + "aspnetcore_schema_v2.xml" +) + +$ancmSchemaFileLocations = @( + @(Resolve-Path "$PSScriptRoot\..\src\AspNetCoreModuleV1\AspNetCore\aspnetcore_schema.xml"), + @(Resolve-Path "$PSScriptRoot\..\src\AspNetCoreModuleV2\AspNetCore\aspnetcore_schema_v2.xml") +) + [bool]$isAdmin = ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator") if (-not $isAdmin -and -not $WhatIfPreference) { @@ -33,23 +43,22 @@ if (-not $isAdmin -and -not $WhatIfPreference) { } } -$destinations = @( - "${env:ProgramFiles(x86)}\IIS Express\config\schema\aspnetcore_schema.xml", - "${env:ProgramFiles}\IIS Express\config\schema\aspnetcore_schema.xml", - "${env:windir}\system32\inetsrv\config\schema\aspnetcore_schema.xml" -) | Get-Unique +for ($i=0; $i -lt $ancmSchemaFiles.Length; $i++) +{ + $schemaFile = $ancmSchemaFiles[$i] + $schemaSource = $ancmSchemaFileLocations[$i] + $destinations = @( + "${env:ProgramFiles(x86)}\IIS Express\config\schema\${schemaFile}", + "${env:ProgramFiles}\IIS Express\config\schema\${schemaFile}", + "${env:windir}\system32\inetsrv\config\schema\${schemaFile}" + ) -foreach ($dest in $destinations) { - if (-not (Test-Path $dest)) { - Write-Host -ForegroundColor Yellow "Skipping $dest. File does not already exist." - continue - } - - if ($PSCmdlet.ShouldProcess($dest, "Replace file")) { - Write-Host "Updated $dest" - Move-Item $dest "${dest}.bak" -ErrorAction Ignore - Copy-Item $schemaSource $dest + foreach ($dest in $destinations) { + if ($PSCmdlet.ShouldProcess($dest, "Replace file")) { + Write-Host "Updated $dest" + Move-Item $dest "${dest}.bak" -ErrorAction Ignore + Copy-Item $schemaSource $dest + } } } -