-
Notifications
You must be signed in to change notification settings - Fork 0
dev_build_docs
extgen is a C#/.NET console tool. To build it you only need .NET 9 SDK.
-
.NET SDK 9.x
-
Verify install:
dotnet --version
-
From the repository root (or the folder containing the .sln / .csproj):
dotnet restore
dotnet build -c Releasedotnet run -c Release -- --helpExample:
dotnet run -c Release -- --config ./config.jsonPublishing creates a distributable output folder under ./publish.
dotnet publish -c Release -r win-x64 --self-contained true -o ./publish/win-x64dotnet publish -c Release -r osx-arm64 --self-contained true -o ./publish/osx-arm64dotnet publish -c Release -r osx-x64 --self-contained true -o ./publish/osx-x64dotnet publish -c Release -r linux-x64 --self-contained true -o ./publish/linux-x64π If you prefer a smaller output and youβre okay requiring users to install .NET 9, set
--self-contained false.
After build/publish, run:
extgen --helpOr:
extgen --init ./test_projectYou should see config.json + extgen.schema.json generated in the folder.
extgen can be built directly from Visual Studio on Windows.
-
Visual Studio 2022 (or newer)
-
.NET 9 SDK installed
-
Workloads:
- βοΈ .NET desktop development
-
Open the solution file (
extgen.sln) in Visual Studio -
Select configuration:
-
Release(recommended) orDebug
-
-
Select platform:
Any CPU
-
Build:
Build β Build Solution- or press Ctrl + Shift + B
The output binaries will appear under:
bin/Release/net9.0/
You can also run the tool directly from Visual Studio:
- Set
extgenas the startup project - Press F5 or Ctrl + F5
- Add command-line arguments in Project β Properties β Debug
Visual Studio Code is fully supported and works great cross-platform.
-
VS Code
-
.NET 9 SDK
-
VS Code extensions:
- π§© C# Dev Kit (recommended)
- π§© .NET Install Tool (optional but helpful)
- Open the repository folder in VS Code
- Open a terminal (`Ctrl + ``)
- Run:
dotnet restore
dotnet build -c ReleaseTo run:
dotnet run -- --help- Open
Program.cs - Set a breakpoint
- Press F5
- VS Code will auto-generate a
.vscode/launch.jsonon first run
You can pass arguments by editing:
"args": ["--config", "./config.json"]- The same project builds on Windows, macOS, and Linux
- No platform-specific code is required to build extgen itself
- Console SDKs are not required to build extgen β only to build the generated CMake projects
- β
CLI build:
dotnet build - β
Visual Studio: open
.slnand build - β
VS Code: build & debug via
dotnet - β Single dependency: .NET 9
extgen is intentionally boring to build β so you can focus on generating cool stuff π
GameMaker 2026