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<>();