diff --git a/eng/ProjectReferences.props b/eng/ProjectReferences.props
index d7b785a06f46..4c23cda5ed23 100644
--- a/eng/ProjectReferences.props
+++ b/eng/ProjectReferences.props
@@ -8,7 +8,10 @@
+
+
+
diff --git a/src/Mvc/Extensions.ApiDescription.Server/src/Microsoft.Extensions.ApiDescription.Server.csproj b/src/Mvc/Extensions.ApiDescription.Server/src/Microsoft.Extensions.ApiDescription.Server.csproj
new file mode 100644
index 000000000000..0c1c607c1b55
--- /dev/null
+++ b/src/Mvc/Extensions.ApiDescription.Server/src/Microsoft.Extensions.ApiDescription.Server.csproj
@@ -0,0 +1,64 @@
+
+
+
+
+
+ $(GenerateNuspecDependsOn);PopulateNuspec
+
+
+ true
+
+
+ netcoreapp2.1;net461
+
+ MSBuild tasks and targets for build-time Swagger and OpenApi document generation
+ true
+ false
+ false
+ false
+ $(MSBuildProjectName).nuspec
+ $(MSBuildProjectName)
+ MSBuild;Swagger;Open API;code generation;Web API
+ true
+ $(ExperimentalPackageVersion)
+ false
+ $(ExperimentalVersionPrefix)
+ $(ExperimentalVersionSuffix)
+
+
+
+
+
+
+
+
+
+
+
+
+ id=$(PackageId);
+ artifactsBinDir=$(ArtifactsBinDir);
+ authors=$(Authors);
+ configuration=$(Configuration);
+ copyright=$(Copyright);
+ description=$(PackageDescription);
+ iconUrl=$(PackageIconUrl);
+ licenseUrl=$(PackageLicenseUrl);
+ owners=$(Company);
+ projectUrl=$(PackageProjectUrl);
+ repositoryCommit=$(SourceRevisionId);
+ repositoryUrl=$(RepositoryUrl);
+ tags=$(PackageTags.Replace(';', ' '));
+ version=$(PackageVersion);
+
+
+
+
+
+
+
+
+
diff --git a/src/Mvc/Extensions.ApiDescription.Server/src/Microsoft.Extensions.ApiDescription.Server.nuspec b/src/Mvc/Extensions.ApiDescription.Server/src/Microsoft.Extensions.ApiDescription.Server.nuspec
new file mode 100644
index 000000000000..09156d804e89
--- /dev/null
+++ b/src/Mvc/Extensions.ApiDescription.Server/src/Microsoft.Extensions.ApiDescription.Server.nuspec
@@ -0,0 +1,27 @@
+
+
+
+ $id$
+ $authors$
+ $copyright$
+ $description$
+ true
+ $iconUrl$
+ $licenseUrl$
+ $owners$
+ $projectUrl$
+
+ true
+ $tags$
+ $version$
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Mvc/Extensions.ApiDescription.Server/src/build/Microsoft.Extensions.ApiDescription.Server.props b/src/Mvc/Extensions.ApiDescription.Server/src/build/Microsoft.Extensions.ApiDescription.Server.props
new file mode 100644
index 000000000000..c5b29db7965a
--- /dev/null
+++ b/src/Mvc/Extensions.ApiDescription.Server/src/build/Microsoft.Extensions.ApiDescription.Server.props
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+ true
+
+
+ $(OpenApiGenerateDocuments)
+
+
+ $(BaseIntermediateOutputPath)
+
+
diff --git a/src/Mvc/Extensions.ApiDescription.Server/src/build/Microsoft.Extensions.ApiDescription.Server.targets b/src/Mvc/Extensions.ApiDescription.Server/src/build/Microsoft.Extensions.ApiDescription.Server.targets
new file mode 100644
index 000000000000..a27a240bcbda
--- /dev/null
+++ b/src/Mvc/Extensions.ApiDescription.Server/src/build/Microsoft.Extensions.ApiDescription.Server.targets
@@ -0,0 +1,39 @@
+
+
+
+ <_OpenApiDocumentsCache>$(BaseIntermediateOutputPath)$(MSBuildProjectName).OpenApiFiles.cache
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_Command>dotnet "$(MSBuildThisFileDirectory)/../tools/dotnet-getdocument.dll" --assembly "$(TargetPath)"
+ <_Command>$(_Command) --file-list "$(_OpenApiDocumentsCache)" --framework "$(TargetFrameworkMoniker)"
+ <_Command>$(_Command) --output "$(OpenApiDocumentsDirectory.TrimEnd('\'))" --project "$(MSBuildProjectName)"
+ <_Command Condition=" '$(ProjectAssetsFile)' != '' ">$(_Command) --assets-file "$(ProjectAssetsFile)"
+ <_Command Condition=" '$(PlatformTarget)' != '' ">$(_Command) --platform "$(PlatformTarget)"
+ <_Command Condition=" '$(PlatformTarget)' == '' AND '$(Platform)' != '' ">$(_Command) --platform "$(Platform)"
+ <_Command Condition=" '$(RuntimeIdentifier)' != '' ">$(_Command) --runtime "$(RuntimeIdentifier)"
+ <_Command>$(_Command) $(OpenApiGenerateDocumentsOptions)
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Mvc/Extensions.ApiDescription.Server/src/buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.props b/src/Mvc/Extensions.ApiDescription.Server/src/buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.props
new file mode 100644
index 000000000000..a2a88e2b9f11
--- /dev/null
+++ b/src/Mvc/Extensions.ApiDescription.Server/src/buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.props
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/src/Mvc/Extensions.ApiDescription.Server/src/buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.targets b/src/Mvc/Extensions.ApiDescription.Server/src/buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.targets
new file mode 100644
index 000000000000..5dbe63d10dfb
--- /dev/null
+++ b/src/Mvc/Extensions.ApiDescription.Server/src/buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.targets
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Mvc/GetDocumentInsider/src/GetDocumentInsider.csproj b/src/Mvc/GetDocumentInsider/src/GetDocumentInsider.csproj
index 1622b5076cd2..204fd6580a9b 100644
--- a/src/Mvc/GetDocumentInsider/src/GetDocumentInsider.csproj
+++ b/src/Mvc/GetDocumentInsider/src/GetDocumentInsider.csproj
@@ -2,6 +2,7 @@
GetDocument.Insider
GetDocument Command-line Tool inside man
+ false
false
Exe
Microsoft.Extensions.ApiDescription.Tool
@@ -9,7 +10,6 @@
false
$(ExperimentalVersionPrefix)
$(ExperimentalVersionSuffix)
- false
diff --git a/src/Mvc/Mvc.sln b/src/Mvc/Mvc.sln
index eddac1812b2f..2a8c20227b46 100644
--- a/src/Mvc/Mvc.sln
+++ b/src/Mvc/Mvc.sln
@@ -321,6 +321,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Mvc.Co
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
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -1825,6 +1829,18 @@ 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
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -1955,6 +1971,7 @@ Global
{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}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {63D344F6-F86D-40E6-85B9-0AABBE338C4A}
diff --git a/src/Mvc/dotnet-getdocument/src/dotnet-getdocument.csproj b/src/Mvc/dotnet-getdocument/src/dotnet-getdocument.csproj
index 6a2f52617982..193eeeae6934 100644
--- a/src/Mvc/dotnet-getdocument/src/dotnet-getdocument.csproj
+++ b/src/Mvc/dotnet-getdocument/src/dotnet-getdocument.csproj
@@ -2,6 +2,7 @@
dotnet-getdocument
GetDocument Command-line Tool outside man
+ false
false
Exe
Microsoft.Extensions.ApiDescription.Tool
@@ -10,7 +11,6 @@
false
$(ExperimentalVersionPrefix)
$(ExperimentalVersionSuffix)
- false