MakeGenericAgain 1.0.6
dotnet tool install --global MakeGenericAgain --version 1.0.6
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest # if you are setting up this repo dotnet tool install --local MakeGenericAgain --version 1.0.6
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=MakeGenericAgain&version=1.0.6
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
nuke :add-package MakeGenericAgain --version 1.0.6
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
MakeGenericAgain
Problem is that nswag client code generation from open api specification or swagger generates classes without generics. This tool can be used afterwards to make classes generic again
More infos about the general problem can be found here
- https://github.com/RicoSuter/NSwag/issues/1139
- https://blog.devgenius.io/nswag-csharp-client-with-generics-support-6ad6a09f81d6
To install it on other projects, add this to the csproj:
<Target Name="MakeGenericAgain" AfterTargets="NSwag" Condition="'$(Configuration)' == 'Debug'">
<Exec IgnoreExitCode="true" Command="dotnet tool install --global makeGenericAgain" />
<Exec Command="makeGenericAgain -f $(SolutionDir)src\SDK\Net\v1\ClientGenerated.cs" />
</Target>
You can optionally provide names of types to ignore (should include any type names containing the word 'Of' as a minimum)
<Target Name="MakeGenericAgain" AfterTargets="NSwag" Condition="'$(Configuration)' == 'Debug'">
<Exec IgnoreExitCode="true" Command="dotnet tool install --global makeGenericAgain" />
<Exec Command="makeGenericAgain -f $(SolutionDir)src\SDK\Net\v1\ClientGenerated.cs -i IgnorableOfType,AnotherOfIgnorable" />
</Target>
To run int use
makeGenericAgain -f "C:\Path\client.cs"
Or with ignorable type names
makeGenericAgain -f "C:\Path\client.cs" -i "IgnorableOfType,AnotherOfIgnorable"
Also you can specify specific output file with -o
makeGenericAgain -f "C:\Path\client.cs" -i "IgnorableOfType,AnotherOfIgnorable" -o "C:\Path\client_with_generics.cs"
Links
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
This package has no dependencies.