diff --git a/docs/generators/csharp-netcore.md b/docs/generators/csharp-netcore.md
index c7935752d01..0887dcbfeca 100644
--- a/docs/generators/csharp-netcore.md
+++ b/docs/generators/csharp-netcore.md
@@ -29,7 +29,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|returnICollection|Return ICollection<T> instead of the concrete type.| |false|
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|sourceFolder|source folder for generated code| |src|
-|targetFramework|The target .NET framework version.|
- **netstandard1.3**
- .NET Standard 1.3 compatible
- **netstandard1.4**
- .NET Standard 1.4 compatible
- **netstandard1.5**
- .NET Standard 1.5 compatible
- **netstandard1.6**
- .NET Standard 1.6 compatible
- **netstandard2.0**
- .NET Standard 2.0 compatible
- **netstandard2.1**
- .NET Standard 2.1 compatible
- **netcoreapp2.0**
- .NET Core 2.0 compatible
- **netcoreapp2.1**
- .NET Core 2.1 compatible
- **netcoreapp3.0**
- .NET Core 3.0 compatible
- **netcoreapp3.1**
- .NET Core 3.1 compatible
- **net47**
- .NET Framework 4.7 compatible
- **net5.0**
- .NET 5.0 compatible
|netstandard2.0|
+|targetFramework|The target .NET framework version. To target multiple frameworks, use `;` as the separator, e.g. `netstandard2.1;netcoreapp3.0`|- **netstandard1.3**
- .NET Standard 1.3 compatible
- **netstandard1.4**
- .NET Standard 1.4 compatible
- **netstandard1.5**
- .NET Standard 1.5 compatible
- **netstandard1.6**
- .NET Standard 1.6 compatible
- **netstandard2.0**
- .NET Standard 2.0 compatible
- **netstandard2.1**
- .NET Standard 2.1 compatible
- **netcoreapp2.0**
- .NET Core 2.0 compatible
- **netcoreapp2.1**
- .NET Core 2.1 compatible
- **netcoreapp3.0**
- .NET Core 3.0 compatible
- **netcoreapp3.1**
- .NET Core 3.1 compatible
- **net47**
- .NET Framework 4.7 compatible
- **net5.0**
- .NET 5.0 compatible
|netstandard2.0|
|useCollection|Deserialize array types to Collection<T> instead of List<T>.| |false|
|useDateTimeOffset|Use DateTimeOffset to model date-time properties| |false|
|useOneOfDiscriminatorLookup|Use the discriminator's mapping in oneOf to speed up the model lookup. IMPORTANT: Validation (e.g. one and only one match in oneOf's schemas) will be skipped.| |false|
diff --git a/docs/generators/csharp.md b/docs/generators/csharp.md
index ec9c4454ff8..0b3185606ec 100644
--- a/docs/generators/csharp.md
+++ b/docs/generators/csharp.md
@@ -25,7 +25,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|returnICollection|Return ICollection<T> instead of the concrete type.| |false|
|sortParamsByRequiredFlag|Sort method arguments to place required parameters before optional parameters.| |true|
|sourceFolder|source folder for generated code| |src|
-|targetFramework|The target .NET framework version.|- **v3.5**
- .NET Framework 3.5 compatible
- **v4.0**
- .NET Framework 4.0 compatible
- **v4.5**
- .NET Framework 4.5 compatible
- **v4.5.2**
- .NET Framework 4.5.2+ compatible
- **netstandard1.3**
- .NET Standard 1.3 compatible (DEPRECATED. Please use `csharp-netcore` generator instead)
- **uwp**
- Universal Windows Platform (DEPRECATED. Please use `csharp-netcore` generator instead)
|v4.5|
+|targetFramework|The target .NET framework version. To target multiple frameworks, use `;` as the separator, e.g. `netstandard2.1;netcoreapp3.0`|- **v3.5**
- .NET Framework 3.5 compatible
- **v4.0**
- .NET Framework 4.0 compatible
- **v4.5**
- .NET Framework 4.5 compatible
- **v4.5.2**
- .NET Framework 4.5.2+ compatible
- **netstandard1.3**
- .NET Standard 1.3 compatible (DEPRECATED. Please use `csharp-netcore` generator instead)
- **uwp**
- Universal Windows Platform (DEPRECATED. Please use `csharp-netcore` generator instead)
|v4.5|
|useCollection|Deserialize array types to Collection<T> instead of List<T>.| |false|
|useCompareNetObjects|Use KellermanSoftware.CompareNetObjects for deep recursive object comparison. WARNING: this option incurs potential performance impact.| |false|
|useDateTimeOffset|Use DateTimeOffset to model date-time properties| |false|
diff --git a/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/cmd/Generate.java b/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/cmd/Generate.java
index f935b14e6d7..27447fad78a 100644
--- a/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/cmd/Generate.java
+++ b/modules/openapi-generator-cli/src/main/java/org/openapitools/codegen/cmd/Generate.java
@@ -134,7 +134,8 @@ public class Generate extends OpenApiGeneratorCommand {
title = "type mappings",
description = "sets mappings between OpenAPI spec types and generated code types "
+ "in the format of OpenAPIType=generatedType,OpenAPIType=generatedType. For example: array=List,map=Map,string=String."
- + " You can also have multiple occurrences of this option.")
+ + " You can also have multiple occurrences of this option."
+ + " To map a specified format, use type+format, e.g. string+password=EncryptedString will map `type: string, format: password` to `EncryptedString`.")
private List typeMappings = new ArrayList<>();
@Option(
diff --git a/modules/openapi-generator-gradle-plugin/README.adoc b/modules/openapi-generator-gradle-plugin/README.adoc
index ae55fb16136..08b09304900 100644
--- a/modules/openapi-generator-gradle-plugin/README.adoc
+++ b/modules/openapi-generator-gradle-plugin/README.adoc
@@ -212,7 +212,7 @@ apply plugin: 'org.openapi.generator'
|typeMappings
|Map(String,String)
|None
-|Sets mappings between OpenAPI spec types and generated code types.
+|Sets mappings between OpenAPI spec types and generated code types in the format of OpenAPIType=generatedType,OpenAPIType=generatedType. For example: `array=List,map=Map,string=String`. You can also have multiple occurrences of this option. To map a specified format, use type+format, e.g. string+password=EncryptedString will map `type: string, format: password` to `EncryptedString`.
|additionalProperties
|Map(String,Any)
diff --git a/modules/openapi-generator-maven-plugin/README.md b/modules/openapi-generator-maven-plugin/README.md
index 627fa155e63..64151ad1418 100644
--- a/modules/openapi-generator-maven-plugin/README.md
+++ b/modules/openapi-generator-maven-plugin/README.md
@@ -79,7 +79,7 @@ mvn clean compile
| `configOptions` | N/A | a **map** of language-specific parameters. To show a full list of generator-specified parameters (options), please use `configHelp` (explained below)
| `instantiationTypes` | `openapi.generator.maven.plugin.instantiationTypes` | sets instantiation type mappings in the format of type=instantiatedType,type=instantiatedType. For example (in Java): `array=ArrayList,map=HashMap`. In other words array types will get instantiated as ArrayList in generated code. You can also have multiple occurrences of this option
| `importMappings` | `openapi.generator.maven.plugin.importMappings` | specifies mappings between a given class and the import that should be used for that class in the format of type=import,type=import. You can also have multiple occurrences of this option
-| `typeMappings` | `openapi.generator.maven.plugin.typeMappings` | sets mappings between OpenAPI spec types and generated code types in the format of OpenAPIType=generatedType,OpenAPIType=generatedType. For example: `array=List,map=Map,string=String`. You can also have multiple occurrences of this option
+| `typeMappings` | `openapi.generator.maven.plugin.typeMappings` | sets mappings between OpenAPI spec types and generated code types in the format of OpenAPIType=generatedType,OpenAPIType=generatedType. For example: `array=List,map=Map,string=String`. You can also have multiple occurrences of this option. To map a specified format, use type+format, e.g. string+password=EncryptedString will map `type: string, format: password` to `EncryptedString`.
| `languageSpecificPrimitives` | `openapi.generator.maven.plugin.languageSpecificPrimitives` | specifies additional language specific primitive types in the format of type1,type2,type3,type3. For example: `String,boolean,Boolean,Double`. You can also have multiple occurrences of this option
| `additionalProperties` | `openapi.generator.maven.plugin.additionalProperties` | sets additional properties that can be referenced by the mustache templates in the format of name=value,name=value. You can also have multiple occurrences of this option
| `serverVariableOverrides` | `openapi.generator.maven.plugin.serverVariableOverrides` | A map of server variable overrides for specs that support server URL templating
diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenConstants.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenConstants.java
index 2e7151dc94e..631ff47eedb 100644
--- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenConstants.java
+++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenConstants.java
@@ -206,7 +206,7 @@ public class CodegenConstants {
public static final String MODEL_PROPERTY_NAMING_DESC = "Naming convention for the property: 'camelCase', 'PascalCase', 'snake_case' and 'original', which keeps the original name";
public static final String DOTNET_FRAMEWORK = "targetFramework";
- public static final String DOTNET_FRAMEWORK_DESC = "The target .NET framework version.";
+ public static final String DOTNET_FRAMEWORK_DESC = "The target .NET framework version. To target multiple frameworks, use `;` as the separator, e.g. `netstandard2.1;netcoreapp3.0`";
public static final String TEMPLATING_ENGINE = "templatingEngine";
public static final String TEMPLATING_ENGINE_DESC = "The templating engine plugin to use: \"mustache\" (default) or \"handlebars\" (beta)";