FlanderDev.RouteGen.Generators
0.4.0
See the version list below for details.
dotnet add package FlanderDev.RouteGen.Generators --version 0.4.0
NuGet\Install-Package FlanderDev.RouteGen.Generators -Version 0.4.0
<PackageReference Include="FlanderDev.RouteGen.Generators" Version="0.4.0"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
<PackageVersion Include="FlanderDev.RouteGen.Generators" Version="0.4.0" />
<PackageReference Include="FlanderDev.RouteGen.Generators"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
paket add FlanderDev.RouteGen.Generators --version 0.4.0
#r "nuget: FlanderDev.RouteGen.Generators, 0.4.0"
#:package FlanderDev.RouteGen.Generators@0.4.0
#addin nuget:?package=FlanderDev.RouteGen.Generators&version=0.4.0
#tool nuget:?package=FlanderDev.RouteGen.Generators&version=0.4.0
FlanderDev.RouteGen.Generators
Roslyn source generators for RouteGen.
This package generates:
- An abstract ASP.NET Core MVC controller base from your shared API interface
- A strongly typed
HttpClientimplementation for the Blazor client - Strongly typed page-route helpers from
@pagedirectives in.razorfiles
Quick start
# Shared project
dotnet add package FlanderDev.RouteGen.Abstractions
# Server + Client projects
dotnet add package FlanderDev.RouteGen.Abstractions
dotnet add package FlanderDev.RouteGen.Generators
Mark the generator package with PrivateAssets="all" (this is set automatically when you use
dotnet add package on an analyzer package):
<PackageReference Include="FlanderDev.RouteGen.Generators" PrivateAssets="all" />
For page-route generation, add your Razor files as AdditionalFiles to whichever project should
get the generated Paths class — putting this (and the generator reference above) in your
shared project, pointed at the client's .razor files, lets both server and client see the
same Paths type:
<AdditionalFiles Include="..\YourApp.Client\**\*.razor" />
Define the API once in the shared project, then:
- Inherit from the generated
*ControllerBaseon the server - Inject the generated
Http*Api(or the interface) on the client
See the main README for full examples and diagnostics.
License
MIT
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- FlanderDev.RouteGen.Abstractions (>= 0.4.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.