diff --git a/eng/ProjectReferences.props b/eng/ProjectReferences.props
index 9f037c669a6c..d7b785a06f46 100644
--- a/eng/ProjectReferences.props
+++ b/eng/ProjectReferences.props
@@ -8,7 +8,7 @@
-
+
diff --git a/src/Mvc/Extensions.ApiDescription.Client/src/CSharpIdentifier.cs b/src/Mvc/Extensions.ApiDescription.Client/src/CSharpIdentifier.cs
index 33d0b0e9ebc6..b1ee4f7c0c8e 100644
--- a/src/Mvc/Extensions.ApiDescription.Client/src/CSharpIdentifier.cs
+++ b/src/Mvc/Extensions.ApiDescription.Client/src/CSharpIdentifier.cs
@@ -6,7 +6,7 @@
// Copied from
// https://github.com/aspnet/AspNetCore-Tooling/blob/master/src/Razor/src/Microsoft.AspNetCore.Razor.Language/CSharpIdentifier.cs
-namespace Microsoft.Extensions.ApiDescription.Tasks
+namespace Microsoft.Extensions.ApiDescription.Client
{
internal static class CSharpIdentifier
{
diff --git a/src/Mvc/Extensions.ApiDescription.Client/src/GetCurrentItems.cs b/src/Mvc/Extensions.ApiDescription.Client/src/GetCurrentItems.cs
index 97ea236f2c2a..975e716d64b3 100644
--- a/src/Mvc/Extensions.ApiDescription.Client/src/GetCurrentItems.cs
+++ b/src/Mvc/Extensions.ApiDescription.Client/src/GetCurrentItems.cs
@@ -4,7 +4,7 @@
using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;
-namespace Microsoft.Extensions.ApiDescription.Tasks
+namespace Microsoft.Extensions.ApiDescription.Client
{
///
/// Restore s from given property value.
diff --git a/src/Mvc/Extensions.ApiDescription.Client/src/GetFileReferenceMetadata.cs b/src/Mvc/Extensions.ApiDescription.Client/src/GetFileReferenceMetadata.cs
index 73f8d01495a3..2b0447c590b7 100644
--- a/src/Mvc/Extensions.ApiDescription.Client/src/GetFileReferenceMetadata.cs
+++ b/src/Mvc/Extensions.ApiDescription.Client/src/GetFileReferenceMetadata.cs
@@ -7,7 +7,7 @@
using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;
-namespace Microsoft.Extensions.ApiDescription.Tasks
+namespace Microsoft.Extensions.ApiDescription.Client
{
///
/// Adds or corrects ClassName, FirstForGenerator, Namespace, and OutputPath metadata in OpenApiReference items.
diff --git a/src/Mvc/Extensions.ApiDescription.Client/src/MetadataSerializer.cs b/src/Mvc/Extensions.ApiDescription.Client/src/MetadataSerializer.cs
index 32f7fbf8321e..eeff4170fcb4 100644
--- a/src/Mvc/Extensions.ApiDescription.Client/src/MetadataSerializer.cs
+++ b/src/Mvc/Extensions.ApiDescription.Client/src/MetadataSerializer.cs
@@ -6,7 +6,7 @@
using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;
-namespace Microsoft.Extensions.ApiDescription.Tasks
+namespace Microsoft.Extensions.ApiDescription.Client
{
///
/// Utility methods to serialize and deserialize metadata.
diff --git a/src/Mvc/Extensions.ApiDescription.Client/src/Microsoft.Extensions.ApiDescription.Client.csproj b/src/Mvc/Extensions.ApiDescription.Client/src/Microsoft.Extensions.ApiDescription.Client.csproj
index 2edaf7b68cfc..2029ac0a25b6 100644
--- a/src/Mvc/Extensions.ApiDescription.Client/src/Microsoft.Extensions.ApiDescription.Client.csproj
+++ b/src/Mvc/Extensions.ApiDescription.Client/src/Microsoft.Extensions.ApiDescription.Client.csproj
@@ -6,21 +6,19 @@
true
- Microsoft.Extensions.ApiDescription.Tasks
MSBuild tasks and targets for code generation
false
false
- false
$(MSBuildProjectName).nuspec
$(MSBuildProjectName)
Build Tasks;MSBuild;Swagger;Open API;code generation; Web API client
true
$(ExperimentalPackageVersion)
- $(AssemblyName)
netstandard2.0;net461
false
$(ExperimentalVersionPrefix)
$(ExperimentalVersionSuffix)
+
false
diff --git a/src/Mvc/Extensions.ApiDescription.Client/src/Microsoft.Extensions.ApiDescription.Client.nuspec b/src/Mvc/Extensions.ApiDescription.Client/src/Microsoft.Extensions.ApiDescription.Client.nuspec
index f04380cfe4c5..cc49fd1c5637 100644
--- a/src/Mvc/Extensions.ApiDescription.Client/src/Microsoft.Extensions.ApiDescription.Client.nuspec
+++ b/src/Mvc/Extensions.ApiDescription.Client/src/Microsoft.Extensions.ApiDescription.Client.nuspec
@@ -19,7 +19,7 @@
-
-
+
+
diff --git a/src/Mvc/Extensions.ApiDescription.Client/src/Properties/Resources.Designer.cs b/src/Mvc/Extensions.ApiDescription.Client/src/Properties/Resources.Designer.cs
index 3e16c26c41e4..f1b61f00ac02 100644
--- a/src/Mvc/Extensions.ApiDescription.Client/src/Properties/Resources.Designer.cs
+++ b/src/Mvc/Extensions.ApiDescription.Client/src/Properties/Resources.Designer.cs
@@ -1,5 +1,5 @@
//
-namespace Microsoft.Extensions.ApiDescription.Tasks
+namespace Microsoft.Extensions.ApiDescription.Client
{
using System.Globalization;
using System.Reflection;
@@ -8,7 +8,7 @@ namespace Microsoft.Extensions.ApiDescription.Tasks
internal static class Resources
{
private static readonly ResourceManager _resourceManager
- = new ResourceManager("Microsoft.Extensions.ApiDescription.Tasks.Resources", typeof(Resources).GetTypeInfo().Assembly);
+ = new ResourceManager("Microsoft.Extensions.ApiDescription.Client.Resources", typeof(Resources).GetTypeInfo().Assembly);
///
/// Multiple items have OutputPath='{0}'. All OpenApiReference items must have unique OutputPath metadata.
diff --git a/src/Mvc/Extensions.ApiDescription.Client/src/build/Microsoft.Extensions.ApiDescription.Client.props b/src/Mvc/Extensions.ApiDescription.Client/src/build/Microsoft.Extensions.ApiDescription.Client.props
index 5f5640bfd392..dd5e8dd9e815 100644
--- a/src/Mvc/Extensions.ApiDescription.Client/src/build/Microsoft.Extensions.ApiDescription.Client.props
+++ b/src/Mvc/Extensions.ApiDescription.Client/src/build/Microsoft.Extensions.ApiDescription.Client.props
@@ -1,35 +1,60 @@
- <_ApiDescriptionTasksAssemblyTarget
- Condition="'$(MSBuildRuntimeType)' == 'Core'">netstandard2.0
- <_ApiDescriptionTasksAssemblyTarget
- Condition="'$(MSBuildRuntimeType)' != 'Core'">net461
- <_ApiDescriptionTasksAssemblyPath>$(MSBuildThisFileDirectory)/../tasks/$(_ApiDescriptionTasksAssemblyTarget)/Microsoft.Extensions.ApiDescription.Tasks.dll
- <_ApiDescriptionTasksAssemblyTarget />
+ <_ApiDescriptionClientAssemblyTarget
+ Condition="'$(MSBuildRuntimeType)' == 'Core'">netstandard2.0
+ <_ApiDescriptionClientAssemblyTarget
+ Condition="'$(MSBuildRuntimeType)' != 'Core'">net461
+ <_ApiDescriptionClientAssemblyPath>$(MSBuildThisFileDirectory)/../tasks/$(_ApiDescriptionClientAssemblyTarget)/Microsoft.Extensions.ApiDescription.Client.dll
+ <_ApiDescriptionClientAssemblyTarget />
-
-
+
+
-
+
+
+
+
+ true
+
+
+ true
- true
+ true
- $(BaseIntermediateOutputPath)
- $([MSBuild]::EnsureTrailingSlash('$(OpenApiDefaultOutputDirectory)'))
+ $(BaseIntermediateOutputPath)
+
NSwagCSharp
+
+
- $(OpenApiDefaultGeneratorOptions)
+ $(OpenApiGenerateCodeOptions)
+
diff --git a/src/Mvc/Extensions.ApiDescription.Client/src/build/Microsoft.Extensions.ApiDescription.Client.targets b/src/Mvc/Extensions.ApiDescription.Client/src/build/Microsoft.Extensions.ApiDescription.Client.targets
index bd7006fc3653..b10277a6965b 100644
--- a/src/Mvc/Extensions.ApiDescription.Client/src/build/Microsoft.Extensions.ApiDescription.Client.targets
+++ b/src/Mvc/Extensions.ApiDescription.Client/src/build/Microsoft.Extensions.ApiDescription.Client.targets
@@ -2,21 +2,18 @@
-
- _GetMetadataForOpenApiReferences;
- _GenerateOpenApiReferenceCode;
- _CreateCompileItemsForOpenApiReferences
-
-
+
_GenerateErrorsForOldItems;
_CreateOpenApiReferenceItemsForOpenApiProjectReferences;
- GenerateOpenApiReferenceCode
-
+ _GetMetadataForOpenApiReferences;
+ _GenerateOpenApiCode;
+ _CreateCompileItemsForOpenApiReferences
+
-
+
+
@@ -143,7 +134,18 @@
-
+
+
+
+
+
+
+ Condition=" '$(OpenApiGenerateCodeOnBuild)' == 'true' AND ('$(TargetFramework)' == '' OR '$(TargetFrameworks)' == '') "
+ DependsOnTargets="GenerateOpenApiCode" />
diff --git a/src/Mvc/Extensions.ApiDescription.Client/src/buildMultiTargeting/Microsoft.Extensions.ApiDescription.Client.props b/src/Mvc/Extensions.ApiDescription.Client/src/buildMultiTargeting/Microsoft.Extensions.ApiDescription.Client.props
new file mode 100644
index 000000000000..9ce9d3e25910
--- /dev/null
+++ b/src/Mvc/Extensions.ApiDescription.Client/src/buildMultiTargeting/Microsoft.Extensions.ApiDescription.Client.props
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/src/Mvc/Extensions.ApiDescription.Client/src/buildMultiTargeting/Microsoft.Extensions.ApiDescription.Client.targets b/src/Mvc/Extensions.ApiDescription.Client/src/buildMultiTargeting/Microsoft.Extensions.ApiDescription.Client.targets
index d085051f068e..b264baa9df43 100644
--- a/src/Mvc/Extensions.ApiDescription.Client/src/buildMultiTargeting/Microsoft.Extensions.ApiDescription.Client.targets
+++ b/src/Mvc/Extensions.ApiDescription.Client/src/buildMultiTargeting/Microsoft.Extensions.ApiDescription.Client.targets
@@ -1,9 +1,14 @@
-
-
+
+ RemoveProperties="RuntimeIdentifier" />
+
+