/Autodesk.Revit.Sdk.Refs

The Software Development Toolkit (SDK) provides extensive .NET code samples and documentation to help you get started developing with the Revit API.

MIT LicenseMIT

Autodesk.Revit.SDK.Refs

JetBrains Rider License MIT Revit 2016-2025

Revit SDK refs assemblies.
Only metadata from assemblies by Refasmer.

Usage

Add project configurations with revit versions in name

<PropertyGroup>
    <RevitVersion Condition="'$(RevitVersion)' == ''">2016</RevitVersion> <!-- set default revit version -->
    <TargetFramework Condition="'$(TargetFramework)' == ''">net45</TargetFramework> <!-- set default target framework -->
    <Configurations>Debug;Release;D2016;D2017;D2018;D2019;D2020;D2021;D2022;D2023;D2024;D2025</Configurations>
</PropertyGroup>

Add package reference

<ItemGroup>
    <!-- package reference with revit dlls -->
    <PackageReference Include="Autodesk.Revit.Sdk.Refs" Version="*" />
    <PackageReference Include="Autodesk.Revit.Sdk.Refs.$(RevitVersion)" Version="*" />
</ItemGroup>

Build Revit Project

See sample project in this folder.
You should compile Debug or Release configuration.
Other configurations needs to help write code with constants.

dotnet cli

dotnet build -c <Configuration> -p:RevitVersion=<RevitVersion>

nuke build

DotNetBuild(s => s
    .DisableNoRestore()
    .SetProjectFile(<ProjectName>)
    .SetConfiguration(<Configuration>)
    .SetProperty("RevitVersion", (int) <RevitVersion>));

Defined constants

This constants defined to all supports revit version.

REVIT<RevitVersion>
REVIT<RevitVersion>_OR_GREATER

Usage defined constants

#if REVIT<RevitVersion>
    // This code will be available for the specified version
#endif

#if REVIT<RevitVersion>_OR_GREATER
     // This code will be available for all versions greater than specified
#endif

How to add new version Autodesk Revit

Copy libs

string version = "2026";
string oldVersion = "2025";

string target = @"lib";
string source = @"lib\" + oldVersion;
string originals = @"C:\Program Files\Autodesk\Revit " + version;

foreach (string enumerateFile in Directory.EnumerateFiles(source))
{
    string fileName = Path.GetFileName(enumerateFile);
    string targetFile = Path.Combine(target, version, fileName);
    string originalFile = Path.Combine(originals, version, fileName);

    Directory.CreateDirectory(Path.Combine(target, version));
    File.Copy(originalFile, targetFile);
}

Install Refasmer and run:

refasmer -m -i -w AdWindows.dll
refasmer -r -i -w PackageContentsParser.dll
refasmer -r -i -w RevitAddInUtility.dll
refasmer -r -i -w RevitAPI.dll
refasmer -r -i -w RevitAPIBrowserUtils.dll
refasmer -r -i -w RevitAPIIFC.dll
refasmer -r -i -w RevitAPIMacros.dll
refasmer -r -i -w RevitAPIUI.dll
refasmer -r -i -w RevitAPIUIMacros.dll
refasmer -r -i -w RevitNET.dll
refasmer -m -i -w UIFramework.dll