SharpPortico.SourceGenerator
0.4.0-RC.3
See the version list below for details.
dotnet add package SharpPortico.SourceGenerator --version 0.4.0-RC.3
NuGet\Install-Package SharpPortico.SourceGenerator -Version 0.4.0-RC.3
<PackageReference Include="SharpPortico.SourceGenerator" Version="0.4.0-RC.3" />
<PackageVersion Include="SharpPortico.SourceGenerator" Version="0.4.0-RC.3" />
<PackageReference Include="SharpPortico.SourceGenerator" />
paket add SharpPortico.SourceGenerator --version 0.4.0-RC.3
#r "nuget: SharpPortico.SourceGenerator, 0.4.0-RC.3"
#:package SharpPortico.SourceGenerator@0.4.0-RC.3
#addin nuget:?package=SharpPortico.SourceGenerator&version=0.4.0-RC.3&prerelease
#tool nuget:?package=SharpPortico.SourceGenerator&version=0.4.0-RC.3&prerelease
SharpPortico.SourceGenerator

Incremental source generator: OpenAPI 3.0/3.1 → gRPC + protobuf + C# 14.
SharpPortico is a compile-time IIncrementalGenerator. Declare your OpenAPI spec (YAML or JSON) with an [assembly: OpenApiToGrpc] attribute or an MSBuild <AdditionalFiles> item, and it generates production-quality gRPC services, hand-written protobuf messages, typed C# 14 clients and DI wiring — zero reflection, NativeAOT-safe. Enable proxy mode and it also emits a {Service}Proxy that turns the service into a gRPC↔REST gateway for legacy APIs.
Add the spec to your project as an AdditionalFiles item — that is where the content comes from — and the
generator runs on every build:
<ItemGroup>
<PackageReference Include="SharpPortico.SourceGenerator" Version="0.4.0-RC.3"
PrivateAssets="all" />
<AdditionalFiles Include="openapi/**/*.yaml" />
</ItemGroup>
Name the service and its namespace with MSBuild properties (per-file SharpporticoServiceName /
SharpporticoNamespace metadata works too, where the SDK surfaces it to analyzers):
<PropertyGroup>
<SharpPorticoServiceName>UserService</SharpPorticoServiceName>
<SharpPorticoNamespace>MyApp.Generated</SharpPorticoNamespace>
</PropertyGroup>
The [OpenApiToGrpc] attribute configures the same generation when you reference SharpPortico.Abstractions as a
project: it carries the mapping options (streaming hints, pagination, proxy mode), and the specification still has
to be an AdditionalFiles item.
Do not also add the generator by hand with
<Analyzer Include="...lib\netstandard2.0\SharpPortico.SourceGenerator.dll" />: the package ships it under bothanalyzers/dotnet/csandlib, and using both routes runs it twice.
📖 Full documentation, mapping rules & samples: SharpPortico on GitHub
License
MIT — see LICENSE. Copyright (c) 2026 MPCoreDeveloper.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. 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 was computed. 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.2.0-preview.1 | 44 | 9/19/2026 |
| 1.1.4-preview.1 | 43 | 9/19/2026 |
| 1.1.3-preview.1 | 40 | 9/19/2026 |
| 1.1.2-preview.1 | 41 | 9/19/2026 |
| 1.1.1 | 84 | 9/13/2026 |
| 1.1.0 | 91 | 9/13/2026 |
| 1.0.0 | 111 | 8/23/2026 |
| 0.4.0-RC.4 | 46 | 9/13/2026 |
| 0.4.0-RC.3 | 48 | 9/13/2026 |
| 0.4.0-RC.2 | 44 | 9/13/2026 |
| 0.4.0-RC.1 | 51 | 9/13/2026 |
| 0.3.0-RC.1 | 60 | 9/13/2026 |
| 0.2.0 | 89 | 9/9/2026 |