MapLargeInc.Build.RestApi 4.124.0

dotnet add package MapLargeInc.Build.RestApi --version 4.124.0
                    
NuGet\Install-Package MapLargeInc.Build.RestApi -Version 4.124.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="MapLargeInc.Build.RestApi" Version="4.124.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="MapLargeInc.Build.RestApi" Version="4.124.0" />
                    
Directory.Packages.props
<PackageReference Include="MapLargeInc.Build.RestApi" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add MapLargeInc.Build.RestApi --version 4.124.0
                    
#r "nuget: MapLargeInc.Build.RestApi, 4.124.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package MapLargeInc.Build.RestApi@4.124.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=MapLargeInc.Build.RestApi&version=4.124.0
                    
Install as a Cake Addin
#tool nuget:?package=MapLargeInc.Build.RestApi&version=4.124.0
                    
Install as a Cake Tool

MapLarge.Build.RestApi

This console app has these responsibilities:

  • Generate an OpenApi definition file describing the MapLarge Rest API.
  • Generate MapLarge Rest API client libraries for various languages.

It is automatically executed as part of the build process by a custom MSBuild task, and the resulting openapi.json file and RestClient for js/ts is included in the MapLarge.Server deployment package.

OpenApi.json File Generation

The MapLarge.Server DLL is scanned using reflection. Information about the Rest API endpoints, inputs, and outputs is extracted and written to the MapLarge.Server/restapi/v1/openapi.json file. In order to load the MapLarge.Server assembly so that it can be scanned, this tool must have the same target framework as the MapLarge.Server project, which is why this was implemented as a .NET Core Console app, instead of just as an MSBuild task, because MSBuild tasks use .NET Framework instead of .NET Core.

The resulting file follows the OpenApi Specification, version 3.

Rest Client Generation

After the openapi.json file is generated, its contents are used to generate client libraries.

Supported Languages

This tool is currently capable of generating clients for the following languages:

Planned Languages

Support for the following languages is planned for the future. The versions listed below are tentative, but thought has gone into their selection.

Client Generator Implementation

The client generators use T4 templates for the dynamic content. To add a new template:

  1. To add a new runtime T4 template:
    1. Add → New Item...
    2. Search for "t4".
    3. Select "Runtime Text Template".
    4. Enter a filename, such as ObjectTemplate.tt.
    5. Click Add.
    6. Right click the new file and select "Properties"
    7. Change the "Custom Tool" property from TextTemplatingFileGenerator to TextTemplatingFilePreprocessor.
  2. Then add a partial class for additional custom C# code for the new template.
    1. Add → Class...
    2. Enter a filename, such as ObjectTemplate.partial.cs.
    3. Click Add.
    4. Edit the class modifiers in the new file from class to public partial class.
  3. And just for the sake of cleanliness, nest the *.partial.cs file under the *.tt file.
    1. Edit MapLarge.Build.RestApi.NetCore.csproj.

    2. Add a new element similar to the following (replace the paths and filenames with the appropriate values):

      <Compile Update="RestClient\Generators\TypeScript\ObjectTemplate.partial.cs">
        <DependentUpon>ObjectTemplate.tt</DependentUpon>
      </Compile>
      

Execution

This tool is executed by the custom MSBuild task named BuildRestApiTask.

Product Compatible and additional computed target framework versions.
.NET 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.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
4.124.0 88 2/18/2026
4.120.1-alpha 40 2/18/2026

v4.124
- Initial public release