Skip to main content

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 generationTarget framework
2022-2024net48
2025-2026net8.0-windows
2027net10.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, Daemon 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:

  • execution and Python bridge tests under tests/DevTools.Execution.Tests/
  • MCP daemon and dynamic-tool tests under tests/DevTools.Mcp.Server.Tests/ and tests/DevTools.Daemon.Tests/
  • telemetry tests under tests/DevTools.Telemetry.Tests/
  • MTP adapter tests under tests/DevTools.NUnit.MTP.Tests/
  • external event test hosts under tests/RevitDevTool.ExternalEvent.App/

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.