Repost.Client.MSBuild 1.0.8

dotnet add package Repost.Client.MSBuild --version 1.0.8
                    
NuGet\Install-Package Repost.Client.MSBuild -Version 1.0.8
                    
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="Repost.Client.MSBuild" Version="1.0.8">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Repost.Client.MSBuild" Version="1.0.8" />
                    
Directory.Packages.props
<PackageReference Include="Repost.Client.MSBuild">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
                    
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 Repost.Client.MSBuild --version 1.0.8
                    
#r "nuget: Repost.Client.MSBuild, 1.0.8"
                    
#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 Repost.Client.MSBuild@1.0.8
                    
#: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=Repost.Client.MSBuild&version=1.0.8
                    
Install as a Cake Addin
#tool nuget:?package=Repost.Client.MSBuild&version=1.0.8
                    
Install as a Cake Tool

Repost.Client.MSBuild

Build-time Repost client generation for .NET — the Grpc.Tools-style idiom: a NuGet package whose targets run the Repost schema engine as an MSBuild task before CoreCompile and compile the generated C# client straight into your assembly. Pairs with the Repost.Client runtime package (and Repost.Client.Testing for stub sends).

Quick start

Put your schema at repost/schema.repost next to the project:

generator sdk {
  language   = "csharp"
  output     = "../Generated"
  namespace  = "Contoso.Events"
  clientName = "EventsClient"
}

Reference the packages:

<PackageReference Include="Repost.Client" Version="1.0.0" />
<PackageReference Include="Repost.Client.MSBuild" Version="1.0.0" PrivateAssets="all" />

dotnet build (or a full msbuild.exe build) validates the schema, writes the generated client to Generated/ (committed or gitignored — your choice), and compiles it. A second build with unchanged schema and engine is a pure incremental skip, so design-time builds in Visual Studio no-op instantly.

Configuration

Property / item Default Meaning
RepostSchemaFile repost/schema.repost when it exists Single-schema fast path.
RepostSchemaGeneratorName sdk Schema generator to run.
RepostSchemaOutputDir $(MSBuildProjectDirectory)\Generated Generated tree root.
RepostSchemaControlDir obj/repost/ Request record + incremental stamp (intermediate state).
RepostSchemaEnginePath (unset) Explicit engine executable; wins over everything else.
RepostSchema item (from RepostSchemaFile) Multi-schema support; metadata GeneratorName, OutputDir, ControlDir.
RepostSchemaEnvironmentInput item (empty) NAME=value entries feeding schema env("NAME") references.

The schema engine

The package carries the five native repost-schema engines (linux-x64, linux-arm64, osx-x64, osx-arm64, win-x64) plus a pack-time–generated SHA-256 checksum manifest. Before every execution the task re-hashes the resolved binary and compares it against that pinned manifest; a mismatch is a hard build error and the engine never runs. Release packs embed the binaries at pack time from REPOST_ENGINE_DIST (<dist>/<rid>/repost-schema[.exe]).

Engine resolution order:

  1. RepostSchemaEnginePath MSBuild property,
  2. REPOST_SCHEMA_ENGINE environment variable (same override the Go CLI honors),
  3. the packaged tools/<rid> engine (checksum-verified).

Explicit and environment-resolved engines are developer-controlled and run unverified. The regeneration marker embedded in generated files is dotnet build, and the generated tree is byte-identical to what the repost schema generate CLI would produce, so the MSBuild and committed-code (CLI) flows are interchangeable.

Regeneration control: Generated/ is included via a glob, so deleting it and rebuilding regenerates; the stamp file under obj/repost/ records the last successful generation (obj/repost/request-<generator>.json is the exact protocol request, kept for debugging).

There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

This package has 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.0.8 109 8/12/2026
1.0.6 97 8/12/2026