diff --git a/bin/configs/csharp-OpenAPIClient-unityWebRequest.yaml b/bin/configs/csharp-OpenAPIClient-unityWebRequest.yaml
index 98b120a2eb6..8005d2ce78a 100644
--- a/bin/configs/csharp-OpenAPIClient-unityWebRequest.yaml
+++ b/bin/configs/csharp-OpenAPIClient-unityWebRequest.yaml
@@ -3,4 +3,6 @@ generatorName: csharp
outputDir: samples/client/petstore/csharp/OpenAPIClient-unityWebRequest
inputSpec: modules/openapi-generator/src/test/resources/3_0/csharp/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml
templateDir: modules/openapi-generator/src/main/resources/csharp
-library: unityWebRequest
\ No newline at end of file
+library: unityWebRequest
+additionalProperties:
+ targetFramework: netstandard2.0
diff --git a/bin/configs/csharp-OpenAPIClient.yaml b/bin/configs/csharp-OpenAPIClient.yaml
index 89548df7e7f..994fd0d4064 100644
--- a/bin/configs/csharp-OpenAPIClient.yaml
+++ b/bin/configs/csharp-OpenAPIClient.yaml
@@ -8,3 +8,4 @@ additionalProperties:
useCompareNetObjects: true
disallowAdditionalPropertiesIfNotPresent: false
useOneOfDiscriminatorLookup: true
+ targetFramework: netstandard2.0
diff --git a/docs/generators/csharp.md b/docs/generators/csharp.md
index 0ac1a2e601d..5fe0e39be19 100644
--- a/docs/generators/csharp.md
+++ b/docs/generators/csharp.md
@@ -44,7 +44,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|releaseNote|Release note, default to 'Minor update'.| |Minor update|
|returnICollection|Return ICollection<T> instead of the concrete type.| |false|
|sourceFolder|source folder for generated code| |src|
-|targetFramework|The target .NET framework version. To target multiple frameworks, use `;` as the separator, e.g. `netstandard2.1;netcoreapp3.1`|
- **netstandard1.3**
- .NET Standard 1.3
- **netstandard1.4**
- .NET Standard 1.4
- **netstandard1.5**
- .NET Standard 1.5
- **netstandard1.6**
- .NET Standard 1.6
- **netstandard2.0**
- .NET Standard 2.0
- **netstandard2.1**
- .NET Standard 2.1
- **net47**
- .NET Framework 4.7
- **net48**
- .NET Framework 4.8
- **net6.0**
- .NET 6.0 (End of Support 12 November 2024)
- **net7.0**
- .NET 7.0
|netstandard2.0|
+|targetFramework|The target .NET framework version. To target multiple frameworks, use `;` as the separator, e.g. `netstandard2.1;netcoreapp3.1`|- **netstandard1.3**
- .NET Standard 1.3
- **netstandard1.4**
- .NET Standard 1.4
- **netstandard1.5**
- .NET Standard 1.5
- **netstandard1.6**
- .NET Standard 1.6
- **netstandard2.0**
- .NET Standard 2.0
- **netstandard2.1**
- .NET Standard 2.1
- **net47**
- .NET Framework 4.7
- **net48**
- .NET Framework 4.8
- **net6.0**
- .NET 6.0 (End of Support 12 November 2024)
- **net7.0**
- .NET 7.0
|net7.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/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpClientCodegen.java
index 5b8da889002..087ae20319b 100644
--- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpClientCodegen.java
+++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CSharpClientCodegen.java
@@ -93,7 +93,7 @@ public class CSharpClientCodegen extends AbstractCSharpCodegen {
FrameworkStrategy.NET_6_0,
FrameworkStrategy.NET_7_0
);
- private static FrameworkStrategy defaultFramework = FrameworkStrategy.NETSTANDARD_2_0;
+ private static FrameworkStrategy latestFramework = frameworkStrategies.get(frameworkStrategies.size() -1);
protected final Map frameworks;
protected String packageGuid = "{" + java.util.UUID.randomUUID().toString().toUpperCase(Locale.ROOT) + "}";
protected String clientPackage = "Client";
@@ -102,8 +102,8 @@ public class CSharpClientCodegen extends AbstractCSharpCodegen {
protected String modelDocPath = "docs" + File.separator;
// Defines TargetFrameworkVersion in csproj files
- protected String targetFramework = defaultFramework.name;
- protected String testTargetFramework = defaultFramework.testTargetFramework;
+ protected String targetFramework = latestFramework.name;
+ protected String testTargetFramework = latestFramework.testTargetFramework;
// Defines nuget identifiers for target framework
protected String targetFrameworkNuget = targetFramework;
@@ -752,7 +752,7 @@ public class CSharpClientCodegen extends AbstractCSharpCodegen {
throw new RuntimeException("Invalid HTTP library " + getLibrary() + ". Only restsharp, httpclient, and generichost are supported.");
}
- String inputFramework = (String) additionalProperties.getOrDefault(CodegenConstants.DOTNET_FRAMEWORK, defaultFramework.name);
+ String inputFramework = (String) additionalProperties.getOrDefault(CodegenConstants.DOTNET_FRAMEWORK, latestFramework.name);
String[] frameworks;
List strategies = new ArrayList<>();