diff --git a/appveyor.yml b/appveyor.yml
index ee8df16d7121..3593d913a615 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -29,6 +29,9 @@ build_script:
# build C# API client (with PropertyChanged)
- nuget restore samples\client\petstore\csharp\SwaggerClientWithPropertyChanged\IO.Swagger.sln
- msbuild samples\client\petstore\csharp\SwaggerClientWithPropertyChanged\IO.Swagger.sln /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
+ # build C# .net standard 1.3+ API client
+ - nuget restore samples\client\petstore\csharp\SwaggerClient.v5\IO.Swagger.sln
+ - msbuild samples\client\petstore\csharp\SwaggerClient.v5\IO.Swagger.sln /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
# install swagger codegen locally
- mvn clean install --batch-mode
test_script:
diff --git a/bin/csharp-petstore-all.sh b/bin/csharp-petstore-all.sh
index 468e5f26d3e1..886229bf9128 100755
--- a/bin/csharp-petstore-all.sh
+++ b/bin/csharp-petstore-all.sh
@@ -5,3 +5,7 @@
# C# Petstore API client with PropertyChanged
./bin/csharp-property-changed-petstore.sh
+
+# C# Petstore API client (v5.0 for .net standarnd 1.3+)
+./bin/csharp-petstore-v5.sh
+
diff --git a/bin/csharp-petstore-v5.json b/bin/csharp-petstore-v5.json
new file mode 100644
index 000000000000..874e5334bfa7
--- /dev/null
+++ b/bin/csharp-petstore-v5.json
@@ -0,0 +1,3 @@
+{
+ "targetFramework": "v5.0"
+}
diff --git a/bin/csharp-petstore-v5.sh b/bin/csharp-petstore-v5.sh
new file mode 100755
index 000000000000..0e1086456cec
--- /dev/null
+++ b/bin/csharp-petstore-v5.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+SCRIPT="$0"
+
+while [ -h "$SCRIPT" ] ; do
+ ls=`ls -ld "$SCRIPT"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ SCRIPT="$link"
+ else
+ SCRIPT=`dirname "$SCRIPT"`/"$link"
+ fi
+done
+
+if [ ! -d "${APP_DIR}" ]; then
+ APP_DIR=`dirname "$SCRIPT"`/..
+ APP_DIR=`cd "${APP_DIR}"; pwd`
+fi
+
+executable="./modules/swagger-codegen-cli/target/swagger-codegen-cli.jar"
+
+if [ ! -f "$executable" ]
+then
+ mvn clean package
+fi
+
+# if you've executed sbt assembly previously it will use that instead.
+export JAVA_OPTS="${JAVA_OPTS} -XX:MaxPermSize=256M -Xmx1024M -DloggerPath=conf/log4j.properties"
+ags="generate $@ -i modules/swagger-codegen/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -l csharp -o samples/client/petstore/csharp/SwaggerClient.v5 --additional-properties packageGuid={321C8C3F-0156-40C1-AE42-D59761FB9B6C} -c ./bin/csharp-petstore-v5.json"
+
+java $JAVA_OPTS -jar $executable $ags
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/.gitignore b/samples/client/petstore/csharp/SwaggerClient.v5/.gitignore
new file mode 100644
index 000000000000..d3f4f7b6f551
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/.gitignore
@@ -0,0 +1,185 @@
+# Ref: https://gist.github.com/kmorcinek/2710267
+# Download this file using PowerShell v3 under Windows with the following comand
+# Invoke-WebRequest https://gist.githubusercontent.com/kmorcinek/2710267/raw/ -OutFile .gitignore
+
+# User-specific files
+*.suo
+*.user
+*.sln.docstates
+
+# Build results
+
+[Dd]ebug/
+[Rr]elease/
+x64/
+build/
+[Bb]in/
+[Oo]bj/
+
+# NuGet Packages
+*.nupkg
+# The packages folder can be ignored because of Package Restore
+**/packages/*
+# except build/, which is used as an MSBuild target.
+!**/packages/build/
+# Uncomment if necessary however generally it will be regenerated when needed
+#!**/packages/repositories.config
+
+# MSTest test Results
+[Tt]est[Rr]esult*/
+[Bb]uild[Ll]og.*
+
+*_i.c
+*_p.c
+*.ilk
+*.meta
+*.obj
+*.pch
+*.pdb
+*.pgc
+*.pgd
+*.rsp
+*.sbr
+*.tlb
+*.tli
+*.tlh
+*.tmp
+*.tmp_proj
+*.log
+*.vspscc
+*.vssscc
+.builds
+*.pidb
+*.log
+*.scc
+
+# OS generated files #
+.DS_Store*
+ehthumbs.db
+Icon?
+Thumbs.db
+
+# Visual C++ cache files
+ipch/
+*.aps
+*.ncb
+*.opensdf
+*.sdf
+*.cachefile
+
+# Visual Studio profiler
+*.psess
+*.vsp
+*.vspx
+
+# Guidance Automation Toolkit
+*.gpState
+
+# ReSharper is a .NET coding add-in
+_ReSharper*/
+*.[Rr]e[Ss]harper
+
+# TeamCity is a build add-in
+_TeamCity*
+
+# DotCover is a Code Coverage Tool
+*.dotCover
+
+# NCrunch
+*.ncrunch*
+.*crunch*.local.xml
+
+# Installshield output folder
+[Ee]xpress/
+
+# DocProject is a documentation generator add-in
+DocProject/buildhelp/
+DocProject/Help/*.HxT
+DocProject/Help/*.HxC
+DocProject/Help/*.hhc
+DocProject/Help/*.hhk
+DocProject/Help/*.hhp
+DocProject/Help/Html2
+DocProject/Help/html
+
+# Click-Once directory
+publish/
+
+# Publish Web Output
+*.Publish.xml
+
+# Windows Azure Build Output
+csx
+*.build.csdef
+
+# Windows Store app package directory
+AppPackages/
+
+# Others
+sql/
+*.Cache
+ClientBin/
+[Ss]tyle[Cc]op.*
+~$*
+*~
+*.dbmdl
+*.[Pp]ublish.xml
+*.pfx
+*.publishsettings
+modulesbin/
+tempbin/
+
+# EPiServer Site file (VPP)
+AppData/
+
+# RIA/Silverlight projects
+Generated_Code/
+
+# Backup & report files from converting an old project file to a newer
+# Visual Studio version. Backup files are not needed, because we have git ;-)
+_UpgradeReport_Files/
+Backup*/
+UpgradeLog*.XML
+UpgradeLog*.htm
+
+# vim
+*.txt~
+*.swp
+*.swo
+
+# svn
+.svn
+
+# SQL Server files
+**/App_Data/*.mdf
+**/App_Data/*.ldf
+**/App_Data/*.sdf
+
+
+#LightSwitch generated files
+GeneratedArtifacts/
+_Pvt_Extensions/
+ModelManifest.xml
+
+# =========================
+# Windows detritus
+# =========================
+
+# Windows image file caches
+Thumbs.db
+ehthumbs.db
+
+# Folder config file
+Desktop.ini
+
+# Recycle Bin used on file shares
+$RECYCLE.BIN/
+
+# Mac desktop service store files
+.DS_Store
+
+# SASS Compiler cache
+.sass-cache
+
+# Visual Studio 2014 CTP
+**/*.sln.ide
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/.swagger-codegen-ignore b/samples/client/petstore/csharp/SwaggerClient.v5/.swagger-codegen-ignore
new file mode 100644
index 000000000000..c5fa491b4c55
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/.swagger-codegen-ignore
@@ -0,0 +1,23 @@
+# Swagger Codegen Ignore
+# Generated by swagger-codegen https://github.com/swagger-api/swagger-codegen
+
+# Use this file to prevent files from being overwritten by the generator.
+# The patterns follow closely to .gitignore or .dockerignore.
+
+# As an example, the C# client generator defines ApiClient.cs.
+# You can make changes and tell Swagger Codgen to ignore just this file by uncommenting the following line:
+#ApiClient.cs
+
+# You can match any string of characters against a directory, file or extension with a single asterisk (*):
+#foo/*/qux
+# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux
+
+# You can recursively match patterns against a directory, file or extension with a double asterisk (**):
+#foo/**/qux
+# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux
+
+# You can also negate patterns with an exclamation (!).
+# For example, you can ignore all files in a docs folder with the file extension .md:
+#docs/*.md
+# Then explicitly reverse the ignore rule for a single file:
+#!docs/README.md
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/IO.Swagger.sln b/samples/client/petstore/csharp/SwaggerClient.v5/IO.Swagger.sln
new file mode 100644
index 000000000000..32ab6d53fd32
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/IO.Swagger.sln
@@ -0,0 +1,25 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.25420.1
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IO.Swagger", "src\IO.Swagger\IO.Swagger.csproj", "{321C8C3F-0156-40C1-AE42-D59761FB9B6C}"
+EndProject
+Global
+GlobalSection(SolutionConfigurationPlatforms) = preSolution
+Debug|Any CPU = Debug|Any CPU
+Release|Any CPU = Release|Any CPU
+EndGlobalSection
+GlobalSection(ProjectConfigurationPlatforms) = postSolution
+{321C8C3F-0156-40C1-AE42-D59761FB9B6C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+{321C8C3F-0156-40C1-AE42-D59761FB9B6C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+{321C8C3F-0156-40C1-AE42-D59761FB9B6C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+{321C8C3F-0156-40C1-AE42-D59761FB9B6C}.Release|Any CPU.Build.0 = Release|Any CPU
+{19F1DEBC-DE5E-4517-8062-F000CD499087}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+{19F1DEBC-DE5E-4517-8062-F000CD499087}.Debug|Any CPU.Build.0 = Debug|Any CPU
+{19F1DEBC-DE5E-4517-8062-F000CD499087}.Release|Any CPU.ActiveCfg = Release|Any CPU
+{19F1DEBC-DE5E-4517-8062-F000CD499087}.Release|Any CPU.Build.0 = Release|Any CPU
+EndGlobalSection
+GlobalSection(SolutionProperties) = preSolution
+HideSolutionNode = FALSE
+EndGlobalSection
+EndGlobal
\ No newline at end of file
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/README.md b/samples/client/petstore/csharp/SwaggerClient.v5/README.md
new file mode 100644
index 000000000000..cb19e7d87142
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/README.md
@@ -0,0 +1,162 @@
+# IO.Swagger - the C# library for the Swagger Petstore
+
+This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+
+This C# SDK is automatically generated by the [Swagger Codegen](https://github.com/swagger-api/swagger-codegen) project:
+
+- API version: 1.0.0
+- SDK version: 1.0.0
+- Build package: io.swagger.codegen.languages.CSharpClientCodegen
+
+
+## Frameworks supported
+- .NET Core >=1.0
+- .NET Framework >=4.6
+- Mono/Xamarin >=vNext
+- UWP >=10.0
+
+
+## Dependencies
+- FubarCoder.RestSharp.Portable.Core >=4.0.7
+- FubarCoder.RestSharp.Portable.HttpClient >=4.0.7
+- Newtonsoft.Json >=9.0.1
+
+
+## Installation
+Generate the DLL using your preferred tool
+
+Then include the DLL (under the `bin` folder) in the C# project, and use the namespaces:
+```csharp
+using IO.Swagger.Api;
+using IO.Swagger.Client;
+using IO.Swagger.Model;
+```
+
+## Getting Started
+
+```csharp
+using System;
+using System.Diagnostics;
+using IO.Swagger.Api;
+using IO.Swagger.Client;
+using IO.Swagger.Model;
+
+namespace Example
+{
+ public class Example
+ {
+ public void main()
+ {
+
+ var apiInstance = new FakeApi();
+ var body = new ModelClient(); // ModelClient | client model
+
+ try
+ {
+ // To test \"client\" model
+ ModelClient result = apiInstance.TestClientModel(body);
+ Debug.WriteLine(result);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling FakeApi.TestClientModel: " + e.Message );
+ }
+ }
+ }
+}
+```
+
+
+## Documentation for API Endpoints
+
+All URIs are relative to *http://petstore.swagger.io:80/v2*
+
+Class | Method | HTTP request | Description
+------------ | ------------- | ------------- | -------------
+*FakeApi* | [**TestClientModel**](docs/FakeApi.md#testclientmodel) | **PATCH** /fake | To test \"client\" model
+*FakeApi* | [**TestEndpointParameters**](docs/FakeApi.md#testendpointparameters) | **POST** /fake | Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트
+*FakeApi* | [**TestEnumParameters**](docs/FakeApi.md#testenumparameters) | **GET** /fake | To test enum parameters
+*PetApi* | [**AddPet**](docs/PetApi.md#addpet) | **POST** /pet | Add a new pet to the store
+*PetApi* | [**DeletePet**](docs/PetApi.md#deletepet) | **DELETE** /pet/{petId} | Deletes a pet
+*PetApi* | [**FindPetsByStatus**](docs/PetApi.md#findpetsbystatus) | **GET** /pet/findByStatus | Finds Pets by status
+*PetApi* | [**FindPetsByTags**](docs/PetApi.md#findpetsbytags) | **GET** /pet/findByTags | Finds Pets by tags
+*PetApi* | [**GetPetById**](docs/PetApi.md#getpetbyid) | **GET** /pet/{petId} | Find pet by ID
+*PetApi* | [**UpdatePet**](docs/PetApi.md#updatepet) | **PUT** /pet | Update an existing pet
+*PetApi* | [**UpdatePetWithForm**](docs/PetApi.md#updatepetwithform) | **POST** /pet/{petId} | Updates a pet in the store with form data
+*PetApi* | [**UploadFile**](docs/PetApi.md#uploadfile) | **POST** /pet/{petId}/uploadImage | uploads an image
+*StoreApi* | [**DeleteOrder**](docs/StoreApi.md#deleteorder) | **DELETE** /store/order/{orderId} | Delete purchase order by ID
+*StoreApi* | [**GetInventory**](docs/StoreApi.md#getinventory) | **GET** /store/inventory | Returns pet inventories by status
+*StoreApi* | [**GetOrderById**](docs/StoreApi.md#getorderbyid) | **GET** /store/order/{orderId} | Find purchase order by ID
+*StoreApi* | [**PlaceOrder**](docs/StoreApi.md#placeorder) | **POST** /store/order | Place an order for a pet
+*UserApi* | [**CreateUser**](docs/UserApi.md#createuser) | **POST** /user | Create user
+*UserApi* | [**CreateUsersWithArrayInput**](docs/UserApi.md#createuserswitharrayinput) | **POST** /user/createWithArray | Creates list of users with given input array
+*UserApi* | [**CreateUsersWithListInput**](docs/UserApi.md#createuserswithlistinput) | **POST** /user/createWithList | Creates list of users with given input array
+*UserApi* | [**DeleteUser**](docs/UserApi.md#deleteuser) | **DELETE** /user/{username} | Delete user
+*UserApi* | [**GetUserByName**](docs/UserApi.md#getuserbyname) | **GET** /user/{username} | Get user by user name
+*UserApi* | [**LoginUser**](docs/UserApi.md#loginuser) | **GET** /user/login | Logs user into the system
+*UserApi* | [**LogoutUser**](docs/UserApi.md#logoutuser) | **GET** /user/logout | Logs out current logged in user session
+*UserApi* | [**UpdateUser**](docs/UserApi.md#updateuser) | **PUT** /user/{username} | Updated user
+
+
+
+## Documentation for Models
+
+ - [Model.AdditionalPropertiesClass](docs/AdditionalPropertiesClass.md)
+ - [Model.Animal](docs/Animal.md)
+ - [Model.AnimalFarm](docs/AnimalFarm.md)
+ - [Model.ApiResponse](docs/ApiResponse.md)
+ - [Model.ArrayOfArrayOfNumberOnly](docs/ArrayOfArrayOfNumberOnly.md)
+ - [Model.ArrayOfNumberOnly](docs/ArrayOfNumberOnly.md)
+ - [Model.ArrayTest](docs/ArrayTest.md)
+ - [Model.Capitalization](docs/Capitalization.md)
+ - [Model.Cat](docs/Cat.md)
+ - [Model.Category](docs/Category.md)
+ - [Model.ClassModel](docs/ClassModel.md)
+ - [Model.Dog](docs/Dog.md)
+ - [Model.EnumArrays](docs/EnumArrays.md)
+ - [Model.EnumClass](docs/EnumClass.md)
+ - [Model.EnumTest](docs/EnumTest.md)
+ - [Model.FormatTest](docs/FormatTest.md)
+ - [Model.HasOnlyReadOnly](docs/HasOnlyReadOnly.md)
+ - [Model.List](docs/List.md)
+ - [Model.MapTest](docs/MapTest.md)
+ - [Model.MixedPropertiesAndAdditionalPropertiesClass](docs/MixedPropertiesAndAdditionalPropertiesClass.md)
+ - [Model.Model200Response](docs/Model200Response.md)
+ - [Model.ModelClient](docs/ModelClient.md)
+ - [Model.ModelReturn](docs/ModelReturn.md)
+ - [Model.Name](docs/Name.md)
+ - [Model.NumberOnly](docs/NumberOnly.md)
+ - [Model.Order](docs/Order.md)
+ - [Model.OuterEnum](docs/OuterEnum.md)
+ - [Model.Pet](docs/Pet.md)
+ - [Model.ReadOnlyFirst](docs/ReadOnlyFirst.md)
+ - [Model.SpecialModelName](docs/SpecialModelName.md)
+ - [Model.Tag](docs/Tag.md)
+ - [Model.User](docs/User.md)
+
+
+
+## Documentation for Authorization
+
+
+### api_key
+
+- **Type**: API key
+- **API key parameter name**: api_key
+- **Location**: HTTP header
+
+
+### http_basic_test
+
+- **Type**: HTTP basic authentication
+
+
+### petstore_auth
+
+- **Type**: OAuth
+- **Flow**: implicit
+- **Authorization URL**: http://petstore.swagger.io/api/oauth/dialog
+- **Scopes**:
+ - write:pets: modify pets in your account
+ - read:pets: read your pets
+
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/docs/AdditionalPropertiesClass.md b/samples/client/petstore/csharp/SwaggerClient.v5/docs/AdditionalPropertiesClass.md
new file mode 100644
index 000000000000..ac4f9d10798e
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/docs/AdditionalPropertiesClass.md
@@ -0,0 +1,10 @@
+# IO.Swagger.Model.AdditionalPropertiesClass
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**MapProperty** | **Dictionary<string, string>** | | [optional]
+**MapOfMapProperty** | **Dictionary<string, Dictionary<string, string>>** | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/docs/Animal.md b/samples/client/petstore/csharp/SwaggerClient.v5/docs/Animal.md
new file mode 100644
index 000000000000..f461176159c7
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/docs/Animal.md
@@ -0,0 +1,10 @@
+# IO.Swagger.Model.Animal
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**ClassName** | **string** | |
+**Color** | **string** | | [optional] [default to "red"]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/docs/AnimalFarm.md b/samples/client/petstore/csharp/SwaggerClient.v5/docs/AnimalFarm.md
new file mode 100644
index 000000000000..4d1cccb0cefe
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/docs/AnimalFarm.md
@@ -0,0 +1,8 @@
+# IO.Swagger.Model.AnimalFarm
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/docs/ApiResponse.md b/samples/client/petstore/csharp/SwaggerClient.v5/docs/ApiResponse.md
new file mode 100644
index 000000000000..3e4b4c5e9cbb
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/docs/ApiResponse.md
@@ -0,0 +1,11 @@
+# IO.Swagger.Model.ApiResponse
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Code** | **int?** | | [optional]
+**Type** | **string** | | [optional]
+**Message** | **string** | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/docs/ArrayOfArrayOfNumberOnly.md b/samples/client/petstore/csharp/SwaggerClient.v5/docs/ArrayOfArrayOfNumberOnly.md
new file mode 100644
index 000000000000..3431d89edd03
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/docs/ArrayOfArrayOfNumberOnly.md
@@ -0,0 +1,9 @@
+# IO.Swagger.Model.ArrayOfArrayOfNumberOnly
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**ArrayArrayNumber** | **List<List<decimal?>>** | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/docs/ArrayOfNumberOnly.md b/samples/client/petstore/csharp/SwaggerClient.v5/docs/ArrayOfNumberOnly.md
new file mode 100644
index 000000000000..9dc573663d6d
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/docs/ArrayOfNumberOnly.md
@@ -0,0 +1,9 @@
+# IO.Swagger.Model.ArrayOfNumberOnly
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**ArrayNumber** | **List<decimal?>** | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/docs/ArrayTest.md b/samples/client/petstore/csharp/SwaggerClient.v5/docs/ArrayTest.md
new file mode 100644
index 000000000000..37fb2788b77f
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/docs/ArrayTest.md
@@ -0,0 +1,11 @@
+# IO.Swagger.Model.ArrayTest
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**ArrayOfString** | **List<string>** | | [optional]
+**ArrayArrayOfInteger** | **List<List<long?>>** | | [optional]
+**ArrayArrayOfModel** | **List<List<ReadOnlyFirst>>** | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/docs/Capitalization.md b/samples/client/petstore/csharp/SwaggerClient.v5/docs/Capitalization.md
new file mode 100644
index 000000000000..87d14f03e0d0
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/docs/Capitalization.md
@@ -0,0 +1,14 @@
+# IO.Swagger.Model.Capitalization
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**SmallCamel** | **string** | | [optional]
+**CapitalCamel** | **string** | | [optional]
+**SmallSnake** | **string** | | [optional]
+**CapitalSnake** | **string** | | [optional]
+**SCAETHFlowPoints** | **string** | | [optional]
+**ATT_NAME** | **string** | Name of the pet | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/docs/Cat.md b/samples/client/petstore/csharp/SwaggerClient.v5/docs/Cat.md
new file mode 100644
index 000000000000..a88425f4307c
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/docs/Cat.md
@@ -0,0 +1,11 @@
+# IO.Swagger.Model.Cat
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**ClassName** | **string** | |
+**Color** | **string** | | [optional] [default to "red"]
+**Declawed** | **bool?** | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/docs/Category.md b/samples/client/petstore/csharp/SwaggerClient.v5/docs/Category.md
new file mode 100644
index 000000000000..20b56b1728c1
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/docs/Category.md
@@ -0,0 +1,10 @@
+# IO.Swagger.Model.Category
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Id** | **long?** | | [optional]
+**Name** | **string** | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/docs/ClassModel.md b/samples/client/petstore/csharp/SwaggerClient.v5/docs/ClassModel.md
new file mode 100644
index 000000000000..760130f053cf
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/docs/ClassModel.md
@@ -0,0 +1,9 @@
+# IO.Swagger.Model.ClassModel
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**_Class** | **string** | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/docs/Dog.md b/samples/client/petstore/csharp/SwaggerClient.v5/docs/Dog.md
new file mode 100644
index 000000000000..c3ee6d927b42
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/docs/Dog.md
@@ -0,0 +1,11 @@
+# IO.Swagger.Model.Dog
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**ClassName** | **string** | |
+**Color** | **string** | | [optional] [default to "red"]
+**Breed** | **string** | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/docs/EnumArrays.md b/samples/client/petstore/csharp/SwaggerClient.v5/docs/EnumArrays.md
new file mode 100644
index 000000000000..86fd208f8f89
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/docs/EnumArrays.md
@@ -0,0 +1,10 @@
+# IO.Swagger.Model.EnumArrays
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**JustSymbol** | **string** | | [optional]
+**ArrayEnum** | **List<string>** | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/docs/EnumClass.md b/samples/client/petstore/csharp/SwaggerClient.v5/docs/EnumClass.md
new file mode 100644
index 000000000000..d936aad6f0b2
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/docs/EnumClass.md
@@ -0,0 +1,8 @@
+# IO.Swagger.Model.EnumClass
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/docs/EnumTest.md b/samples/client/petstore/csharp/SwaggerClient.v5/docs/EnumTest.md
new file mode 100644
index 000000000000..a4371a966956
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/docs/EnumTest.md
@@ -0,0 +1,12 @@
+# IO.Swagger.Model.EnumTest
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**EnumString** | **string** | | [optional]
+**EnumInteger** | **int?** | | [optional]
+**EnumNumber** | **double?** | | [optional]
+**OuterEnum** | [**OuterEnum**](OuterEnum.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/docs/FakeApi.md b/samples/client/petstore/csharp/SwaggerClient.v5/docs/FakeApi.md
new file mode 100644
index 000000000000..82a3463dacbb
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/docs/FakeApi.md
@@ -0,0 +1,239 @@
+# IO.Swagger.Api.FakeApi
+
+All URIs are relative to *http://petstore.swagger.io:80/v2*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**TestClientModel**](FakeApi.md#testclientmodel) | **PATCH** /fake | To test \"client\" model
+[**TestEndpointParameters**](FakeApi.md#testendpointparameters) | **POST** /fake | Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트
+[**TestEnumParameters**](FakeApi.md#testenumparameters) | **GET** /fake | To test enum parameters
+
+
+
+# **TestClientModel**
+> ModelClient TestClientModel (ModelClient body)
+
+To test \"client\" model
+
+To test \"client\" model
+
+### Example
+```csharp
+using System;
+using System.Diagnostics;
+using IO.Swagger.Api;
+using IO.Swagger.Client;
+using IO.Swagger.Model;
+
+namespace Example
+{
+ public class TestClientModelExample
+ {
+ public void main()
+ {
+
+ var apiInstance = new FakeApi();
+ var body = new ModelClient(); // ModelClient | client model
+
+ try
+ {
+ // To test \"client\" model
+ ModelClient result = apiInstance.TestClientModel(body);
+ Debug.WriteLine(result);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling FakeApi.TestClientModel: " + e.Message );
+ }
+ }
+ }
+}
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **body** | [**ModelClient**](ModelClient.md)| client model |
+
+### Return type
+
+[**ModelClient**](ModelClient.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **TestEndpointParameters**
+> void TestEndpointParameters (decimal? number, double? _double, string patternWithoutDelimiter, byte[] _byte, int? integer = null, int? int32 = null, long? int64 = null, float? _float = null, string _string = null, byte[] binary = null, DateTime? date = null, DateTime? dateTime = null, string password = null, string callback = null)
+
+Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트
+
+Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트
+
+### Example
+```csharp
+using System;
+using System.Diagnostics;
+using IO.Swagger.Api;
+using IO.Swagger.Client;
+using IO.Swagger.Model;
+
+namespace Example
+{
+ public class TestEndpointParametersExample
+ {
+ public void main()
+ {
+
+ // Configure HTTP basic authorization: http_basic_test
+ Configuration.Default.Username = "YOUR_USERNAME";
+ Configuration.Default.Password = "YOUR_PASSWORD";
+
+ var apiInstance = new FakeApi();
+ var number = 3.4; // decimal? | None
+ var _double = 1.2; // double? | None
+ var patternWithoutDelimiter = patternWithoutDelimiter_example; // string | None
+ var _byte = B; // byte[] | None
+ var integer = 56; // int? | None (optional)
+ var int32 = 56; // int? | None (optional)
+ var int64 = 789; // long? | None (optional)
+ var _float = 3.4; // float? | None (optional)
+ var _string = _string_example; // string | None (optional)
+ var binary = B; // byte[] | None (optional)
+ var date = 2013-10-20; // DateTime? | None (optional)
+ var dateTime = 2013-10-20T19:20:30+01:00; // DateTime? | None (optional)
+ var password = password_example; // string | None (optional)
+ var callback = callback_example; // string | None (optional)
+
+ try
+ {
+ // Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트
+ apiInstance.TestEndpointParameters(number, _double, patternWithoutDelimiter, _byte, integer, int32, int64, _float, _string, binary, date, dateTime, password, callback);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling FakeApi.TestEndpointParameters: " + e.Message );
+ }
+ }
+ }
+}
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **number** | **decimal?**| None |
+ **_double** | **double?**| None |
+ **patternWithoutDelimiter** | **string**| None |
+ **_byte** | **byte[]**| None |
+ **integer** | **int?**| None | [optional]
+ **int32** | **int?**| None | [optional]
+ **int64** | **long?**| None | [optional]
+ **_float** | **float?**| None | [optional]
+ **_string** | **string**| None | [optional]
+ **binary** | **byte[]**| None | [optional]
+ **date** | **DateTime?**| None | [optional]
+ **dateTime** | **DateTime?**| None | [optional]
+ **password** | **string**| None | [optional]
+ **callback** | **string**| None | [optional]
+
+### Return type
+
+void (empty response body)
+
+### Authorization
+
+[http_basic_test](../README.md#http_basic_test)
+
+### HTTP request headers
+
+ - **Content-Type**: application/xml; charset=utf-8, application/json; charset=utf-8
+ - **Accept**: application/xml; charset=utf-8, application/json; charset=utf-8
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **TestEnumParameters**
+> void TestEnumParameters (List enumFormStringArray = null, string enumFormString = null, List enumHeaderStringArray = null, string enumHeaderString = null, List enumQueryStringArray = null, string enumQueryString = null, int? enumQueryInteger = null, double? enumQueryDouble = null)
+
+To test enum parameters
+
+To test enum parameters
+
+### Example
+```csharp
+using System;
+using System.Diagnostics;
+using IO.Swagger.Api;
+using IO.Swagger.Client;
+using IO.Swagger.Model;
+
+namespace Example
+{
+ public class TestEnumParametersExample
+ {
+ public void main()
+ {
+
+ var apiInstance = new FakeApi();
+ var enumFormStringArray = new List(); // List | Form parameter enum test (string array) (optional)
+ var enumFormString = enumFormString_example; // string | Form parameter enum test (string) (optional) (default to -efg)
+ var enumHeaderStringArray = new List(); // List | Header parameter enum test (string array) (optional)
+ var enumHeaderString = enumHeaderString_example; // string | Header parameter enum test (string) (optional) (default to -efg)
+ var enumQueryStringArray = new List(); // List | Query parameter enum test (string array) (optional)
+ var enumQueryString = enumQueryString_example; // string | Query parameter enum test (string) (optional) (default to -efg)
+ var enumQueryInteger = 56; // int? | Query parameter enum test (double) (optional)
+ var enumQueryDouble = 1.2; // double? | Query parameter enum test (double) (optional)
+
+ try
+ {
+ // To test enum parameters
+ apiInstance.TestEnumParameters(enumFormStringArray, enumFormString, enumHeaderStringArray, enumHeaderString, enumQueryStringArray, enumQueryString, enumQueryInteger, enumQueryDouble);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling FakeApi.TestEnumParameters: " + e.Message );
+ }
+ }
+ }
+}
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **enumFormStringArray** | [**List<string>**](string.md)| Form parameter enum test (string array) | [optional]
+ **enumFormString** | **string**| Form parameter enum test (string) | [optional] [default to -efg]
+ **enumHeaderStringArray** | [**List<string>**](string.md)| Header parameter enum test (string array) | [optional]
+ **enumHeaderString** | **string**| Header parameter enum test (string) | [optional] [default to -efg]
+ **enumQueryStringArray** | [**List<string>**](string.md)| Query parameter enum test (string array) | [optional]
+ **enumQueryString** | **string**| Query parameter enum test (string) | [optional] [default to -efg]
+ **enumQueryInteger** | **int?**| Query parameter enum test (double) | [optional]
+ **enumQueryDouble** | **double?**| Query parameter enum test (double) | [optional]
+
+### Return type
+
+void (empty response body)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: */*
+ - **Accept**: */*
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/docs/FormatTest.md b/samples/client/petstore/csharp/SwaggerClient.v5/docs/FormatTest.md
new file mode 100644
index 000000000000..1d366bd7cab4
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/docs/FormatTest.md
@@ -0,0 +1,21 @@
+# IO.Swagger.Model.FormatTest
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Integer** | **int?** | | [optional]
+**Int32** | **int?** | | [optional]
+**Int64** | **long?** | | [optional]
+**Number** | **decimal?** | |
+**_Float** | **float?** | | [optional]
+**_Double** | **double?** | | [optional]
+**_String** | **string** | | [optional]
+**_Byte** | **byte[]** | |
+**Binary** | **byte[]** | | [optional]
+**Date** | **DateTime?** | |
+**DateTime** | **DateTime?** | | [optional]
+**Uuid** | **Guid?** | | [optional]
+**Password** | **string** | |
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/docs/HasOnlyReadOnly.md b/samples/client/petstore/csharp/SwaggerClient.v5/docs/HasOnlyReadOnly.md
new file mode 100644
index 000000000000..cf0190498b96
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/docs/HasOnlyReadOnly.md
@@ -0,0 +1,10 @@
+# IO.Swagger.Model.HasOnlyReadOnly
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Bar** | **string** | | [optional]
+**Foo** | **string** | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/docs/List.md b/samples/client/petstore/csharp/SwaggerClient.v5/docs/List.md
new file mode 100644
index 000000000000..d7555b7e7ac3
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/docs/List.md
@@ -0,0 +1,9 @@
+# IO.Swagger.Model.List
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**_123List** | **string** | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/docs/MapTest.md b/samples/client/petstore/csharp/SwaggerClient.v5/docs/MapTest.md
new file mode 100644
index 000000000000..5c202aa336a1
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/docs/MapTest.md
@@ -0,0 +1,10 @@
+# IO.Swagger.Model.MapTest
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**MapMapOfString** | **Dictionary<string, Dictionary<string, string>>** | | [optional]
+**MapOfEnumString** | **Dictionary<string, string>** | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/docs/MixedPropertiesAndAdditionalPropertiesClass.md b/samples/client/petstore/csharp/SwaggerClient.v5/docs/MixedPropertiesAndAdditionalPropertiesClass.md
new file mode 100644
index 000000000000..e2c978f9ab12
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/docs/MixedPropertiesAndAdditionalPropertiesClass.md
@@ -0,0 +1,11 @@
+# IO.Swagger.Model.MixedPropertiesAndAdditionalPropertiesClass
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Uuid** | **Guid?** | | [optional]
+**DateTime** | **DateTime?** | | [optional]
+**Map** | [**Dictionary<string, Animal>**](Animal.md) | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/docs/Model200Response.md b/samples/client/petstore/csharp/SwaggerClient.v5/docs/Model200Response.md
new file mode 100644
index 000000000000..cfaddb67027e
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/docs/Model200Response.md
@@ -0,0 +1,10 @@
+# IO.Swagger.Model.Model200Response
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Name** | **int?** | | [optional]
+**_Class** | **string** | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/docs/ModelClient.md b/samples/client/petstore/csharp/SwaggerClient.v5/docs/ModelClient.md
new file mode 100644
index 000000000000..9ecdc0e11410
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/docs/ModelClient.md
@@ -0,0 +1,9 @@
+# IO.Swagger.Model.ModelClient
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**_Client** | **string** | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/docs/ModelReturn.md b/samples/client/petstore/csharp/SwaggerClient.v5/docs/ModelReturn.md
new file mode 100644
index 000000000000..9895ccde2b0c
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/docs/ModelReturn.md
@@ -0,0 +1,9 @@
+# IO.Swagger.Model.ModelReturn
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**_Return** | **int?** | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/docs/Name.md b/samples/client/petstore/csharp/SwaggerClient.v5/docs/Name.md
new file mode 100644
index 000000000000..678132c8e4e8
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/docs/Name.md
@@ -0,0 +1,12 @@
+# IO.Swagger.Model.Name
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**_Name** | **int?** | |
+**SnakeCase** | **int?** | | [optional]
+**Property** | **string** | | [optional]
+**_123Number** | **int?** | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/docs/NumberOnly.md b/samples/client/petstore/csharp/SwaggerClient.v5/docs/NumberOnly.md
new file mode 100644
index 000000000000..a156dc4e2fcd
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/docs/NumberOnly.md
@@ -0,0 +1,9 @@
+# IO.Swagger.Model.NumberOnly
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**JustNumber** | **decimal?** | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/docs/Order.md b/samples/client/petstore/csharp/SwaggerClient.v5/docs/Order.md
new file mode 100644
index 000000000000..32aeab388e52
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/docs/Order.md
@@ -0,0 +1,14 @@
+# IO.Swagger.Model.Order
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Id** | **long?** | | [optional]
+**PetId** | **long?** | | [optional]
+**Quantity** | **int?** | | [optional]
+**ShipDate** | **DateTime?** | | [optional]
+**Status** | **string** | Order Status | [optional]
+**Complete** | **bool?** | | [optional] [default to false]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/docs/OuterEnum.md b/samples/client/petstore/csharp/SwaggerClient.v5/docs/OuterEnum.md
new file mode 100644
index 000000000000..55eb118a3496
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/docs/OuterEnum.md
@@ -0,0 +1,8 @@
+# IO.Swagger.Model.OuterEnum
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/docs/Pet.md b/samples/client/petstore/csharp/SwaggerClient.v5/docs/Pet.md
new file mode 100644
index 000000000000..e83933d1c60a
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/docs/Pet.md
@@ -0,0 +1,14 @@
+# IO.Swagger.Model.Pet
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Id** | **long?** | | [optional]
+**Category** | [**Category**](Category.md) | | [optional]
+**Name** | **string** | |
+**PhotoUrls** | **List<string>** | |
+**Tags** | [**List<Tag>**](Tag.md) | | [optional]
+**Status** | **string** | pet status in the store | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/docs/PetApi.md b/samples/client/petstore/csharp/SwaggerClient.v5/docs/PetApi.md
new file mode 100644
index 000000000000..f3f49f5ed5b8
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/docs/PetApi.md
@@ -0,0 +1,544 @@
+# IO.Swagger.Api.PetApi
+
+All URIs are relative to *http://petstore.swagger.io:80/v2*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**AddPet**](PetApi.md#addpet) | **POST** /pet | Add a new pet to the store
+[**DeletePet**](PetApi.md#deletepet) | **DELETE** /pet/{petId} | Deletes a pet
+[**FindPetsByStatus**](PetApi.md#findpetsbystatus) | **GET** /pet/findByStatus | Finds Pets by status
+[**FindPetsByTags**](PetApi.md#findpetsbytags) | **GET** /pet/findByTags | Finds Pets by tags
+[**GetPetById**](PetApi.md#getpetbyid) | **GET** /pet/{petId} | Find pet by ID
+[**UpdatePet**](PetApi.md#updatepet) | **PUT** /pet | Update an existing pet
+[**UpdatePetWithForm**](PetApi.md#updatepetwithform) | **POST** /pet/{petId} | Updates a pet in the store with form data
+[**UploadFile**](PetApi.md#uploadfile) | **POST** /pet/{petId}/uploadImage | uploads an image
+
+
+
+# **AddPet**
+> void AddPet (Pet body)
+
+Add a new pet to the store
+
+
+
+### Example
+```csharp
+using System;
+using System.Diagnostics;
+using IO.Swagger.Api;
+using IO.Swagger.Client;
+using IO.Swagger.Model;
+
+namespace Example
+{
+ public class AddPetExample
+ {
+ public void main()
+ {
+
+ // Configure OAuth2 access token for authorization: petstore_auth
+ Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
+
+ var apiInstance = new PetApi();
+ var body = new Pet(); // Pet | Pet object that needs to be added to the store
+
+ try
+ {
+ // Add a new pet to the store
+ apiInstance.AddPet(body);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling PetApi.AddPet: " + e.Message );
+ }
+ }
+ }
+}
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **body** | [**Pet**](Pet.md)| Pet object that needs to be added to the store |
+
+### Return type
+
+void (empty response body)
+
+### Authorization
+
+[petstore_auth](../README.md#petstore_auth)
+
+### HTTP request headers
+
+ - **Content-Type**: application/json, application/xml
+ - **Accept**: application/xml, application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **DeletePet**
+> void DeletePet (long? petId, string apiKey = null)
+
+Deletes a pet
+
+
+
+### Example
+```csharp
+using System;
+using System.Diagnostics;
+using IO.Swagger.Api;
+using IO.Swagger.Client;
+using IO.Swagger.Model;
+
+namespace Example
+{
+ public class DeletePetExample
+ {
+ public void main()
+ {
+
+ // Configure OAuth2 access token for authorization: petstore_auth
+ Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
+
+ var apiInstance = new PetApi();
+ var petId = 789; // long? | Pet id to delete
+ var apiKey = apiKey_example; // string | (optional)
+
+ try
+ {
+ // Deletes a pet
+ apiInstance.DeletePet(petId, apiKey);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling PetApi.DeletePet: " + e.Message );
+ }
+ }
+ }
+}
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **petId** | **long?**| Pet id to delete |
+ **apiKey** | **string**| | [optional]
+
+### Return type
+
+void (empty response body)
+
+### Authorization
+
+[petstore_auth](../README.md#petstore_auth)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/xml, application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **FindPetsByStatus**
+> List FindPetsByStatus (List status)
+
+Finds Pets by status
+
+Multiple status values can be provided with comma separated strings
+
+### Example
+```csharp
+using System;
+using System.Diagnostics;
+using IO.Swagger.Api;
+using IO.Swagger.Client;
+using IO.Swagger.Model;
+
+namespace Example
+{
+ public class FindPetsByStatusExample
+ {
+ public void main()
+ {
+
+ // Configure OAuth2 access token for authorization: petstore_auth
+ Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
+
+ var apiInstance = new PetApi();
+ var status = new List(); // List | Status values that need to be considered for filter
+
+ try
+ {
+ // Finds Pets by status
+ List<Pet> result = apiInstance.FindPetsByStatus(status);
+ Debug.WriteLine(result);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling PetApi.FindPetsByStatus: " + e.Message );
+ }
+ }
+ }
+}
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **status** | [**List<string>**](string.md)| Status values that need to be considered for filter |
+
+### Return type
+
+[**List**](Pet.md)
+
+### Authorization
+
+[petstore_auth](../README.md#petstore_auth)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/xml, application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **FindPetsByTags**
+> List FindPetsByTags (List tags)
+
+Finds Pets by tags
+
+Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.
+
+### Example
+```csharp
+using System;
+using System.Diagnostics;
+using IO.Swagger.Api;
+using IO.Swagger.Client;
+using IO.Swagger.Model;
+
+namespace Example
+{
+ public class FindPetsByTagsExample
+ {
+ public void main()
+ {
+
+ // Configure OAuth2 access token for authorization: petstore_auth
+ Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
+
+ var apiInstance = new PetApi();
+ var tags = new List(); // List | Tags to filter by
+
+ try
+ {
+ // Finds Pets by tags
+ List<Pet> result = apiInstance.FindPetsByTags(tags);
+ Debug.WriteLine(result);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling PetApi.FindPetsByTags: " + e.Message );
+ }
+ }
+ }
+}
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **tags** | [**List<string>**](string.md)| Tags to filter by |
+
+### Return type
+
+[**List**](Pet.md)
+
+### Authorization
+
+[petstore_auth](../README.md#petstore_auth)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/xml, application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **GetPetById**
+> Pet GetPetById (long? petId)
+
+Find pet by ID
+
+Returns a single pet
+
+### Example
+```csharp
+using System;
+using System.Diagnostics;
+using IO.Swagger.Api;
+using IO.Swagger.Client;
+using IO.Swagger.Model;
+
+namespace Example
+{
+ public class GetPetByIdExample
+ {
+ public void main()
+ {
+
+ // Configure API key authorization: api_key
+ Configuration.Default.ApiKey.Add("api_key", "YOUR_API_KEY");
+ // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
+ // Configuration.Default.ApiKeyPrefix.Add("api_key", "Bearer");
+
+ var apiInstance = new PetApi();
+ var petId = 789; // long? | ID of pet to return
+
+ try
+ {
+ // Find pet by ID
+ Pet result = apiInstance.GetPetById(petId);
+ Debug.WriteLine(result);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling PetApi.GetPetById: " + e.Message );
+ }
+ }
+ }
+}
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **petId** | **long?**| ID of pet to return |
+
+### Return type
+
+[**Pet**](Pet.md)
+
+### Authorization
+
+[api_key](../README.md#api_key)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/xml, application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **UpdatePet**
+> void UpdatePet (Pet body)
+
+Update an existing pet
+
+
+
+### Example
+```csharp
+using System;
+using System.Diagnostics;
+using IO.Swagger.Api;
+using IO.Swagger.Client;
+using IO.Swagger.Model;
+
+namespace Example
+{
+ public class UpdatePetExample
+ {
+ public void main()
+ {
+
+ // Configure OAuth2 access token for authorization: petstore_auth
+ Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
+
+ var apiInstance = new PetApi();
+ var body = new Pet(); // Pet | Pet object that needs to be added to the store
+
+ try
+ {
+ // Update an existing pet
+ apiInstance.UpdatePet(body);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling PetApi.UpdatePet: " + e.Message );
+ }
+ }
+ }
+}
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **body** | [**Pet**](Pet.md)| Pet object that needs to be added to the store |
+
+### Return type
+
+void (empty response body)
+
+### Authorization
+
+[petstore_auth](../README.md#petstore_auth)
+
+### HTTP request headers
+
+ - **Content-Type**: application/json, application/xml
+ - **Accept**: application/xml, application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **UpdatePetWithForm**
+> void UpdatePetWithForm (long? petId, string name = null, string status = null)
+
+Updates a pet in the store with form data
+
+
+
+### Example
+```csharp
+using System;
+using System.Diagnostics;
+using IO.Swagger.Api;
+using IO.Swagger.Client;
+using IO.Swagger.Model;
+
+namespace Example
+{
+ public class UpdatePetWithFormExample
+ {
+ public void main()
+ {
+
+ // Configure OAuth2 access token for authorization: petstore_auth
+ Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
+
+ var apiInstance = new PetApi();
+ var petId = 789; // long? | ID of pet that needs to be updated
+ var name = name_example; // string | Updated name of the pet (optional)
+ var status = status_example; // string | Updated status of the pet (optional)
+
+ try
+ {
+ // Updates a pet in the store with form data
+ apiInstance.UpdatePetWithForm(petId, name, status);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling PetApi.UpdatePetWithForm: " + e.Message );
+ }
+ }
+ }
+}
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **petId** | **long?**| ID of pet that needs to be updated |
+ **name** | **string**| Updated name of the pet | [optional]
+ **status** | **string**| Updated status of the pet | [optional]
+
+### Return type
+
+void (empty response body)
+
+### Authorization
+
+[petstore_auth](../README.md#petstore_auth)
+
+### HTTP request headers
+
+ - **Content-Type**: application/x-www-form-urlencoded
+ - **Accept**: application/xml, application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **UploadFile**
+> ApiResponse UploadFile (long? petId, string additionalMetadata = null, System.IO.Stream file = null)
+
+uploads an image
+
+
+
+### Example
+```csharp
+using System;
+using System.Diagnostics;
+using IO.Swagger.Api;
+using IO.Swagger.Client;
+using IO.Swagger.Model;
+
+namespace Example
+{
+ public class UploadFileExample
+ {
+ public void main()
+ {
+
+ // Configure OAuth2 access token for authorization: petstore_auth
+ Configuration.Default.AccessToken = "YOUR_ACCESS_TOKEN";
+
+ var apiInstance = new PetApi();
+ var petId = 789; // long? | ID of pet to update
+ var additionalMetadata = additionalMetadata_example; // string | Additional data to pass to server (optional)
+ var file = new System.IO.Stream(); // System.IO.Stream | file to upload (optional)
+
+ try
+ {
+ // uploads an image
+ ApiResponse result = apiInstance.UploadFile(petId, additionalMetadata, file);
+ Debug.WriteLine(result);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling PetApi.UploadFile: " + e.Message );
+ }
+ }
+ }
+}
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **petId** | **long?**| ID of pet to update |
+ **additionalMetadata** | **string**| Additional data to pass to server | [optional]
+ **file** | **System.IO.Stream**| file to upload | [optional]
+
+### Return type
+
+[**ApiResponse**](ApiResponse.md)
+
+### Authorization
+
+[petstore_auth](../README.md#petstore_auth)
+
+### HTTP request headers
+
+ - **Content-Type**: multipart/form-data
+ - **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/docs/ReadOnlyFirst.md b/samples/client/petstore/csharp/SwaggerClient.v5/docs/ReadOnlyFirst.md
new file mode 100644
index 000000000000..b5f8d4848699
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/docs/ReadOnlyFirst.md
@@ -0,0 +1,10 @@
+# IO.Swagger.Model.ReadOnlyFirst
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Bar** | **string** | | [optional]
+**Baz** | **string** | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/docs/SpecialModelName.md b/samples/client/petstore/csharp/SwaggerClient.v5/docs/SpecialModelName.md
new file mode 100644
index 000000000000..ee1bc3168353
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/docs/SpecialModelName.md
@@ -0,0 +1,9 @@
+# IO.Swagger.Model.SpecialModelName
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**SpecialPropertyName** | **long?** | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/docs/StoreApi.md b/samples/client/petstore/csharp/SwaggerClient.v5/docs/StoreApi.md
new file mode 100644
index 000000000000..74094e501bca
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/docs/StoreApi.md
@@ -0,0 +1,260 @@
+# IO.Swagger.Api.StoreApi
+
+All URIs are relative to *http://petstore.swagger.io:80/v2*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**DeleteOrder**](StoreApi.md#deleteorder) | **DELETE** /store/order/{orderId} | Delete purchase order by ID
+[**GetInventory**](StoreApi.md#getinventory) | **GET** /store/inventory | Returns pet inventories by status
+[**GetOrderById**](StoreApi.md#getorderbyid) | **GET** /store/order/{orderId} | Find purchase order by ID
+[**PlaceOrder**](StoreApi.md#placeorder) | **POST** /store/order | Place an order for a pet
+
+
+
+# **DeleteOrder**
+> void DeleteOrder (string orderId)
+
+Delete purchase order by ID
+
+For valid response try integer IDs with value < 1000. Anything above 1000 or nonintegers will generate API errors
+
+### Example
+```csharp
+using System;
+using System.Diagnostics;
+using IO.Swagger.Api;
+using IO.Swagger.Client;
+using IO.Swagger.Model;
+
+namespace Example
+{
+ public class DeleteOrderExample
+ {
+ public void main()
+ {
+
+ var apiInstance = new StoreApi();
+ var orderId = orderId_example; // string | ID of the order that needs to be deleted
+
+ try
+ {
+ // Delete purchase order by ID
+ apiInstance.DeleteOrder(orderId);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling StoreApi.DeleteOrder: " + e.Message );
+ }
+ }
+ }
+}
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **orderId** | **string**| ID of the order that needs to be deleted |
+
+### Return type
+
+void (empty response body)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/xml, application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **GetInventory**
+> Dictionary GetInventory ()
+
+Returns pet inventories by status
+
+Returns a map of status codes to quantities
+
+### Example
+```csharp
+using System;
+using System.Diagnostics;
+using IO.Swagger.Api;
+using IO.Swagger.Client;
+using IO.Swagger.Model;
+
+namespace Example
+{
+ public class GetInventoryExample
+ {
+ public void main()
+ {
+
+ // Configure API key authorization: api_key
+ Configuration.Default.ApiKey.Add("api_key", "YOUR_API_KEY");
+ // Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
+ // Configuration.Default.ApiKeyPrefix.Add("api_key", "Bearer");
+
+ var apiInstance = new StoreApi();
+
+ try
+ {
+ // Returns pet inventories by status
+ Dictionary<string, int?> result = apiInstance.GetInventory();
+ Debug.WriteLine(result);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling StoreApi.GetInventory: " + e.Message );
+ }
+ }
+ }
+}
+```
+
+### Parameters
+This endpoint does not need any parameter.
+
+### Return type
+
+**Dictionary**
+
+### Authorization
+
+[api_key](../README.md#api_key)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **GetOrderById**
+> Order GetOrderById (long? orderId)
+
+Find purchase order by ID
+
+For valid response try integer IDs with value <= 5 or > 10. Other values will generated exceptions
+
+### Example
+```csharp
+using System;
+using System.Diagnostics;
+using IO.Swagger.Api;
+using IO.Swagger.Client;
+using IO.Swagger.Model;
+
+namespace Example
+{
+ public class GetOrderByIdExample
+ {
+ public void main()
+ {
+
+ var apiInstance = new StoreApi();
+ var orderId = 789; // long? | ID of pet that needs to be fetched
+
+ try
+ {
+ // Find purchase order by ID
+ Order result = apiInstance.GetOrderById(orderId);
+ Debug.WriteLine(result);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling StoreApi.GetOrderById: " + e.Message );
+ }
+ }
+ }
+}
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **orderId** | **long?**| ID of pet that needs to be fetched |
+
+### Return type
+
+[**Order**](Order.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/xml, application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **PlaceOrder**
+> Order PlaceOrder (Order body)
+
+Place an order for a pet
+
+
+
+### Example
+```csharp
+using System;
+using System.Diagnostics;
+using IO.Swagger.Api;
+using IO.Swagger.Client;
+using IO.Swagger.Model;
+
+namespace Example
+{
+ public class PlaceOrderExample
+ {
+ public void main()
+ {
+
+ var apiInstance = new StoreApi();
+ var body = new Order(); // Order | order placed for purchasing the pet
+
+ try
+ {
+ // Place an order for a pet
+ Order result = apiInstance.PlaceOrder(body);
+ Debug.WriteLine(result);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling StoreApi.PlaceOrder: " + e.Message );
+ }
+ }
+ }
+}
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **body** | [**Order**](Order.md)| order placed for purchasing the pet |
+
+### Return type
+
+[**Order**](Order.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/xml, application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/docs/Tag.md b/samples/client/petstore/csharp/SwaggerClient.v5/docs/Tag.md
new file mode 100644
index 000000000000..64c5e6bdc720
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/docs/Tag.md
@@ -0,0 +1,10 @@
+# IO.Swagger.Model.Tag
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Id** | **long?** | | [optional]
+**Name** | **string** | | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/docs/User.md b/samples/client/petstore/csharp/SwaggerClient.v5/docs/User.md
new file mode 100644
index 000000000000..fbea33c48b92
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/docs/User.md
@@ -0,0 +1,16 @@
+# IO.Swagger.Model.User
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**Id** | **long?** | | [optional]
+**Username** | **string** | | [optional]
+**FirstName** | **string** | | [optional]
+**LastName** | **string** | | [optional]
+**Email** | **string** | | [optional]
+**Password** | **string** | | [optional]
+**Phone** | **string** | | [optional]
+**UserStatus** | **int?** | User Status | [optional]
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/docs/UserApi.md b/samples/client/petstore/csharp/SwaggerClient.v5/docs/UserApi.md
new file mode 100644
index 000000000000..78553f5b3854
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/docs/UserApi.md
@@ -0,0 +1,506 @@
+# IO.Swagger.Api.UserApi
+
+All URIs are relative to *http://petstore.swagger.io:80/v2*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**CreateUser**](UserApi.md#createuser) | **POST** /user | Create user
+[**CreateUsersWithArrayInput**](UserApi.md#createuserswitharrayinput) | **POST** /user/createWithArray | Creates list of users with given input array
+[**CreateUsersWithListInput**](UserApi.md#createuserswithlistinput) | **POST** /user/createWithList | Creates list of users with given input array
+[**DeleteUser**](UserApi.md#deleteuser) | **DELETE** /user/{username} | Delete user
+[**GetUserByName**](UserApi.md#getuserbyname) | **GET** /user/{username} | Get user by user name
+[**LoginUser**](UserApi.md#loginuser) | **GET** /user/login | Logs user into the system
+[**LogoutUser**](UserApi.md#logoutuser) | **GET** /user/logout | Logs out current logged in user session
+[**UpdateUser**](UserApi.md#updateuser) | **PUT** /user/{username} | Updated user
+
+
+
+# **CreateUser**
+> void CreateUser (User body)
+
+Create user
+
+This can only be done by the logged in user.
+
+### Example
+```csharp
+using System;
+using System.Diagnostics;
+using IO.Swagger.Api;
+using IO.Swagger.Client;
+using IO.Swagger.Model;
+
+namespace Example
+{
+ public class CreateUserExample
+ {
+ public void main()
+ {
+
+ var apiInstance = new UserApi();
+ var body = new User(); // User | Created user object
+
+ try
+ {
+ // Create user
+ apiInstance.CreateUser(body);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling UserApi.CreateUser: " + e.Message );
+ }
+ }
+ }
+}
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **body** | [**User**](User.md)| Created user object |
+
+### Return type
+
+void (empty response body)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/xml, application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **CreateUsersWithArrayInput**
+> void CreateUsersWithArrayInput (List body)
+
+Creates list of users with given input array
+
+
+
+### Example
+```csharp
+using System;
+using System.Diagnostics;
+using IO.Swagger.Api;
+using IO.Swagger.Client;
+using IO.Swagger.Model;
+
+namespace Example
+{
+ public class CreateUsersWithArrayInputExample
+ {
+ public void main()
+ {
+
+ var apiInstance = new UserApi();
+ var body = new List(); // List | List of user object
+
+ try
+ {
+ // Creates list of users with given input array
+ apiInstance.CreateUsersWithArrayInput(body);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling UserApi.CreateUsersWithArrayInput: " + e.Message );
+ }
+ }
+ }
+}
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **body** | [**List<User>**](User.md)| List of user object |
+
+### Return type
+
+void (empty response body)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/xml, application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **CreateUsersWithListInput**
+> void CreateUsersWithListInput (List body)
+
+Creates list of users with given input array
+
+
+
+### Example
+```csharp
+using System;
+using System.Diagnostics;
+using IO.Swagger.Api;
+using IO.Swagger.Client;
+using IO.Swagger.Model;
+
+namespace Example
+{
+ public class CreateUsersWithListInputExample
+ {
+ public void main()
+ {
+
+ var apiInstance = new UserApi();
+ var body = new List(); // List | List of user object
+
+ try
+ {
+ // Creates list of users with given input array
+ apiInstance.CreateUsersWithListInput(body);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling UserApi.CreateUsersWithListInput: " + e.Message );
+ }
+ }
+ }
+}
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **body** | [**List<User>**](User.md)| List of user object |
+
+### Return type
+
+void (empty response body)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/xml, application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **DeleteUser**
+> void DeleteUser (string username)
+
+Delete user
+
+This can only be done by the logged in user.
+
+### Example
+```csharp
+using System;
+using System.Diagnostics;
+using IO.Swagger.Api;
+using IO.Swagger.Client;
+using IO.Swagger.Model;
+
+namespace Example
+{
+ public class DeleteUserExample
+ {
+ public void main()
+ {
+
+ var apiInstance = new UserApi();
+ var username = username_example; // string | The name that needs to be deleted
+
+ try
+ {
+ // Delete user
+ apiInstance.DeleteUser(username);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling UserApi.DeleteUser: " + e.Message );
+ }
+ }
+ }
+}
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **username** | **string**| The name that needs to be deleted |
+
+### Return type
+
+void (empty response body)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/xml, application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **GetUserByName**
+> User GetUserByName (string username)
+
+Get user by user name
+
+
+
+### Example
+```csharp
+using System;
+using System.Diagnostics;
+using IO.Swagger.Api;
+using IO.Swagger.Client;
+using IO.Swagger.Model;
+
+namespace Example
+{
+ public class GetUserByNameExample
+ {
+ public void main()
+ {
+
+ var apiInstance = new UserApi();
+ var username = username_example; // string | The name that needs to be fetched. Use user1 for testing.
+
+ try
+ {
+ // Get user by user name
+ User result = apiInstance.GetUserByName(username);
+ Debug.WriteLine(result);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling UserApi.GetUserByName: " + e.Message );
+ }
+ }
+ }
+}
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **username** | **string**| The name that needs to be fetched. Use user1 for testing. |
+
+### Return type
+
+[**User**](User.md)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/xml, application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **LoginUser**
+> string LoginUser (string username, string password)
+
+Logs user into the system
+
+
+
+### Example
+```csharp
+using System;
+using System.Diagnostics;
+using IO.Swagger.Api;
+using IO.Swagger.Client;
+using IO.Swagger.Model;
+
+namespace Example
+{
+ public class LoginUserExample
+ {
+ public void main()
+ {
+
+ var apiInstance = new UserApi();
+ var username = username_example; // string | The user name for login
+ var password = password_example; // string | The password for login in clear text
+
+ try
+ {
+ // Logs user into the system
+ string result = apiInstance.LoginUser(username, password);
+ Debug.WriteLine(result);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling UserApi.LoginUser: " + e.Message );
+ }
+ }
+ }
+}
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **username** | **string**| The user name for login |
+ **password** | **string**| The password for login in clear text |
+
+### Return type
+
+**string**
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/xml, application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **LogoutUser**
+> void LogoutUser ()
+
+Logs out current logged in user session
+
+
+
+### Example
+```csharp
+using System;
+using System.Diagnostics;
+using IO.Swagger.Api;
+using IO.Swagger.Client;
+using IO.Swagger.Model;
+
+namespace Example
+{
+ public class LogoutUserExample
+ {
+ public void main()
+ {
+
+ var apiInstance = new UserApi();
+
+ try
+ {
+ // Logs out current logged in user session
+ apiInstance.LogoutUser();
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling UserApi.LogoutUser: " + e.Message );
+ }
+ }
+ }
+}
+```
+
+### Parameters
+This endpoint does not need any parameter.
+
+### Return type
+
+void (empty response body)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/xml, application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
+
+# **UpdateUser**
+> void UpdateUser (string username, User body)
+
+Updated user
+
+This can only be done by the logged in user.
+
+### Example
+```csharp
+using System;
+using System.Diagnostics;
+using IO.Swagger.Api;
+using IO.Swagger.Client;
+using IO.Swagger.Model;
+
+namespace Example
+{
+ public class UpdateUserExample
+ {
+ public void main()
+ {
+
+ var apiInstance = new UserApi();
+ var username = username_example; // string | name that need to be deleted
+ var body = new User(); // User | Updated user object
+
+ try
+ {
+ // Updated user
+ apiInstance.UpdateUser(username, body);
+ }
+ catch (Exception e)
+ {
+ Debug.Print("Exception when calling UserApi.UpdateUser: " + e.Message );
+ }
+ }
+ }
+}
+```
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **username** | **string**| name that need to be deleted |
+ **body** | [**User**](User.md)| Updated user object |
+
+### Return type
+
+void (empty response body)
+
+### Authorization
+
+No authorization required
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/xml, application/json
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/git_push.sh b/samples/client/petstore/csharp/SwaggerClient.v5/git_push.sh
new file mode 100644
index 000000000000..792320114fbe
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/git_push.sh
@@ -0,0 +1,52 @@
+#!/bin/sh
+# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/
+#
+# Usage example: /bin/sh ./git_push.sh wing328 swagger-petstore-perl "minor update"
+
+git_user_id=$1
+git_repo_id=$2
+release_note=$3
+
+if [ "$git_user_id" = "" ]; then
+ git_user_id="GIT_USER_ID"
+ echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id"
+fi
+
+if [ "$git_repo_id" = "" ]; then
+ git_repo_id="GIT_REPO_ID"
+ echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id"
+fi
+
+if [ "$release_note" = "" ]; then
+ release_note="Minor update"
+ echo "[INFO] No command line input provided. Set \$release_note to $release_note"
+fi
+
+# Initialize the local directory as a Git repository
+git init
+
+# Adds the files in the local repository and stages them for commit.
+git add .
+
+# Commits the tracked changes and prepares them to be pushed to a remote repository.
+git commit -m "$release_note"
+
+# Sets the new remote
+git_remote=`git remote`
+if [ "$git_remote" = "" ]; then # git remote not defined
+
+ if [ "$GIT_TOKEN" = "" ]; then
+ echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git crediential in your environment."
+ git remote add origin https://github.com/${git_user_id}/${git_repo_id}.git
+ else
+ git remote add origin https://${git_user_id}:${GIT_TOKEN}@github.com/${git_user_id}/${git_repo_id}.git
+ fi
+
+fi
+
+git pull origin master
+
+# Pushes (Forces) the changes in the local repository up to the remote repository
+echo "Git pushing to https://github.com/${git_user_id}/${git_repo_id}.git"
+git push origin master 2>&1 | grep -v 'To https'
+
diff --git a/samples/client/petstore/csharp/SwaggerClient.v5/src/IO.Swagger/Api/FakeApi.cs b/samples/client/petstore/csharp/SwaggerClient.v5/src/IO.Swagger/Api/FakeApi.cs
new file mode 100644
index 000000000000..af9f43b9e245
--- /dev/null
+++ b/samples/client/petstore/csharp/SwaggerClient.v5/src/IO.Swagger/Api/FakeApi.cs
@@ -0,0 +1,527 @@
+/*
+ * Swagger Petstore
+ *
+ * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
+ *
+ * OpenAPI spec version: 1.0.0
+ * Contact: apiteam@swagger.io
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using RestSharp.Portable;
+using IO.Swagger.Client;
+using IO.Swagger.Model;
+
+namespace IO.Swagger.Api
+{
+ ///
+ /// Represents a collection of functions to interact with the API endpoints
+ ///
+ public interface IFakeApi : IApiAccessor
+ {
+ #region Synchronous Operations
+ ///
+ /// To test \"client\" model
+ ///
+ ///
+ /// To test \"client\" model
+ ///
+ /// Thrown when fails to make API call
+ /// client model
+ /// ModelClient
+ ModelClient TestClientModel (ModelClient body);
+
+ ///
+ /// To test \"client\" model
+ ///
+ ///
+ /// To test \"client\" model
+ ///
+ /// Thrown when fails to make API call
+ /// client model
+ /// ApiResponse of ModelClient
+ ApiResponse TestClientModelWithHttpInfo (ModelClient body);
+ ///
+ /// Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트
+ ///
+ ///
+ /// Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트
+ ///
+ /// Thrown when fails to make API call
+ /// None
+ /// None
+ /// None
+ /// None
+ /// None (optional)
+ /// None (optional)
+ /// None (optional)
+ /// None (optional)
+ /// None (optional)
+ /// None (optional)
+ /// None (optional)
+ /// None (optional)
+ /// None (optional)
+ /// None (optional)
+ ///
+ void TestEndpointParameters (decimal? number, double? _double, string patternWithoutDelimiter, byte[] _byte, int? integer = null, int? int32 = null, long? int64 = null, float? _float = null, string _string = null, byte[] binary = null, DateTime? date = null, DateTime? dateTime = null, string password = null, string callback = null);
+
+ ///
+ /// Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트
+ ///
+ ///
+ /// Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트
+ ///
+ /// Thrown when fails to make API call
+ /// None
+ /// None
+ /// None
+ /// None
+ /// None (optional)
+ /// None (optional)
+ /// None (optional)
+ /// None (optional)
+ /// None (optional)
+ /// None (optional)
+ /// None (optional)
+ /// None (optional)
+ /// None (optional)
+ /// None (optional)
+ /// ApiResponse of Object(void)
+ ApiResponse