Files
Jens GeyerandClaude Opus 5.5 a2748940bd THRIFT-6440: Let the .NET tool run where only .NET 9 or later is installed
Client: build

Apache.Thrift.Compiler targets net8.0 and set no RollForward, so on a
machine with only .NET 9 or 10 the tool installed and then refused to
start, asking for .NET 8. With RollForward=Major the launcher uses the
next newer .NET when 8 is missing; where 8 is installed, nothing
changes.

test-dotnet-tool.ps1 now checks the runtimeconfig.json in the package.
The CI runners have .NET 8 next to newer versions, so installing and
running the tool there could not show the problem.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-23 09:57:28 +02:00
..

Apache Thrift Compiler

The Apache Thrift IDL compiler, packaged as a .NET tool.

Apache Thrift is a software framework for scalable cross-language services development. It combines a software stack with a code generation engine to build services that work efficiently between C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml, Delphi, Go, Rust, Swift and other languages.

This package contains the code generator, thrift, which turns a .thrift interface definition into client and server code. It does not contain a runtime library; those are published separately, for .NET as ApacheThrift.

Install

dotnet tool install --global Apache.Thrift.Compiler
thrift --version

Or pin it for a repository, so that everyone building it uses the same compiler version:

dotnet new tool-manifest      # once per repository
dotnet tool install Apache.Thrift.Compiler
dotnet tool run thrift --version

Use

thrift --gen netstd -out generated tutorial.thrift

See the tutorial and the Thrift IDL reference.

Requirements

The compiler links the shared C++ runtime, so it needs the Microsoft Visual C++ Redistributable (x64), which most Windows machines with development tools already have. If it is missing, thrift reports that and points at https://aka.ms/vc14/vc_redist.x64.exe.

Platforms

This package carries the Windows build of the compiler. On other platforms it installs, because NuGet does not gate on the operating system, but running it reports that and stops.

For Linux and macOS, see Download - most distributions package Thrift, and Homebrew has it as thrift.

Provenance

The executable in this package is the Windows compiler that the Apache Thrift PMC voted on with the source release of the same version, the thrift-<version>.exe on the Download page. Its checksums and its signature are checked against the project's KEYS before it is packed. The source release is the official artifact, and this package is a convenience package of it.