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>
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.