diff --git a/KestrelHttpServer.sln b/KestrelHttpServer.sln
index 5773d78aa..cceaccce5 100644
--- a/KestrelHttpServer.sln
+++ b/KestrelHttpServer.sln
@@ -1,37 +1,22 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 14
-VisualStudioVersion = 14.0.25420.1
+# Visual Studio 15
+VisualStudioVersion = 15.0.26117.0
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Microsoft.AspNetCore.Server.Kestrel", "src\Microsoft.AspNetCore.Server.Kestrel\Microsoft.AspNetCore.Server.Kestrel.xproj", "{F510611A-3BEE-4B88-A613-5F4A74ED82A1}"
-EndProject
-Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Microsoft.AspNetCore.Server.KestrelTests", "test\Microsoft.AspNetCore.Server.KestrelTests\Microsoft.AspNetCore.Server.KestrelTests.xproj", "{37F3BFB2-6454-49E5-9D7F-581BF755CCFE}"
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{7972A5D6-3385-4127-9277-428506DD44FF}"
ProjectSection(SolutionItems) = preProject
build.cmd = build.cmd
- global.json = global.json
makefile.shade = makefile.shade
NuGet.Config = NuGet.Config
EndProjectSection
EndProject
-Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "SampleApp", "samples\SampleApp\SampleApp.xproj", "{2C3CB3DC-EEBF-4F52-9E1C-4F2F972E76C3}"
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{2D5D5227-4DBD-499A-96B1-76A36B03B750}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{D3273454-EA07-41D2-BF0B-FCC3675C2483}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{8A3D00B8-1CCF-4BE6-A060-11104CE2D9CE}"
EndProject
-Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "LargeResponseApp", "samples\LargeResponseApp\LargeResponseApp.xproj", "{B35D4D31-E74C-4646-8A11-7A7A40F0021E}"
-EndProject
-Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Microsoft.AspNetCore.Server.Kestrel.GeneratedCode", "tools\Microsoft.AspNetCore.Server.Kestrel.GeneratedCode\Microsoft.AspNetCore.Server.Kestrel.GeneratedCode.xproj", "{BD2D4D29-1BD9-40D0-BB31-337D5416B63C}"
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tools", "tools", "{327F7880-D9AF-46BD-B45C-3B7E34A01DFD}"
EndProject
-Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Microsoft.AspNetCore.Server.Kestrel.Https", "src\Microsoft.AspNetCore.Server.Kestrel.Https\Microsoft.AspNetCore.Server.Kestrel.Https.xproj", "{5F64B3C3-0C2E-431A-B820-A81BBFC863DA}"
-EndProject
-Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Microsoft.AspNetCore.Server.Kestrel.FunctionalTests", "test\Microsoft.AspNetCore.Server.Kestrel.FunctionalTests\Microsoft.AspNetCore.Server.Kestrel.FunctionalTests.xproj", "{9559A5F1-080C-4909-B6CF-7E4B3DC55748}"
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "shared", "shared", "{0EF2ACDF-012F-4472-A13A-4272419E2903}"
ProjectSection(SolutionItems) = preProject
test\shared\DummyApplication.cs = test\shared\DummyApplication.cs
@@ -48,55 +33,144 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "shared", "shared", "{0EF2AC
test\shared\TestConnection.cs = test\shared\TestConnection.cs
test\shared\TestFrame.cs = test\shared\TestFrame.cs
test\shared\TestKestrelTrace.cs = test\shared\TestKestrelTrace.cs
+ test\shared\TestResources.cs = test\shared\TestResources.cs
test\shared\TestServer.cs = test\shared\TestServer.cs
test\shared\TestServiceContext.cs = test\shared\TestServiceContext.cs
EndProjectSection
EndProject
-Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Microsoft.AspNetCore.Server.Kestrel.Performance", "test\Microsoft.AspNetCore.Server.Kestrel.Performance\Microsoft.AspNetCore.Server.Kestrel.Performance.xproj", "{70567566-524C-4B67-9B59-E5C206D6C2EB}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.Kestrel", "src\Microsoft.AspNetCore.Server.Kestrel\Microsoft.AspNetCore.Server.Kestrel.csproj", "{F510611A-3BEE-4B88-A613-5F4A74ED82A1}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.KestrelTests", "test\Microsoft.AspNetCore.Server.KestrelTests\Microsoft.AspNetCore.Server.KestrelTests.csproj", "{37F3BFB2-6454-49E5-9D7F-581BF755CCFE}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SampleApp", "samples\SampleApp\SampleApp.csproj", "{2C3CB3DC-EEBF-4F52-9E1C-4F2F972E76C3}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LargeResponseApp", "samples\LargeResponseApp\LargeResponseApp.csproj", "{B35D4D31-E74C-4646-8A11-7A7A40F0021E}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.Kestrel.GeneratedCode", "tools\Microsoft.AspNetCore.Server.Kestrel.GeneratedCode\Microsoft.AspNetCore.Server.Kestrel.GeneratedCode.csproj", "{BD2D4D29-1BD9-40D0-BB31-337D5416B63C}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.Kestrel.Https", "src\Microsoft.AspNetCore.Server.Kestrel.Https\Microsoft.AspNetCore.Server.Kestrel.Https.csproj", "{5F64B3C3-0C2E-431A-B820-A81BBFC863DA}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.Kestrel.FunctionalTests", "test\Microsoft.AspNetCore.Server.Kestrel.FunctionalTests\Microsoft.AspNetCore.Server.Kestrel.FunctionalTests.csproj", "{9559A5F1-080C-4909-B6CF-7E4B3DC55748}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.Kestrel.Performance", "test\Microsoft.AspNetCore.Server.Kestrel.Performance\Microsoft.AspNetCore.Server.Kestrel.Performance.csproj", "{EBFE9719-A44B-4978-A71F-D5C254E7F35A}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TestResources", "TestResources", "{2822C132-BFFB-4D53-AC5B-E7E47DD81A6E}"
+ ProjectSection(SolutionItems) = preProject
+ test\shared\TestResources\testCert.pfx = test\shared\TestResources\testCert.pfx
+ EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{F510611A-3BEE-4B88-A613-5F4A74ED82A1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F510611A-3BEE-4B88-A613-5F4A74ED82A1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F510611A-3BEE-4B88-A613-5F4A74ED82A1}.Debug|x64.ActiveCfg = Debug|x64
+ {F510611A-3BEE-4B88-A613-5F4A74ED82A1}.Debug|x64.Build.0 = Debug|x64
+ {F510611A-3BEE-4B88-A613-5F4A74ED82A1}.Debug|x86.ActiveCfg = Debug|x86
+ {F510611A-3BEE-4B88-A613-5F4A74ED82A1}.Debug|x86.Build.0 = Debug|x86
{F510611A-3BEE-4B88-A613-5F4A74ED82A1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F510611A-3BEE-4B88-A613-5F4A74ED82A1}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F510611A-3BEE-4B88-A613-5F4A74ED82A1}.Release|x64.ActiveCfg = Release|x64
+ {F510611A-3BEE-4B88-A613-5F4A74ED82A1}.Release|x64.Build.0 = Release|x64
+ {F510611A-3BEE-4B88-A613-5F4A74ED82A1}.Release|x86.ActiveCfg = Release|x86
+ {F510611A-3BEE-4B88-A613-5F4A74ED82A1}.Release|x86.Build.0 = Release|x86
{37F3BFB2-6454-49E5-9D7F-581BF755CCFE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{37F3BFB2-6454-49E5-9D7F-581BF755CCFE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {37F3BFB2-6454-49E5-9D7F-581BF755CCFE}.Debug|x64.ActiveCfg = Debug|x64
+ {37F3BFB2-6454-49E5-9D7F-581BF755CCFE}.Debug|x64.Build.0 = Debug|x64
+ {37F3BFB2-6454-49E5-9D7F-581BF755CCFE}.Debug|x86.ActiveCfg = Debug|x86
+ {37F3BFB2-6454-49E5-9D7F-581BF755CCFE}.Debug|x86.Build.0 = Debug|x86
{37F3BFB2-6454-49E5-9D7F-581BF755CCFE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{37F3BFB2-6454-49E5-9D7F-581BF755CCFE}.Release|Any CPU.Build.0 = Release|Any CPU
+ {37F3BFB2-6454-49E5-9D7F-581BF755CCFE}.Release|x64.ActiveCfg = Release|x64
+ {37F3BFB2-6454-49E5-9D7F-581BF755CCFE}.Release|x64.Build.0 = Release|x64
+ {37F3BFB2-6454-49E5-9D7F-581BF755CCFE}.Release|x86.ActiveCfg = Release|x86
+ {37F3BFB2-6454-49E5-9D7F-581BF755CCFE}.Release|x86.Build.0 = Release|x86
{2C3CB3DC-EEBF-4F52-9E1C-4F2F972E76C3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2C3CB3DC-EEBF-4F52-9E1C-4F2F972E76C3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {2C3CB3DC-EEBF-4F52-9E1C-4F2F972E76C3}.Debug|x64.ActiveCfg = Debug|x64
+ {2C3CB3DC-EEBF-4F52-9E1C-4F2F972E76C3}.Debug|x64.Build.0 = Debug|x64
+ {2C3CB3DC-EEBF-4F52-9E1C-4F2F972E76C3}.Debug|x86.ActiveCfg = Debug|x86
+ {2C3CB3DC-EEBF-4F52-9E1C-4F2F972E76C3}.Debug|x86.Build.0 = Debug|x86
{2C3CB3DC-EEBF-4F52-9E1C-4F2F972E76C3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2C3CB3DC-EEBF-4F52-9E1C-4F2F972E76C3}.Release|Any CPU.Build.0 = Release|Any CPU
+ {2C3CB3DC-EEBF-4F52-9E1C-4F2F972E76C3}.Release|x64.ActiveCfg = Release|x64
+ {2C3CB3DC-EEBF-4F52-9E1C-4F2F972E76C3}.Release|x64.Build.0 = Release|x64
+ {2C3CB3DC-EEBF-4F52-9E1C-4F2F972E76C3}.Release|x86.ActiveCfg = Release|x86
+ {2C3CB3DC-EEBF-4F52-9E1C-4F2F972E76C3}.Release|x86.Build.0 = Release|x86
{B35D4D31-E74C-4646-8A11-7A7A40F0021E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B35D4D31-E74C-4646-8A11-7A7A40F0021E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B35D4D31-E74C-4646-8A11-7A7A40F0021E}.Debug|x64.ActiveCfg = Debug|x64
+ {B35D4D31-E74C-4646-8A11-7A7A40F0021E}.Debug|x64.Build.0 = Debug|x64
+ {B35D4D31-E74C-4646-8A11-7A7A40F0021E}.Debug|x86.ActiveCfg = Debug|x86
+ {B35D4D31-E74C-4646-8A11-7A7A40F0021E}.Debug|x86.Build.0 = Debug|x86
{B35D4D31-E74C-4646-8A11-7A7A40F0021E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B35D4D31-E74C-4646-8A11-7A7A40F0021E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B35D4D31-E74C-4646-8A11-7A7A40F0021E}.Release|x64.ActiveCfg = Release|x64
+ {B35D4D31-E74C-4646-8A11-7A7A40F0021E}.Release|x64.Build.0 = Release|x64
+ {B35D4D31-E74C-4646-8A11-7A7A40F0021E}.Release|x86.ActiveCfg = Release|x86
+ {B35D4D31-E74C-4646-8A11-7A7A40F0021E}.Release|x86.Build.0 = Release|x86
{BD2D4D29-1BD9-40D0-BB31-337D5416B63C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BD2D4D29-1BD9-40D0-BB31-337D5416B63C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BD2D4D29-1BD9-40D0-BB31-337D5416B63C}.Debug|x64.ActiveCfg = Debug|x64
+ {BD2D4D29-1BD9-40D0-BB31-337D5416B63C}.Debug|x64.Build.0 = Debug|x64
+ {BD2D4D29-1BD9-40D0-BB31-337D5416B63C}.Debug|x86.ActiveCfg = Debug|x86
+ {BD2D4D29-1BD9-40D0-BB31-337D5416B63C}.Debug|x86.Build.0 = Debug|x86
{BD2D4D29-1BD9-40D0-BB31-337D5416B63C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BD2D4D29-1BD9-40D0-BB31-337D5416B63C}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BD2D4D29-1BD9-40D0-BB31-337D5416B63C}.Release|x64.ActiveCfg = Release|x64
+ {BD2D4D29-1BD9-40D0-BB31-337D5416B63C}.Release|x64.Build.0 = Release|x64
+ {BD2D4D29-1BD9-40D0-BB31-337D5416B63C}.Release|x86.ActiveCfg = Release|x86
+ {BD2D4D29-1BD9-40D0-BB31-337D5416B63C}.Release|x86.Build.0 = Release|x86
{5F64B3C3-0C2E-431A-B820-A81BBFC863DA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5F64B3C3-0C2E-431A-B820-A81BBFC863DA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5F64B3C3-0C2E-431A-B820-A81BBFC863DA}.Debug|x64.ActiveCfg = Debug|x64
+ {5F64B3C3-0C2E-431A-B820-A81BBFC863DA}.Debug|x64.Build.0 = Debug|x64
+ {5F64B3C3-0C2E-431A-B820-A81BBFC863DA}.Debug|x86.ActiveCfg = Debug|x86
+ {5F64B3C3-0C2E-431A-B820-A81BBFC863DA}.Debug|x86.Build.0 = Debug|x86
{5F64B3C3-0C2E-431A-B820-A81BBFC863DA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5F64B3C3-0C2E-431A-B820-A81BBFC863DA}.Release|Any CPU.Build.0 = Release|Any CPU
+ {5F64B3C3-0C2E-431A-B820-A81BBFC863DA}.Release|x64.ActiveCfg = Release|x64
+ {5F64B3C3-0C2E-431A-B820-A81BBFC863DA}.Release|x64.Build.0 = Release|x64
+ {5F64B3C3-0C2E-431A-B820-A81BBFC863DA}.Release|x86.ActiveCfg = Release|x86
+ {5F64B3C3-0C2E-431A-B820-A81BBFC863DA}.Release|x86.Build.0 = Release|x86
{9559A5F1-080C-4909-B6CF-7E4B3DC55748}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9559A5F1-080C-4909-B6CF-7E4B3DC55748}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9559A5F1-080C-4909-B6CF-7E4B3DC55748}.Debug|x64.ActiveCfg = Debug|x64
+ {9559A5F1-080C-4909-B6CF-7E4B3DC55748}.Debug|x64.Build.0 = Debug|x64
+ {9559A5F1-080C-4909-B6CF-7E4B3DC55748}.Debug|x86.ActiveCfg = Debug|x86
+ {9559A5F1-080C-4909-B6CF-7E4B3DC55748}.Debug|x86.Build.0 = Debug|x86
{9559A5F1-080C-4909-B6CF-7E4B3DC55748}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9559A5F1-080C-4909-B6CF-7E4B3DC55748}.Release|Any CPU.Build.0 = Release|Any CPU
- {70567566-524C-4B67-9B59-E5C206D6C2EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {70567566-524C-4B67-9B59-E5C206D6C2EB}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {70567566-524C-4B67-9B59-E5C206D6C2EB}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {70567566-524C-4B67-9B59-E5C206D6C2EB}.Release|Any CPU.Build.0 = Release|Any CPU
+ {9559A5F1-080C-4909-B6CF-7E4B3DC55748}.Release|x64.ActiveCfg = Release|x64
+ {9559A5F1-080C-4909-B6CF-7E4B3DC55748}.Release|x64.Build.0 = Release|x64
+ {9559A5F1-080C-4909-B6CF-7E4B3DC55748}.Release|x86.ActiveCfg = Release|x86
+ {9559A5F1-080C-4909-B6CF-7E4B3DC55748}.Release|x86.Build.0 = Release|x86
+ {EBFE9719-A44B-4978-A71F-D5C254E7F35A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {EBFE9719-A44B-4978-A71F-D5C254E7F35A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {EBFE9719-A44B-4978-A71F-D5C254E7F35A}.Debug|x64.ActiveCfg = Debug|x64
+ {EBFE9719-A44B-4978-A71F-D5C254E7F35A}.Debug|x64.Build.0 = Debug|x64
+ {EBFE9719-A44B-4978-A71F-D5C254E7F35A}.Debug|x86.ActiveCfg = Debug|x86
+ {EBFE9719-A44B-4978-A71F-D5C254E7F35A}.Debug|x86.Build.0 = Debug|x86
+ {EBFE9719-A44B-4978-A71F-D5C254E7F35A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {EBFE9719-A44B-4978-A71F-D5C254E7F35A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {EBFE9719-A44B-4978-A71F-D5C254E7F35A}.Release|x64.ActiveCfg = Release|x64
+ {EBFE9719-A44B-4978-A71F-D5C254E7F35A}.Release|x64.Build.0 = Release|x64
+ {EBFE9719-A44B-4978-A71F-D5C254E7F35A}.Release|x86.ActiveCfg = Release|x86
+ {EBFE9719-A44B-4978-A71F-D5C254E7F35A}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
+ {0EF2ACDF-012F-4472-A13A-4272419E2903} = {D3273454-EA07-41D2-BF0B-FCC3675C2483}
{F510611A-3BEE-4B88-A613-5F4A74ED82A1} = {2D5D5227-4DBD-499A-96B1-76A36B03B750}
{37F3BFB2-6454-49E5-9D7F-581BF755CCFE} = {D3273454-EA07-41D2-BF0B-FCC3675C2483}
{2C3CB3DC-EEBF-4F52-9E1C-4F2F972E76C3} = {8A3D00B8-1CCF-4BE6-A060-11104CE2D9CE}
@@ -104,7 +178,7 @@ Global
{BD2D4D29-1BD9-40D0-BB31-337D5416B63C} = {327F7880-D9AF-46BD-B45C-3B7E34A01DFD}
{5F64B3C3-0C2E-431A-B820-A81BBFC863DA} = {2D5D5227-4DBD-499A-96B1-76A36B03B750}
{9559A5F1-080C-4909-B6CF-7E4B3DC55748} = {D3273454-EA07-41D2-BF0B-FCC3675C2483}
- {0EF2ACDF-012F-4472-A13A-4272419E2903} = {D3273454-EA07-41D2-BF0B-FCC3675C2483}
- {70567566-524C-4B67-9B59-E5C206D6C2EB} = {D3273454-EA07-41D2-BF0B-FCC3675C2483}
+ {EBFE9719-A44B-4978-A71F-D5C254E7F35A} = {D3273454-EA07-41D2-BF0B-FCC3675C2483}
+ {2822C132-BFFB-4D53-AC5B-E7E47DD81A6E} = {0EF2ACDF-012F-4472-A13A-4272419E2903}
EndGlobalSection
EndGlobal
diff --git a/NuGet.config b/NuGet.config
index 826a1f903..7e1d6d073 100644
--- a/NuGet.config
+++ b/NuGet.config
@@ -2,6 +2,8 @@
+
+
\ No newline at end of file
diff --git a/appveyor.yml b/appveyor.yml
index be95b88d6..7617e58a1 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -10,4 +10,5 @@ build_script:
- build.cmd --quiet verify
clone_depth: 1
test: off
-deploy: off
\ No newline at end of file
+deploy: off
+os: Visual Studio 2017 RC
\ No newline at end of file
diff --git a/build.ps1 b/build.ps1
index 8f2f99691..f780c43a8 100644
--- a/build.ps1
+++ b/build.ps1
@@ -1,6 +1,6 @@
$ErrorActionPreference = "Stop"
-function DownloadWithRetry([string] $url, [string] $downloadLocation, [int] $retries)
+function DownloadWithRetry([string] $url, [string] $downloadLocation, [int] $retries)
{
while($true)
{
@@ -19,7 +19,7 @@ function DownloadWithRetry([string] $url, [string] $downloadLocation, [int] $ret
Start-Sleep -Seconds 10
}
- else
+ else
{
$exception = $_.Exception
throw $exception
@@ -33,7 +33,7 @@ cd $PSScriptRoot
$repoFolder = $PSScriptRoot
$env:REPO_FOLDER = $repoFolder
-$koreBuildZip="https://github.com/aspnet/KoreBuild/archive/dev.zip"
+$koreBuildZip="https://github.com/aspnet/KoreBuild/archive/feature/msbuild.zip"
if ($env:KOREBUILD_ZIP)
{
$koreBuildZip=$env:KOREBUILD_ZIP
@@ -43,18 +43,18 @@ $buildFolder = ".build"
$buildFile="$buildFolder\KoreBuild.ps1"
if (!(Test-Path $buildFolder)) {
- Write-Host "Downloading KoreBuild from $koreBuildZip"
-
+ Write-Host "Downloading KoreBuild from $koreBuildZip"
+
$tempFolder=$env:TEMP + "\KoreBuild-" + [guid]::NewGuid()
New-Item -Path "$tempFolder" -Type directory | Out-Null
$localZipFile="$tempFolder\korebuild.zip"
-
+
DownloadWithRetry -url $koreBuildZip -downloadLocation $localZipFile -retries 6
Add-Type -AssemblyName System.IO.Compression.FileSystem
[System.IO.Compression.ZipFile]::ExtractToDirectory($localZipFile, $tempFolder)
-
+
New-Item -Path "$buildFolder" -Type directory | Out-Null
copy-item "$tempFolder\**\build\*" $buildFolder -Recurse
diff --git a/build.sh b/build.sh
index 4fd7ede78..ff7978919 100755
--- a/build.sh
+++ b/build.sh
@@ -2,7 +2,7 @@
repoFolder="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd $repoFolder
-koreBuildZip="https://github.com/aspnet/KoreBuild/archive/dev.zip"
+koreBuildZip="https://github.com/aspnet/KoreBuild/archive/feature/msbuild.zip"
if [ ! -z $KOREBUILD_ZIP ]; then
koreBuildZip=$KOREBUILD_ZIP
fi
@@ -12,12 +12,12 @@ buildFile="$buildFolder/KoreBuild.sh"
if test ! -d $buildFolder; then
echo "Downloading KoreBuild from $koreBuildZip"
-
- tempFolder="/tmp/KoreBuild-$(uuidgen)"
+
+ tempFolder="/tmp/KoreBuild-$(uuidgen)"
mkdir $tempFolder
-
+
localZipFile="$tempFolder/korebuild.zip"
-
+
retries=6
until (wget -O $localZipFile $koreBuildZip 2>/dev/null || curl -o $localZipFile --location $koreBuildZip 2>/dev/null)
do
@@ -29,17 +29,17 @@ if test ! -d $buildFolder; then
echo "Waiting 10 seconds before retrying. Retries left: $retries"
sleep 10s
done
-
+
unzip -q -d $tempFolder $localZipFile
-
+
mkdir $buildFolder
cp -r $tempFolder/**/build/** $buildFolder
-
+
chmod +x $buildFile
-
+
# Cleanup
if test -d $tempFolder; then
- rm -rf $tempFolder
+ rm -rf $tempFolder
fi
fi
diff --git a/tools/Key.snk b/build/Key.snk
similarity index 100%
rename from tools/Key.snk
rename to build/Key.snk
diff --git a/build/common.props b/build/common.props
new file mode 100644
index 000000000..9574eadb5
--- /dev/null
+++ b/build/common.props
@@ -0,0 +1,24 @@
+
+
+
+
+ Microsoft ASP.NET Core
+ https://github.com/aspnet/KestrelHttpServer
+ git
+ $(MSBuildThisFileDirectory)Key.snk
+ true
+ true
+ 1.2.0-*
+ 1.6.2-*
+ $(VersionSuffix)-$(BuildNumber)
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/global.json b/global.json
deleted file mode 100644
index 0ad1995dd..000000000
--- a/global.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "projects": [
- "src"
- ],
- "sdk": {
- "version": "1.0.0-preview2-1-003180"
- }
-}
\ No newline at end of file
diff --git a/makefile.shade b/makefile.shade
index afc4c24b2..58a82b5a0 100644
--- a/makefile.shade
+++ b/makefile.shade
@@ -1,6 +1,3 @@
-use namespace="System.Diagnostics"
-use namespace="System.IO"
-
var VERSION='0.1'
var FULL_VERSION='0.1'
var AUTHORS='Microsoft'
@@ -10,44 +7,4 @@ k-standard-goals
custom-goals
#initialize
- @{
- if (Directory.Exists("src"))
- {
- Exec("dotnet",
- commandline: "run -p ../../tools/Microsoft.AspNetCore.Server.Kestrel.GeneratedCode Internal/Http/FrameHeaders.Generated.cs Internal/Http/Frame.Generated.cs",
- workingdir: Path.Combine(Directory.GetCurrentDirectory(), "src/Microsoft.AspNetCore.Server.Kestrel"));
- }
-
- if (IsOSX())
- {
- var noParallelTestProjects = Environment.GetEnvironmentVariable("NO_PARALLEL_TEST_PROJECTS") ?? string.Empty;
- noParallelTestProjects += ",Microsoft.AspNetCore.Server.Kestrel.FunctionalTests";
- Environment.SetEnvironmentVariable("NO_PARALLEL_TEST_PROJECTS", noParallelTestProjects);
- }
- }
-
-functions @{
- bool IsOSX()
- {
- if (!IsLinux)
- {
- return false;
- }
-
- var processStartInfo = new ProcessStartInfo
- {
- FileName = "uname",
- RedirectStandardOutput = true,
- UseShellExecute = false
- };
- var output = string.Empty;
-
- using (var process = Process.Start(processStartInfo))
- {
- output = process.StandardOutput.ReadToEnd();
- process.WaitForExit();
- }
-
- return output.StartsWith("Darwin");
- }
-}
\ No newline at end of file
+ dotnet command='run -f netcoreapp1.1 -p tools/Microsoft.AspNetCore.Server.Kestrel.GeneratedCode/Microsoft.AspNetCore.Server.Kestrel.GeneratedCode.csproj src/Microsoft.AspNetCore.Server.Kestrel/Internal/Http/FrameHeaders.Generated.cs src/Microsoft.AspNetCore.Server.Kestrel/Internal/Http/Frame.Generated.cs'
\ No newline at end of file
diff --git a/samples/LargeResponseApp/LargeResponseApp.csproj b/samples/LargeResponseApp/LargeResponseApp.csproj
new file mode 100644
index 000000000..0149ac0ba
--- /dev/null
+++ b/samples/LargeResponseApp/LargeResponseApp.csproj
@@ -0,0 +1,16 @@
+
+
+
+
+
+ net451;netcoreapp1.1
+ Exe
+
+ win7-x64
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/samples/LargeResponseApp/LargeResponseApp.xproj b/samples/LargeResponseApp/LargeResponseApp.xproj
deleted file mode 100644
index 3f742acc0..000000000
--- a/samples/LargeResponseApp/LargeResponseApp.xproj
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
- 14.0
- $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
-
-
-
- b35d4d31-e74c-4646-8a11-7a7a40f0021e
- .\obj
- .\bin\
-
-
- 2.0
- 42216
-
-
-
\ No newline at end of file
diff --git a/samples/LargeResponseApp/project.json b/samples/LargeResponseApp/project.json
deleted file mode 100644
index a97b7a05b..000000000
--- a/samples/LargeResponseApp/project.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "version": "1.1.0-*",
- "dependencies": {
- "Microsoft.AspNetCore.Server.Kestrel": "1.2.0-*"
- },
- "buildOptions": {
- "emitEntryPoint": true
- },
- "frameworks": {
- "net451": {},
- "netcoreapp1.1": {
- "dependencies": {
- "Microsoft.NETCore.App": {
- "version": "1.2.0-*",
- "type": "platform"
- }
- }
- }
- },
- "publishOptions": {
- "include": [
- "hosting.json"
- ]
- },
- "runtimeOptions": {
- "configProperties": {
- "System.GC.Server": true
- }
- }
-}
\ No newline at end of file
diff --git a/samples/LargeResponseApp/runtimeconfig.template.json b/samples/LargeResponseApp/runtimeconfig.template.json
new file mode 100644
index 000000000..7305508a3
--- /dev/null
+++ b/samples/LargeResponseApp/runtimeconfig.template.json
@@ -0,0 +1,5 @@
+{
+ "configProperties": {
+ "System.GC.Server": true
+ }
+}
\ No newline at end of file
diff --git a/samples/SampleApp/SampleApp.csproj b/samples/SampleApp/SampleApp.csproj
new file mode 100644
index 000000000..e3feb7221
--- /dev/null
+++ b/samples/SampleApp/SampleApp.csproj
@@ -0,0 +1,24 @@
+
+
+
+
+
+ net451;netcoreapp1.1
+ Exe
+
+ win7-x64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/samples/SampleApp/SampleApp.xproj b/samples/SampleApp/SampleApp.xproj
deleted file mode 100644
index 7728a1cab..000000000
--- a/samples/SampleApp/SampleApp.xproj
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
- 14.0
- $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
-
-
-
- 2c3cb3dc-eebf-4f52-9e1c-4f2f972e76c3
- .\obj
- .\bin\
-
-
- 2.0
-
-
-
\ No newline at end of file
diff --git a/samples/SampleApp/project.json b/samples/SampleApp/project.json
deleted file mode 100644
index c7f940c21..000000000
--- a/samples/SampleApp/project.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
- "version": "1.1.0-*",
- "dependencies": {
- "Microsoft.AspNetCore.Server.Kestrel.Https": "1.2.0-*",
- "Microsoft.Extensions.Logging.Console": "1.2.0-*"
- },
- "buildOptions": {
- "emitEntryPoint": true
- },
- "frameworks": {
- "net451": {},
- "netcoreapp1.1": {
- "dependencies": {
- "Microsoft.NETCore.App": {
- "version": "1.2.0-*",
- "type": "platform"
- }
- }
- }
- },
- "publishOptions": {
- "include": [
- "hosting.json",
- "testCert.pfx"
- ]
- },
- "runtimeOptions": {
- "configProperties": {
- "System.GC.Server": true
- }
- }
-}
\ No newline at end of file
diff --git a/samples/SampleApp/runtimeconfig.template.json b/samples/SampleApp/runtimeconfig.template.json
new file mode 100644
index 000000000..7305508a3
--- /dev/null
+++ b/samples/SampleApp/runtimeconfig.template.json
@@ -0,0 +1,5 @@
+{
+ "configProperties": {
+ "System.GC.Server": true
+ }
+}
\ No newline at end of file
diff --git a/src/Microsoft.AspNetCore.Server.Kestrel.Https/Microsoft.AspNetCore.Server.Kestrel.Https.csproj b/src/Microsoft.AspNetCore.Server.Kestrel.Https/Microsoft.AspNetCore.Server.Kestrel.Https.csproj
new file mode 100644
index 000000000..95e5a0110
--- /dev/null
+++ b/src/Microsoft.AspNetCore.Server.Kestrel.Https/Microsoft.AspNetCore.Server.Kestrel.Https.csproj
@@ -0,0 +1,22 @@
+
+
+
+
+
+ HTTPS support for the ASP.NET Core Kestrel cross-platform web server.
+ net451;netstandard1.3
+ true
+ aspnetcore;kestrel
+ CS1591;$(NoWarn)
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Microsoft.AspNetCore.Server.Kestrel.Https/Microsoft.AspNetCore.Server.Kestrel.Https.xproj b/src/Microsoft.AspNetCore.Server.Kestrel.Https/Microsoft.AspNetCore.Server.Kestrel.Https.xproj
deleted file mode 100644
index fb3eb7078..000000000
--- a/src/Microsoft.AspNetCore.Server.Kestrel.Https/Microsoft.AspNetCore.Server.Kestrel.Https.xproj
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
- 14.0
- $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
-
-
-
- 5f64b3c3-0c2e-431a-b820-a81bbfc863da
- .\obj
- .\bin\
-
-
- 2.0
-
-
-
\ No newline at end of file
diff --git a/src/Microsoft.AspNetCore.Server.Kestrel.Https/Properties/AssemblyInfo.cs b/src/Microsoft.AspNetCore.Server.Kestrel.Https/Properties/AssemblyInfo.cs
deleted file mode 100644
index 76feceeff..000000000
--- a/src/Microsoft.AspNetCore.Server.Kestrel.Https/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-// 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.Reflection;
-using System.Resources;
-
-[assembly: AssemblyMetadata("Serviceable", "True")]
-[assembly: NeutralResourcesLanguage("en-us")]
-[assembly: AssemblyCompany("Microsoft Corporation.")]
-[assembly: AssemblyCopyright("© Microsoft Corporation. All rights reserved.")]
-[assembly: AssemblyProduct("Microsoft ASP.NET Core")]
diff --git a/src/Microsoft.AspNetCore.Server.Kestrel.Https/project.json b/src/Microsoft.AspNetCore.Server.Kestrel.Https/project.json
deleted file mode 100644
index 22529c301..000000000
--- a/src/Microsoft.AspNetCore.Server.Kestrel.Https/project.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
- "version": "1.2.0-*",
- "description": "HTTPS support for the ASP.NET Core Kestrel cross-platform web server.",
- "buildOptions": {
- "keyFile": "../../tools/Key.snk",
- "nowarn": [
- "CS1591"
- ],
- "warningsAsErrors": true,
- "xmlDoc": true
- },
- "packOptions": {
- "repository": {
- "type": "git",
- "url": "git://github.com/aspnet/kestrelhttpserver"
- },
- "tags": [
- "aspnetcore",
- "kestrel"
- ]
- },
- "dependencies": {
- "Microsoft.AspNetCore.Server.Kestrel": {
- "target": "project"
- },
- "Microsoft.Extensions.TaskCache.Sources": {
- "version": "1.2.0-*",
- "type": "build"
- },
- "NETStandard.Library": "1.6.2-*"
- },
- "frameworks": {
- "net451": {},
- "netstandard1.3": {
- "dependencies": {
- "System.Net.Security": "4.4.0-*"
- }
- }
- }
-}
\ No newline at end of file
diff --git a/src/Microsoft.AspNetCore.Server.Kestrel/Microsoft.AspNetCore.Server.Kestrel.csproj b/src/Microsoft.AspNetCore.Server.Kestrel/Microsoft.AspNetCore.Server.Kestrel.csproj
new file mode 100644
index 000000000..bca637d90
--- /dev/null
+++ b/src/Microsoft.AspNetCore.Server.Kestrel/Microsoft.AspNetCore.Server.Kestrel.csproj
@@ -0,0 +1,29 @@
+
+
+
+
+
+ ASP.NET Core Kestrel cross-platform web server.
+ net451;netstandard1.3
+ true
+ aspnetcore;kestrel
+ true
+ CS1591;$(NoWarn)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Microsoft.AspNetCore.Server.Kestrel/Microsoft.AspNetCore.Server.Kestrel.xproj b/src/Microsoft.AspNetCore.Server.Kestrel/Microsoft.AspNetCore.Server.Kestrel.xproj
deleted file mode 100644
index 1e2963de0..000000000
--- a/src/Microsoft.AspNetCore.Server.Kestrel/Microsoft.AspNetCore.Server.Kestrel.xproj
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
- 14.0
- $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
-
-
-
- f510611a-3bee-4b88-a613-5f4a74ed82a1
- .\obj
- .\bin\
-
-
- 2.0
-
-
-
\ No newline at end of file
diff --git a/src/Microsoft.AspNetCore.Server.Kestrel/Properties/AssemblyInfo.cs b/src/Microsoft.AspNetCore.Server.Kestrel/Properties/AssemblyInfo.cs
index 86b8eff60..a171d27c0 100644
--- a/src/Microsoft.AspNetCore.Server.Kestrel/Properties/AssemblyInfo.cs
+++ b/src/Microsoft.AspNetCore.Server.Kestrel/Properties/AssemblyInfo.cs
@@ -8,8 +8,3 @@
[assembly: InternalsVisibleTo("Microsoft.AspNetCore.Server.Kestrel.FunctionalTests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
[assembly: InternalsVisibleTo("Microsoft.AspNetCore.Server.KestrelTests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
[assembly: InternalsVisibleTo("Microsoft.AspNetCore.Server.Kestrel.Performance, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
-[assembly: AssemblyMetadata("Serviceable", "True")]
-[assembly: NeutralResourcesLanguage("en-us")]
-[assembly: AssemblyCompany("Microsoft Corporation.")]
-[assembly: AssemblyCopyright("© Microsoft Corporation. All rights reserved.")]
-[assembly: AssemblyProduct("Microsoft ASP.NET Core")]
diff --git a/src/Microsoft.AspNetCore.Server.Kestrel/project.json b/src/Microsoft.AspNetCore.Server.Kestrel/project.json
deleted file mode 100644
index fc40afeee..000000000
--- a/src/Microsoft.AspNetCore.Server.Kestrel/project.json
+++ /dev/null
@@ -1,55 +0,0 @@
-{
- "version": "1.2.0-*",
- "description": "ASP.NET Core Kestrel cross-platform web server.",
- "packOptions": {
- "repository": {
- "type": "git",
- "url": "git://github.com/aspnet/kestrelhttpserver"
- },
- "tags": [
- "aspnetcore",
- "kestrel"
- ]
- },
- "dependencies": {
- "Libuv": "1.10.0-*",
- "Microsoft.AspNetCore.Hosting": "1.2.0-*",
- "Microsoft.Extensions.Logging.Abstractions": "1.2.0-*",
- "Microsoft.Extensions.TaskCache.Sources": {
- "version": "1.2.0-*",
- "type": "build"
- },
- "NETStandard.Library": "1.6.2-*",
- "System.Buffers": "4.4.0-*",
- "System.Numerics.Vectors": "4.4.0-*",
- "System.Threading.Tasks.Extensions": "4.4.0-*"
- },
- "frameworks": {
- "net451": {
- "frameworkAssemblies": {
- "System.Runtime": {
- "type": "build"
- },
- "System.Threading.Tasks": {
- "type": "build"
- }
- }
- },
- "netstandard1.3": {
- "dependencies": {
- "System.Diagnostics.Process": "4.4.0-*",
- "System.Threading.Thread": "4.4.0-*",
- "System.Threading.ThreadPool": "4.4.0-*"
- }
- }
- },
- "buildOptions": {
- "allowUnsafe": true,
- "warningsAsErrors": true,
- "keyFile": "../../tools/Key.snk",
- "nowarn": [
- "CS1591"
- ],
- "xmlDoc": true
- }
-}
\ No newline at end of file
diff --git a/test/Microsoft.AspNetCore.Server.Kestrel.FunctionalTests/AddressRegistrationTests.cs b/test/Microsoft.AspNetCore.Server.Kestrel.FunctionalTests/AddressRegistrationTests.cs
index 0357f6ab4..2abb129b5 100644
--- a/test/Microsoft.AspNetCore.Server.Kestrel.FunctionalTests/AddressRegistrationTests.cs
+++ b/test/Microsoft.AspNetCore.Server.Kestrel.FunctionalTests/AddressRegistrationTests.cs
@@ -106,7 +106,7 @@ private async Task RegisterIPEndPoint_Success(IPEndPoint endPoint, Func
{
- listenOptions.UseHttps("TestResources/testCert.pfx", "testPassword");
+ listenOptions.UseHttps(TestResources.TestCertificatePath, "testPassword");
});
})
.UseLoggerFactory(loggerFactory)
@@ -65,7 +65,7 @@ public async Task ClientHandshakeFailureLoggedAsInformation()
{
options.Listen(new IPEndPoint(IPAddress.Loopback, 0), listenOptions =>
{
- listenOptions.UseHttps("TestResources/testCert.pfx", "testPassword");
+ listenOptions.UseHttps(TestResources.TestCertificatePath, "testPassword");
});
})
.UseLoggerFactory(loggerFactory)
@@ -94,14 +94,14 @@ public async Task ClientHandshakeFailureLoggedAsInformation()
[Fact]
public async Task DoesNotThrowObjectDisposedExceptionOnConnectionAbort()
{
- var x509Certificate2 = new X509Certificate2("TestResources/testCert.pfx", "testPassword");
+ var x509Certificate2 = new X509Certificate2(TestResources.TestCertificatePath, "testPassword");
var loggerFactory = new HandshakeErrorLoggerFactory();
var hostBuilder = new WebHostBuilder()
.UseKestrel(options =>
{
options.Listen(new IPEndPoint(IPAddress.Loopback, 0), listenOptions =>
{
- listenOptions.UseHttps("TestResources/testCert.pfx", "testPassword");
+ listenOptions.UseHttps(TestResources.TestCertificatePath, "testPassword");
});
})
.UseLoggerFactory(loggerFactory)
@@ -147,14 +147,14 @@ await sslStream.AuthenticateAsClientAsync("127.0.0.1", clientCertificates: null,
public async Task DoesNotThrowObjectDisposedExceptionFromWriteAsyncAfterConnectionIsAborted()
{
var tcs = new TaskCompletionSource