Skip to content

Build From Source

Truong Giang Vu edited this page May 31, 2026 · 1 revision

Build From Source

The solution source of truth is:

RevitDevTool.slnx

The repo root intentionally does not rely on a classic .sln file.

SDK

The required .NET SDK is defined in global.json.

Current requirement:

.NET SDK 10.0.0

Build Matrix

Supported Autodesk build configurations:

Debug.Autodesk.2022
Debug.Autodesk.2023
Debug.Autodesk.2024
Debug.Autodesk.2025
Debug.Autodesk.2026
Debug.Autodesk.2027
Release.Autodesk.2022
Release.Autodesk.2023
Release.Autodesk.2024
Release.Autodesk.2025
Release.Autodesk.2026
Release.Autodesk.2027

Framework mapping:

Autodesk generation Target framework
2022-2024 net48
2025-2026 net8.0-windows
2027 net10.0-windows

Focused Build

For local compile checks, build the .slnx with the matching Autodesk configuration:

dotnet build RevitDevTool.slnx -c "Debug.Autodesk.2025"

If the repo has the agent helper scripts available, this is equivalent to:

scripts/agent/build-host.ps1 -Year 2025

Package Build

The build pipeline lives in build/Program.cs.

Package command:

cd build
dotnet run -c Release pack

Publish command:

cd build
dotnet run -c Release -- pack publish

Packaging depends on compiled bin/publish outputs and includes bundle creation, MCP server publishing, and installer creation.

Tests

Current test projects are useful for smoke validation and focused behavior checks, but they are not complete end-to-end proof of host behavior.

Known test areas:

  • .NET tests under tests/RevitDevTool.Execution.Tests/
  • server/parser tests under tests/RevitDevTool.Server.Tests/
  • telemetry tests under tests/DevTools.Telemetry.Tests/
  • Python parser tests under tests/RevitDevTool.PyServer.Tests/
  • external event test hosts under tests/RevitDevTool.ExternalEvent.*

Some tests rely on prepared sample assets, a Pixi environment, or a live host bridge. Treat failures as signals to inspect context, not as always-isolated unit test failures.

Clone this wiki locally