diff --git a/eng/ProjectReferences.props b/eng/ProjectReferences.props
index 9bdbb3ec7b..d1d79ea73f 100644
--- a/eng/ProjectReferences.props
+++ b/eng/ProjectReferences.props
@@ -8,11 +8,11 @@
+
+
+
-
-
-
-
+
diff --git a/src/Mvc/Mvc.sln b/src/Mvc/Mvc.sln
index 930dd5e685..e848546fbb 100644
--- a/src/Mvc/Mvc.sln
+++ b/src/Mvc/Mvc.sln
@@ -81,12 +81,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mvc.Api.Analyzers.Test", "M
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc.Api.Analyzers", "Mvc.Api.Analyzers\src\Microsoft.AspNetCore.Mvc.Api.Analyzers.csproj", "{3B550487-10E4-4E6D-9CEF-B1B4CA1253DA}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dotnet-getdocument", "dotnet-getdocument\src\dotnet-getdocument.csproj", "{4EDC489F-3EC5-4AE3-9841-A285F40F5FF6}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GetDocumentInsider", "GetDocumentInsider\src\GetDocumentInsider.csproj", "{2F683CF8-B055-46AE-BF83-9D1307F8D45F}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Extensions.ApiDescription.Client", "Extensions.ApiDescription.Client\src\Microsoft.Extensions.ApiDescription.Client.csproj", "{34E3C302-B767-40C8-B538-3EE2BD4000C4}"
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "_dependencies", "_dependencies", "{5FE3048A-E96B-44F8-A7C4-FC590D7E04B4}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Html.Abstractions", "..\Html\Abstractions\src\Microsoft.AspNetCore.Html.Abstractions.csproj", "{0930C2EA-FA36-4EDF-A571-215765D1F2C7}"
@@ -275,8 +269,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Mvc.Analyzers", "Mvc.Analyz
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Mvc.Api.Analyzers", "Mvc.Api.Analyzers", "{49887FD5-2E52-4567-929E-9151DC88E4D4}"
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Extensions.ApiDescription.Client", "Extensions.ApiDescription.Client", "{62CF82C1-B75D-4041-A7E9-EF39FF7B885F}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc.Core.TestCommon", "shared\Mvc.Core.TestCommon\Microsoft.AspNetCore.Mvc.Core.TestCommon.csproj", "{2906BF70-82BE-4427-870A-E87281D01008}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Mvc.NewtonsoftJson", "Mvc.NewtonsoftJson", "{25C08DED-1C7D-4C6D-B1CC-F340C1B21DE7}"
@@ -315,10 +307,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RazorBuildWebSite.Precompil
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.SignalR.Protocols.Json", "..\SignalR\common\Protocols.Json\src\Microsoft.AspNetCore.SignalR.Protocols.Json.csproj", "{637119E8-5BBB-4FC7-A372-DAF38FF5EBD9}"
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Extensions.ApiDescription.Server", "Extensions.ApiDescription.Server", "{C15AA245-9E54-4FD6-90FF-B46F47779C46}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Extensions.ApiDescription.Server", "Extensions.ApiDescription.Server\src\Microsoft.Extensions.ApiDescription.Server.csproj", "{D7CF2A1E-A29E-45AB-9C2A-CD6C3BAE54F2}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Metadata", "..\Http\Metadata\src\Microsoft.AspNetCore.Metadata.csproj", "{464195B3-022A-4D19-9104-8C66CC882D67}"
EndProject
Global
@@ -649,42 +637,6 @@ Global
{3B550487-10E4-4E6D-9CEF-B1B4CA1253DA}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{3B550487-10E4-4E6D-9CEF-B1B4CA1253DA}.Release|x86.ActiveCfg = Release|Any CPU
{3B550487-10E4-4E6D-9CEF-B1B4CA1253DA}.Release|x86.Build.0 = Release|Any CPU
- {4EDC489F-3EC5-4AE3-9841-A285F40F5FF6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {4EDC489F-3EC5-4AE3-9841-A285F40F5FF6}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {4EDC489F-3EC5-4AE3-9841-A285F40F5FF6}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {4EDC489F-3EC5-4AE3-9841-A285F40F5FF6}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {4EDC489F-3EC5-4AE3-9841-A285F40F5FF6}.Debug|x86.ActiveCfg = Debug|Any CPU
- {4EDC489F-3EC5-4AE3-9841-A285F40F5FF6}.Debug|x86.Build.0 = Debug|Any CPU
- {4EDC489F-3EC5-4AE3-9841-A285F40F5FF6}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {4EDC489F-3EC5-4AE3-9841-A285F40F5FF6}.Release|Any CPU.Build.0 = Release|Any CPU
- {4EDC489F-3EC5-4AE3-9841-A285F40F5FF6}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {4EDC489F-3EC5-4AE3-9841-A285F40F5FF6}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {4EDC489F-3EC5-4AE3-9841-A285F40F5FF6}.Release|x86.ActiveCfg = Release|Any CPU
- {4EDC489F-3EC5-4AE3-9841-A285F40F5FF6}.Release|x86.Build.0 = Release|Any CPU
- {2F683CF8-B055-46AE-BF83-9D1307F8D45F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {2F683CF8-B055-46AE-BF83-9D1307F8D45F}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {2F683CF8-B055-46AE-BF83-9D1307F8D45F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {2F683CF8-B055-46AE-BF83-9D1307F8D45F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {2F683CF8-B055-46AE-BF83-9D1307F8D45F}.Debug|x86.ActiveCfg = Debug|Any CPU
- {2F683CF8-B055-46AE-BF83-9D1307F8D45F}.Debug|x86.Build.0 = Debug|Any CPU
- {2F683CF8-B055-46AE-BF83-9D1307F8D45F}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {2F683CF8-B055-46AE-BF83-9D1307F8D45F}.Release|Any CPU.Build.0 = Release|Any CPU
- {2F683CF8-B055-46AE-BF83-9D1307F8D45F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {2F683CF8-B055-46AE-BF83-9D1307F8D45F}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {2F683CF8-B055-46AE-BF83-9D1307F8D45F}.Release|x86.ActiveCfg = Release|Any CPU
- {2F683CF8-B055-46AE-BF83-9D1307F8D45F}.Release|x86.Build.0 = Release|Any CPU
- {34E3C302-B767-40C8-B538-3EE2BD4000C4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {34E3C302-B767-40C8-B538-3EE2BD4000C4}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {34E3C302-B767-40C8-B538-3EE2BD4000C4}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {34E3C302-B767-40C8-B538-3EE2BD4000C4}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {34E3C302-B767-40C8-B538-3EE2BD4000C4}.Debug|x86.ActiveCfg = Debug|Any CPU
- {34E3C302-B767-40C8-B538-3EE2BD4000C4}.Debug|x86.Build.0 = Debug|Any CPU
- {34E3C302-B767-40C8-B538-3EE2BD4000C4}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {34E3C302-B767-40C8-B538-3EE2BD4000C4}.Release|Any CPU.Build.0 = Release|Any CPU
- {34E3C302-B767-40C8-B538-3EE2BD4000C4}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {34E3C302-B767-40C8-B538-3EE2BD4000C4}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {34E3C302-B767-40C8-B538-3EE2BD4000C4}.Release|x86.ActiveCfg = Release|Any CPU
- {34E3C302-B767-40C8-B538-3EE2BD4000C4}.Release|x86.Build.0 = Release|Any CPU
{0930C2EA-FA36-4EDF-A571-215765D1F2C7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0930C2EA-FA36-4EDF-A571-215765D1F2C7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0930C2EA-FA36-4EDF-A571-215765D1F2C7}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
@@ -1789,30 +1741,6 @@ Global
{A8C3066F-E80D-4E03-9962-741B551B8FBC}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{A8C3066F-E80D-4E03-9962-741B551B8FBC}.Release|x86.ActiveCfg = Release|Any CPU
{A8C3066F-E80D-4E03-9962-741B551B8FBC}.Release|x86.Build.0 = Release|Any CPU
- {6D6489E5-48BD-4F9B-9EEE-22AEEA1E1890}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {6D6489E5-48BD-4F9B-9EEE-22AEEA1E1890}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {6D6489E5-48BD-4F9B-9EEE-22AEEA1E1890}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {6D6489E5-48BD-4F9B-9EEE-22AEEA1E1890}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {6D6489E5-48BD-4F9B-9EEE-22AEEA1E1890}.Debug|x86.ActiveCfg = Debug|Any CPU
- {6D6489E5-48BD-4F9B-9EEE-22AEEA1E1890}.Debug|x86.Build.0 = Debug|Any CPU
- {6D6489E5-48BD-4F9B-9EEE-22AEEA1E1890}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {6D6489E5-48BD-4F9B-9EEE-22AEEA1E1890}.Release|Any CPU.Build.0 = Release|Any CPU
- {6D6489E5-48BD-4F9B-9EEE-22AEEA1E1890}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {6D6489E5-48BD-4F9B-9EEE-22AEEA1E1890}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {6D6489E5-48BD-4F9B-9EEE-22AEEA1E1890}.Release|x86.ActiveCfg = Release|Any CPU
- {6D6489E5-48BD-4F9B-9EEE-22AEEA1E1890}.Release|x86.Build.0 = Release|Any CPU
- {C6F3BCE6-1EFD-4360-932B-B98573E78926}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C6F3BCE6-1EFD-4360-932B-B98573E78926}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {C6F3BCE6-1EFD-4360-932B-B98573E78926}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {C6F3BCE6-1EFD-4360-932B-B98573E78926}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {C6F3BCE6-1EFD-4360-932B-B98573E78926}.Debug|x86.ActiveCfg = Debug|Any CPU
- {C6F3BCE6-1EFD-4360-932B-B98573E78926}.Debug|x86.Build.0 = Debug|Any CPU
- {C6F3BCE6-1EFD-4360-932B-B98573E78926}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {C6F3BCE6-1EFD-4360-932B-B98573E78926}.Release|Any CPU.Build.0 = Release|Any CPU
- {C6F3BCE6-1EFD-4360-932B-B98573E78926}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {C6F3BCE6-1EFD-4360-932B-B98573E78926}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {C6F3BCE6-1EFD-4360-932B-B98573E78926}.Release|x86.ActiveCfg = Release|Any CPU
- {C6F3BCE6-1EFD-4360-932B-B98573E78926}.Release|x86.Build.0 = Release|Any CPU
{637119E8-5BBB-4FC7-A372-DAF38FF5EBD9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{637119E8-5BBB-4FC7-A372-DAF38FF5EBD9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{637119E8-5BBB-4FC7-A372-DAF38FF5EBD9}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
@@ -1825,18 +1753,6 @@ Global
{637119E8-5BBB-4FC7-A372-DAF38FF5EBD9}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{637119E8-5BBB-4FC7-A372-DAF38FF5EBD9}.Release|x86.ActiveCfg = Release|Any CPU
{637119E8-5BBB-4FC7-A372-DAF38FF5EBD9}.Release|x86.Build.0 = Release|Any CPU
- {D7CF2A1E-A29E-45AB-9C2A-CD6C3BAE54F2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {D7CF2A1E-A29E-45AB-9C2A-CD6C3BAE54F2}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {D7CF2A1E-A29E-45AB-9C2A-CD6C3BAE54F2}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
- {D7CF2A1E-A29E-45AB-9C2A-CD6C3BAE54F2}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
- {D7CF2A1E-A29E-45AB-9C2A-CD6C3BAE54F2}.Debug|x86.ActiveCfg = Debug|Any CPU
- {D7CF2A1E-A29E-45AB-9C2A-CD6C3BAE54F2}.Debug|x86.Build.0 = Debug|Any CPU
- {D7CF2A1E-A29E-45AB-9C2A-CD6C3BAE54F2}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {D7CF2A1E-A29E-45AB-9C2A-CD6C3BAE54F2}.Release|Any CPU.Build.0 = Release|Any CPU
- {D7CF2A1E-A29E-45AB-9C2A-CD6C3BAE54F2}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
- {D7CF2A1E-A29E-45AB-9C2A-CD6C3BAE54F2}.Release|Mixed Platforms.Build.0 = Release|Any CPU
- {D7CF2A1E-A29E-45AB-9C2A-CD6C3BAE54F2}.Release|x86.ActiveCfg = Release|Any CPU
- {D7CF2A1E-A29E-45AB-9C2A-CD6C3BAE54F2}.Release|x86.Build.0 = Release|Any CPU
{464195B3-022A-4D19-9104-8C66CC882D67}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{464195B3-022A-4D19-9104-8C66CC882D67}.Debug|Any CPU.Build.0 = Debug|Any CPU
{464195B3-022A-4D19-9104-8C66CC882D67}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
@@ -1883,7 +1799,6 @@ Global
{51E3E785-A9D1-4196-BAFE-A17FF4304B89} = {75A3249D-E8DB-42F1-9B4E-1DCC662856A0}
{DD7B9F20-354C-4D9E-8C8A-8AE6E7595A87} = {49887FD5-2E52-4567-929E-9151DC88E4D4}
{3B550487-10E4-4E6D-9CEF-B1B4CA1253DA} = {49887FD5-2E52-4567-929E-9151DC88E4D4}
- {34E3C302-B767-40C8-B538-3EE2BD4000C4} = {62CF82C1-B75D-4041-A7E9-EF39FF7B885F}
{0930C2EA-FA36-4EDF-A571-215765D1F2C7} = {5FE3048A-E96B-44F8-A7C4-FC590D7E04B4}
{A273BAAB-DA92-401D-B781-ADA9E3B7717C} = {5FE3048A-E96B-44F8-A7C4-FC590D7E04B4}
{E07B7D3A-1D4D-4644-84C2-06FEDB64885B} = {5FE3048A-E96B-44F8-A7C4-FC590D7E04B4}
@@ -1976,10 +1891,7 @@ Global
{F85D8F0C-2300-4021-B5C4-A245D94FF419} = {5FE3048A-E96B-44F8-A7C4-FC590D7E04B4}
{F99CAC82-C96E-41F4-AA28-1BBBD09C447A} = {5FE3048A-E96B-44F8-A7C4-FC590D7E04B4}
{A8C3066F-E80D-4E03-9962-741B551B8FBC} = {16703B76-C9F7-4C75-AE6C-53D92E308E3C}
- {6D6489E5-48BD-4F9B-9EEE-22AEEA1E1890} = {45CE788D-4B69-4F83-981C-F43D8F15B0F1}
- {C6F3BCE6-1EFD-4360-932B-B98573E78926} = {45CE788D-4B69-4F83-981C-F43D8F15B0F1}
{637119E8-5BBB-4FC7-A372-DAF38FF5EBD9} = {5FE3048A-E96B-44F8-A7C4-FC590D7E04B4}
- {D7CF2A1E-A29E-45AB-9C2A-CD6C3BAE54F2} = {C15AA245-9E54-4FD6-90FF-B46F47779C46}
{464195B3-022A-4D19-9104-8C66CC882D67} = {5FE3048A-E96B-44F8-A7C4-FC590D7E04B4}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
diff --git a/src/Mvc/MvcNoDeps.slnf b/src/Mvc/MvcNoDeps.slnf
index f7496a4dc1..81504646da 100644
--- a/src/Mvc/MvcNoDeps.slnf
+++ b/src/Mvc/MvcNoDeps.slnf
@@ -2,9 +2,6 @@
"solution": {
"path": "Mvc.sln",
"projects": [
- "Extensions.ApiDescription.Client\\src\\Microsoft.Extensions.ApiDescription.Client.csproj",
- "Extensions.ApiDescription.Server\\src\\Microsoft.Extensions.ApiDescription.Server.csproj",
- "GetDocumentInsider\\src\\GetDocumentInsider.csproj",
"Mvc.Abstractions\\src\\Microsoft.AspNetCore.Mvc.Abstractions.csproj",
"Mvc.Abstractions\\test\\Microsoft.AspNetCore.Mvc.Abstractions.Test.csproj",
"Mvc.Analyzers\\src\\Microsoft.AspNetCore.Mvc.Analyzers.csproj",
@@ -40,7 +37,6 @@
"Mvc\\src\\Microsoft.AspNetCore.Mvc.csproj",
"Mvc\\test\\Microsoft.AspNetCore.Mvc.Test.csproj",
"benchmarks\\Microsoft.AspNetCore.Mvc.Performance\\Microsoft.AspNetCore.Mvc.Performance.csproj",
- "dotnet-getdocument\\src\\dotnet-getdocument.csproj",
"samples\\MvcSandbox\\MvcSandbox.csproj",
"shared\\Mvc.Core.TestCommon\\Microsoft.AspNetCore.Mvc.Core.TestCommon.csproj",
"shared\\Mvc.TestDiagnosticListener\\Microsoft.AspNetCore.Mvc.TestDiagnosticListener.csproj",
diff --git a/src/Tools/Extensions.ApiDescription.Client/README.md b/src/Tools/Extensions.ApiDescription.Client/README.md
new file mode 100644
index 0000000000..d268f30e3e
--- /dev/null
+++ b/src/Tools/Extensions.ApiDescription.Client/README.md
@@ -0,0 +1,7 @@
+# Microsoft.Extensions.ApiDescription.Client
+
+MSBuild glue for OpenAPI code generation.
+
+## How To Use
+
+See partner packages such as [NSwag.ApiDescription.Client](https://www.nuget.org/packages/NSwag.ApiDescription.Client/) for intended use.
diff --git a/src/Mvc/Extensions.ApiDescription.Client/src/CSharpIdentifier.cs b/src/Tools/Extensions.ApiDescription.Client/src/CSharpIdentifier.cs
similarity index 100%
rename from src/Mvc/Extensions.ApiDescription.Client/src/CSharpIdentifier.cs
rename to src/Tools/Extensions.ApiDescription.Client/src/CSharpIdentifier.cs
diff --git a/src/Mvc/Extensions.ApiDescription.Client/src/GetCurrentItems.cs b/src/Tools/Extensions.ApiDescription.Client/src/GetCurrentItems.cs
similarity index 100%
rename from src/Mvc/Extensions.ApiDescription.Client/src/GetCurrentItems.cs
rename to src/Tools/Extensions.ApiDescription.Client/src/GetCurrentItems.cs
diff --git a/src/Mvc/Extensions.ApiDescription.Client/src/GetFileReferenceMetadata.cs b/src/Tools/Extensions.ApiDescription.Client/src/GetFileReferenceMetadata.cs
similarity index 100%
rename from src/Mvc/Extensions.ApiDescription.Client/src/GetFileReferenceMetadata.cs
rename to src/Tools/Extensions.ApiDescription.Client/src/GetFileReferenceMetadata.cs
diff --git a/src/Mvc/Extensions.ApiDescription.Client/src/MetadataSerializer.cs b/src/Tools/Extensions.ApiDescription.Client/src/MetadataSerializer.cs
similarity index 100%
rename from src/Mvc/Extensions.ApiDescription.Client/src/MetadataSerializer.cs
rename to src/Tools/Extensions.ApiDescription.Client/src/MetadataSerializer.cs
diff --git a/src/Mvc/Extensions.ApiDescription.Client/src/Microsoft.Extensions.ApiDescription.Client.csproj b/src/Tools/Extensions.ApiDescription.Client/src/Microsoft.Extensions.ApiDescription.Client.csproj
similarity index 100%
rename from src/Mvc/Extensions.ApiDescription.Client/src/Microsoft.Extensions.ApiDescription.Client.csproj
rename to src/Tools/Extensions.ApiDescription.Client/src/Microsoft.Extensions.ApiDescription.Client.csproj
diff --git a/src/Mvc/Extensions.ApiDescription.Client/src/Microsoft.Extensions.ApiDescription.Client.nuspec b/src/Tools/Extensions.ApiDescription.Client/src/Microsoft.Extensions.ApiDescription.Client.nuspec
similarity index 100%
rename from src/Mvc/Extensions.ApiDescription.Client/src/Microsoft.Extensions.ApiDescription.Client.nuspec
rename to src/Tools/Extensions.ApiDescription.Client/src/Microsoft.Extensions.ApiDescription.Client.nuspec
diff --git a/src/Mvc/Extensions.ApiDescription.Client/src/Resources.resx b/src/Tools/Extensions.ApiDescription.Client/src/Resources.resx
similarity index 100%
rename from src/Mvc/Extensions.ApiDescription.Client/src/Resources.resx
rename to src/Tools/Extensions.ApiDescription.Client/src/Resources.resx
diff --git a/src/Mvc/Extensions.ApiDescription.Client/src/build/Microsoft.Extensions.ApiDescription.Client.props b/src/Tools/Extensions.ApiDescription.Client/src/build/Microsoft.Extensions.ApiDescription.Client.props
similarity index 100%
rename from src/Mvc/Extensions.ApiDescription.Client/src/build/Microsoft.Extensions.ApiDescription.Client.props
rename to src/Tools/Extensions.ApiDescription.Client/src/build/Microsoft.Extensions.ApiDescription.Client.props
diff --git a/src/Mvc/Extensions.ApiDescription.Client/src/build/Microsoft.Extensions.ApiDescription.Client.targets b/src/Tools/Extensions.ApiDescription.Client/src/build/Microsoft.Extensions.ApiDescription.Client.targets
similarity index 100%
rename from src/Mvc/Extensions.ApiDescription.Client/src/build/Microsoft.Extensions.ApiDescription.Client.targets
rename to src/Tools/Extensions.ApiDescription.Client/src/build/Microsoft.Extensions.ApiDescription.Client.targets
diff --git a/src/Mvc/Extensions.ApiDescription.Client/src/build/OpenApiItemsSchema.xaml b/src/Tools/Extensions.ApiDescription.Client/src/build/OpenApiItemsSchema.xaml
similarity index 100%
rename from src/Mvc/Extensions.ApiDescription.Client/src/build/OpenApiItemsSchema.xaml
rename to src/Tools/Extensions.ApiDescription.Client/src/build/OpenApiItemsSchema.xaml
diff --git a/src/Mvc/Extensions.ApiDescription.Client/src/buildMultiTargeting/Microsoft.Extensions.ApiDescription.Client.props b/src/Tools/Extensions.ApiDescription.Client/src/buildMultiTargeting/Microsoft.Extensions.ApiDescription.Client.props
similarity index 100%
rename from src/Mvc/Extensions.ApiDescription.Client/src/buildMultiTargeting/Microsoft.Extensions.ApiDescription.Client.props
rename to src/Tools/Extensions.ApiDescription.Client/src/buildMultiTargeting/Microsoft.Extensions.ApiDescription.Client.props
diff --git a/src/Mvc/Extensions.ApiDescription.Client/src/buildMultiTargeting/Microsoft.Extensions.ApiDescription.Client.targets b/src/Tools/Extensions.ApiDescription.Client/src/buildMultiTargeting/Microsoft.Extensions.ApiDescription.Client.targets
similarity index 100%
rename from src/Mvc/Extensions.ApiDescription.Client/src/buildMultiTargeting/Microsoft.Extensions.ApiDescription.Client.targets
rename to src/Tools/Extensions.ApiDescription.Client/src/buildMultiTargeting/Microsoft.Extensions.ApiDescription.Client.targets
diff --git a/src/Tools/Extensions.ApiDescription.Server/README.md b/src/Tools/Extensions.ApiDescription.Server/README.md
new file mode 100644
index 0000000000..0b6c56f287
--- /dev/null
+++ b/src/Tools/Extensions.ApiDescription.Server/README.md
@@ -0,0 +1,8 @@
+# Microsoft.Extensions.ApiDescription.Client
+
+MSBuild glue for OpenAPI document generation.
+
+## How To Use
+
+See partner packages such as [NSwag.AspNetCore](https://www.nuget.org/packages/NSwag.AspNetCore/) or
+[Swashbuckle.AspNetCore](https://www.nuget.org/packages/Swashbuckle.AspNetCore/) for intended use.
diff --git a/src/Mvc/Extensions.ApiDescription.Server/src/Microsoft.Extensions.ApiDescription.Server.csproj b/src/Tools/Extensions.ApiDescription.Server/src/Microsoft.Extensions.ApiDescription.Server.csproj
similarity index 100%
rename from src/Mvc/Extensions.ApiDescription.Server/src/Microsoft.Extensions.ApiDescription.Server.csproj
rename to src/Tools/Extensions.ApiDescription.Server/src/Microsoft.Extensions.ApiDescription.Server.csproj
diff --git a/src/Mvc/Extensions.ApiDescription.Server/src/Microsoft.Extensions.ApiDescription.Server.nuspec b/src/Tools/Extensions.ApiDescription.Server/src/Microsoft.Extensions.ApiDescription.Server.nuspec
similarity index 100%
rename from src/Mvc/Extensions.ApiDescription.Server/src/Microsoft.Extensions.ApiDescription.Server.nuspec
rename to src/Tools/Extensions.ApiDescription.Server/src/Microsoft.Extensions.ApiDescription.Server.nuspec
diff --git a/src/Mvc/Extensions.ApiDescription.Server/src/build/Microsoft.Extensions.ApiDescription.Server.props b/src/Tools/Extensions.ApiDescription.Server/src/build/Microsoft.Extensions.ApiDescription.Server.props
similarity index 100%
rename from src/Mvc/Extensions.ApiDescription.Server/src/build/Microsoft.Extensions.ApiDescription.Server.props
rename to src/Tools/Extensions.ApiDescription.Server/src/build/Microsoft.Extensions.ApiDescription.Server.props
diff --git a/src/Mvc/Extensions.ApiDescription.Server/src/build/Microsoft.Extensions.ApiDescription.Server.targets b/src/Tools/Extensions.ApiDescription.Server/src/build/Microsoft.Extensions.ApiDescription.Server.targets
similarity index 100%
rename from src/Mvc/Extensions.ApiDescription.Server/src/build/Microsoft.Extensions.ApiDescription.Server.targets
rename to src/Tools/Extensions.ApiDescription.Server/src/build/Microsoft.Extensions.ApiDescription.Server.targets
diff --git a/src/Mvc/Extensions.ApiDescription.Server/src/buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.props b/src/Tools/Extensions.ApiDescription.Server/src/buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.props
similarity index 100%
rename from src/Mvc/Extensions.ApiDescription.Server/src/buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.props
rename to src/Tools/Extensions.ApiDescription.Server/src/buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.props
diff --git a/src/Mvc/Extensions.ApiDescription.Server/src/buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.targets b/src/Tools/Extensions.ApiDescription.Server/src/buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.targets
similarity index 100%
rename from src/Mvc/Extensions.ApiDescription.Server/src/buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.targets
rename to src/Tools/Extensions.ApiDescription.Server/src/buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.targets
diff --git a/src/Tools/GetDocumentInsider/README.md b/src/Tools/GetDocumentInsider/README.md
new file mode 100644
index 0000000000..a1dcada4ed
--- /dev/null
+++ b/src/Tools/GetDocumentInsider/README.md
@@ -0,0 +1,7 @@
+# GetDocument.Insider
+
+`GetDocument.Insider` is a command line tool invoked in `dotnet-getdocument` to generate OpenAPI documents.
+
+## How To Use
+
+Run `dotnet ".../GetDocument.Insider.dll" --help` for more information about usage.
diff --git a/src/Mvc/GetDocumentInsider/src/AnsiConsole.cs b/src/Tools/GetDocumentInsider/src/AnsiConsole.cs
similarity index 100%
rename from src/Mvc/GetDocumentInsider/src/AnsiConsole.cs
rename to src/Tools/GetDocumentInsider/src/AnsiConsole.cs
diff --git a/src/Mvc/GetDocumentInsider/src/AnsiConstants.cs b/src/Tools/GetDocumentInsider/src/AnsiConstants.cs
similarity index 100%
rename from src/Mvc/GetDocumentInsider/src/AnsiConstants.cs
rename to src/Tools/GetDocumentInsider/src/AnsiConstants.cs
diff --git a/src/Mvc/GetDocumentInsider/src/AnsiTextWriter.cs b/src/Tools/GetDocumentInsider/src/AnsiTextWriter.cs
similarity index 100%
rename from src/Mvc/GetDocumentInsider/src/AnsiTextWriter.cs
rename to src/Tools/GetDocumentInsider/src/AnsiTextWriter.cs
diff --git a/src/Mvc/GetDocumentInsider/src/CommandException.cs b/src/Tools/GetDocumentInsider/src/CommandException.cs
similarity index 100%
rename from src/Mvc/GetDocumentInsider/src/CommandException.cs
rename to src/Tools/GetDocumentInsider/src/CommandException.cs
diff --git a/src/Mvc/GetDocumentInsider/src/CommandLineUtils/CommandArgument.cs b/src/Tools/GetDocumentInsider/src/CommandLineUtils/CommandArgument.cs
similarity index 100%
rename from src/Mvc/GetDocumentInsider/src/CommandLineUtils/CommandArgument.cs
rename to src/Tools/GetDocumentInsider/src/CommandLineUtils/CommandArgument.cs
diff --git a/src/Mvc/GetDocumentInsider/src/CommandLineUtils/CommandLineApplication.cs b/src/Tools/GetDocumentInsider/src/CommandLineUtils/CommandLineApplication.cs
similarity index 100%
rename from src/Mvc/GetDocumentInsider/src/CommandLineUtils/CommandLineApplication.cs
rename to src/Tools/GetDocumentInsider/src/CommandLineUtils/CommandLineApplication.cs
diff --git a/src/Mvc/GetDocumentInsider/src/CommandLineUtils/CommandLineApplicationExtensions.cs b/src/Tools/GetDocumentInsider/src/CommandLineUtils/CommandLineApplicationExtensions.cs
similarity index 100%
rename from src/Mvc/GetDocumentInsider/src/CommandLineUtils/CommandLineApplicationExtensions.cs
rename to src/Tools/GetDocumentInsider/src/CommandLineUtils/CommandLineApplicationExtensions.cs
diff --git a/src/Mvc/GetDocumentInsider/src/CommandLineUtils/CommandOption.cs b/src/Tools/GetDocumentInsider/src/CommandLineUtils/CommandOption.cs
similarity index 100%
rename from src/Mvc/GetDocumentInsider/src/CommandLineUtils/CommandOption.cs
rename to src/Tools/GetDocumentInsider/src/CommandLineUtils/CommandOption.cs
diff --git a/src/Mvc/GetDocumentInsider/src/CommandLineUtils/CommandOptionType.cs b/src/Tools/GetDocumentInsider/src/CommandLineUtils/CommandOptionType.cs
similarity index 100%
rename from src/Mvc/GetDocumentInsider/src/CommandLineUtils/CommandOptionType.cs
rename to src/Tools/GetDocumentInsider/src/CommandLineUtils/CommandOptionType.cs
diff --git a/src/Mvc/GetDocumentInsider/src/CommandLineUtils/CommandParsingException.cs b/src/Tools/GetDocumentInsider/src/CommandLineUtils/CommandParsingException.cs
similarity index 100%
rename from src/Mvc/GetDocumentInsider/src/CommandLineUtils/CommandParsingException.cs
rename to src/Tools/GetDocumentInsider/src/CommandLineUtils/CommandParsingException.cs
diff --git a/src/Mvc/GetDocumentInsider/src/Commands/CommandBase.cs b/src/Tools/GetDocumentInsider/src/Commands/CommandBase.cs
similarity index 100%
rename from src/Mvc/GetDocumentInsider/src/Commands/CommandBase.cs
rename to src/Tools/GetDocumentInsider/src/Commands/CommandBase.cs
diff --git a/src/Mvc/GetDocumentInsider/src/Commands/GetDocumentCommand.cs b/src/Tools/GetDocumentInsider/src/Commands/GetDocumentCommand.cs
similarity index 100%
rename from src/Mvc/GetDocumentInsider/src/Commands/GetDocumentCommand.cs
rename to src/Tools/GetDocumentInsider/src/Commands/GetDocumentCommand.cs
diff --git a/src/Mvc/GetDocumentInsider/src/Commands/GetDocumentCommandContext.cs b/src/Tools/GetDocumentInsider/src/Commands/GetDocumentCommandContext.cs
similarity index 100%
rename from src/Mvc/GetDocumentInsider/src/Commands/GetDocumentCommandContext.cs
rename to src/Tools/GetDocumentInsider/src/Commands/GetDocumentCommandContext.cs
diff --git a/src/Mvc/GetDocumentInsider/src/Commands/GetDocumentCommandWorker.cs b/src/Tools/GetDocumentInsider/src/Commands/GetDocumentCommandWorker.cs
similarity index 100%
rename from src/Mvc/GetDocumentInsider/src/Commands/GetDocumentCommandWorker.cs
rename to src/Tools/GetDocumentInsider/src/Commands/GetDocumentCommandWorker.cs
diff --git a/src/Mvc/GetDocumentInsider/src/Commands/HelpCommandBase.cs b/src/Tools/GetDocumentInsider/src/Commands/HelpCommandBase.cs
similarity index 100%
rename from src/Mvc/GetDocumentInsider/src/Commands/HelpCommandBase.cs
rename to src/Tools/GetDocumentInsider/src/Commands/HelpCommandBase.cs
diff --git a/src/Mvc/GetDocumentInsider/src/Commands/ProjectCommandBase.cs b/src/Tools/GetDocumentInsider/src/Commands/ProjectCommandBase.cs
similarity index 100%
rename from src/Mvc/GetDocumentInsider/src/Commands/ProjectCommandBase.cs
rename to src/Tools/GetDocumentInsider/src/Commands/ProjectCommandBase.cs
diff --git a/src/Mvc/GetDocumentInsider/src/GetDocumentInsider.csproj b/src/Tools/GetDocumentInsider/src/GetDocumentInsider.csproj
similarity index 100%
rename from src/Mvc/GetDocumentInsider/src/GetDocumentInsider.csproj
rename to src/Tools/GetDocumentInsider/src/GetDocumentInsider.csproj
diff --git a/src/Mvc/GetDocumentInsider/src/ProductInfo.cs b/src/Tools/GetDocumentInsider/src/ProductInfo.cs
similarity index 100%
rename from src/Mvc/GetDocumentInsider/src/ProductInfo.cs
rename to src/Tools/GetDocumentInsider/src/ProductInfo.cs
diff --git a/src/Mvc/GetDocumentInsider/src/Program.cs b/src/Tools/GetDocumentInsider/src/Program.cs
similarity index 100%
rename from src/Mvc/GetDocumentInsider/src/Program.cs
rename to src/Tools/GetDocumentInsider/src/Program.cs
diff --git a/src/Mvc/GetDocumentInsider/src/Reporter.cs b/src/Tools/GetDocumentInsider/src/Reporter.cs
similarity index 100%
rename from src/Mvc/GetDocumentInsider/src/Reporter.cs
rename to src/Tools/GetDocumentInsider/src/Reporter.cs
diff --git a/src/Mvc/GetDocumentInsider/src/Resources.resx b/src/Tools/GetDocumentInsider/src/Resources.resx
similarity index 100%
rename from src/Mvc/GetDocumentInsider/src/Resources.resx
rename to src/Tools/GetDocumentInsider/src/Resources.resx
diff --git a/src/Mvc/GetDocumentInsider/src/runtimeconfig.template.json b/src/Tools/GetDocumentInsider/src/runtimeconfig.template.json
similarity index 100%
rename from src/Mvc/GetDocumentInsider/src/runtimeconfig.template.json
rename to src/Tools/GetDocumentInsider/src/runtimeconfig.template.json
diff --git a/src/Tools/README.md b/src/Tools/README.md
index e13c6ec6e3..3800c623f9 100644
--- a/src/Tools/README.md
+++ b/src/Tools/README.md
@@ -1,5 +1,4 @@
-DotNetTools
-===========
+# DotNetTools
## Projects
@@ -14,6 +13,13 @@ The folder contains command-line tools for ASP.NET Core that are bundled* in the
*For 2.0 CLI and earlier, see for details.*
+This folder also contains the infrastructure for our partners' service reference features:
+
+- [Extensions.ApiDescription.Client](Extensions.ApiDescription.Client/README.md) MSBuild glue for OpenAPI code generation.
+- [Extensions.ApiDescription.Server](Extensions.ApiDescription.Server/README.md) MSBuild glue for OpenAPI document generation.
+- [dotnet-getdocument](dotnet-getdocument/README.md) the outside man of OpenAPI document generation tool.
+- [GetDocument.Insider](GetDocumentInsider/README.md) the inside man of OpenAPI document generation tool.
+
## Usage
The command line tools can be invoked as a subcommand of `dotnet`.
diff --git a/src/Tools/Tools.sln b/src/Tools/Tools.sln
index f69110e6d3..4af0386aeb 100644
--- a/src/Tools/Tools.sln
+++ b/src/Tools/Tools.sln
@@ -15,6 +15,22 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Develo
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dotnet-sql-cache", "dotnet-sql-cache\src\dotnet-sql-cache.csproj", "{15FB0E39-1A28-4325-AD3C-76352516C80D}"
EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Extensions.ApiDescription.Client", "Extensions.ApiDescription.Client", "{78610083-1FCE-47F5-AB4D-AF0E1313B351}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{A0D46647-EF66-456E-9F79-134985E7445E}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Extensions.ApiDescription.Client", "Extensions.ApiDescription.Client\src\Microsoft.Extensions.ApiDescription.Client.csproj", "{B29B2627-3604-4FDB-A976-EF1E077F5316}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Extensions.ApiDescription.Server", "Extensions.ApiDescription.Server", "{003EA860-5DFC-40AE-87C0-9D21BB2C68D7}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{4110117E-3C28-4064-A7A3-B112BD6F8CB9}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dotnet-getdocument", "dotnet-getdocument\src\dotnet-getdocument.csproj", "{160A445F-7E1F-430D-9403-41F7F6F4A16E}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Extensions.ApiDescription.Server", "Extensions.ApiDescription.Server\src\Microsoft.Extensions.ApiDescription.Server.csproj", "{233119FC-E4C1-421C-89AE-1A445C5A947F}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GetDocumentInsider", "GetDocumentInsider\src\GetDocumentInsider.csproj", "{EB63AECB-B898-475D-90F7-FE61F9C1CCC6}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -45,10 +61,34 @@ Global
{15FB0E39-1A28-4325-AD3C-76352516C80D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{15FB0E39-1A28-4325-AD3C-76352516C80D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{15FB0E39-1A28-4325-AD3C-76352516C80D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B29B2627-3604-4FDB-A976-EF1E077F5316}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B29B2627-3604-4FDB-A976-EF1E077F5316}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B29B2627-3604-4FDB-A976-EF1E077F5316}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B29B2627-3604-4FDB-A976-EF1E077F5316}.Release|Any CPU.Build.0 = Release|Any CPU
+ {160A445F-7E1F-430D-9403-41F7F6F4A16E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {160A445F-7E1F-430D-9403-41F7F6F4A16E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {160A445F-7E1F-430D-9403-41F7F6F4A16E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {160A445F-7E1F-430D-9403-41F7F6F4A16E}.Release|Any CPU.Build.0 = Release|Any CPU
+ {233119FC-E4C1-421C-89AE-1A445C5A947F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {233119FC-E4C1-421C-89AE-1A445C5A947F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {233119FC-E4C1-421C-89AE-1A445C5A947F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {233119FC-E4C1-421C-89AE-1A445C5A947F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {EB63AECB-B898-475D-90F7-FE61F9C1CCC6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {EB63AECB-B898-475D-90F7-FE61F9C1CCC6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {EB63AECB-B898-475D-90F7-FE61F9C1CCC6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {EB63AECB-B898-475D-90F7-FE61F9C1CCC6}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {A0D46647-EF66-456E-9F79-134985E7445E} = {78610083-1FCE-47F5-AB4D-AF0E1313B351}
+ {B29B2627-3604-4FDB-A976-EF1E077F5316} = {A0D46647-EF66-456E-9F79-134985E7445E}
+ {4110117E-3C28-4064-A7A3-B112BD6F8CB9} = {003EA860-5DFC-40AE-87C0-9D21BB2C68D7}
+ {160A445F-7E1F-430D-9403-41F7F6F4A16E} = {4110117E-3C28-4064-A7A3-B112BD6F8CB9}
+ {233119FC-E4C1-421C-89AE-1A445C5A947F} = {4110117E-3C28-4064-A7A3-B112BD6F8CB9}
+ {EB63AECB-B898-475D-90F7-FE61F9C1CCC6} = {4110117E-3C28-4064-A7A3-B112BD6F8CB9}
+ EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {EC668D8E-97B9-4758-9E5C-2E5DD6B9137B}
EndGlobalSection
diff --git a/src/Tools/dotnet-getdocument/README.md b/src/Tools/dotnet-getdocument/README.md
new file mode 100644
index 0000000000..e7542a80c3
--- /dev/null
+++ b/src/Tools/dotnet-getdocument/README.md
@@ -0,0 +1,7 @@
+# dotnet-getdocument
+
+`dotnet-getdocument` is a command line tool to generate OpenAPI documents.
+
+## How To Use
+
+Run `dotnet ".../dotnet-getdocument.dll" --help` for more information about usage.
diff --git a/src/Mvc/dotnet-getdocument/src/Commands/InvokeCommand.cs b/src/Tools/dotnet-getdocument/src/Commands/InvokeCommand.cs
similarity index 100%
rename from src/Mvc/dotnet-getdocument/src/Commands/InvokeCommand.cs
rename to src/Tools/dotnet-getdocument/src/Commands/InvokeCommand.cs
diff --git a/src/Mvc/dotnet-getdocument/src/Exe.cs b/src/Tools/dotnet-getdocument/src/Exe.cs
similarity index 100%
rename from src/Mvc/dotnet-getdocument/src/Exe.cs
rename to src/Tools/dotnet-getdocument/src/Exe.cs
diff --git a/src/Mvc/dotnet-getdocument/src/Program.cs b/src/Tools/dotnet-getdocument/src/Program.cs
similarity index 100%
rename from src/Mvc/dotnet-getdocument/src/Program.cs
rename to src/Tools/dotnet-getdocument/src/Program.cs
diff --git a/src/Mvc/dotnet-getdocument/src/ProjectOptions.cs b/src/Tools/dotnet-getdocument/src/ProjectOptions.cs
similarity index 100%
rename from src/Mvc/dotnet-getdocument/src/ProjectOptions.cs
rename to src/Tools/dotnet-getdocument/src/ProjectOptions.cs
diff --git a/src/Mvc/dotnet-getdocument/src/Resources.resx b/src/Tools/dotnet-getdocument/src/Resources.resx
similarity index 100%
rename from src/Mvc/dotnet-getdocument/src/Resources.resx
rename to src/Tools/dotnet-getdocument/src/Resources.resx
diff --git a/src/Mvc/dotnet-getdocument/src/dotnet-getdocument.csproj b/src/Tools/dotnet-getdocument/src/dotnet-getdocument.csproj
similarity index 100%
rename from src/Mvc/dotnet-getdocument/src/dotnet-getdocument.csproj
rename to src/Tools/dotnet-getdocument/src/dotnet-getdocument.csproj
diff --git a/src/Mvc/dotnet-getdocument/src/runtimeconfig.template.json b/src/Tools/dotnet-getdocument/src/runtimeconfig.template.json
similarity index 100%
rename from src/Mvc/dotnet-getdocument/src/runtimeconfig.template.json
rename to src/Tools/dotnet-getdocument/src/runtimeconfig.template.json