Releases: Nice3point/RevitTemplates
6.0.0
Global changes
- New
Nice3point.Revit.Sdkfor project configuration and development. - New templates:
Revit BenchmarkandRevit Test (TUnit). - Replaced
NukewithModularPipelinesbuild system. Nuke is no longer maintained: https://github.com/nuke-build/nuke/discussions/1564#discussioncomment-15001502 - Integrated
GitVersion.Toolfor automatic release versioning based on Git history. - Integrated automatic changelog generation via GitHub API.
Solution template
- Migrated to
ModularPipelines. - Support for WIX4 and .NET Core installer project.
- Updated GitHub Actions and Azure DevOps pipelines to support new versioning and publishing logic.
- Removed
Nukerelated files and configurations. - Support for .NET 10.
Note
The solution .slnx format is broken in Rider and VS and temporary disabled until it will be fixed.
Use .sln instead and convert to .slnx using or .NET CLI after creating the project.
Note
The Rider Create .git repository option is broken and overrides .gitignore files.
Uncheck this option and initialize git after creating the project.
Add-in templates
- Switched to
Nice3point.Revit.Sdk. Boilerplate code in.csprojhas been significantly reduced. - Improved Dependency Injection support.
- C# 14 features support.
- New
LaunchRevitproperty for easier debugging. - New
DeployAddinproperty (renamed fromDeployRevitAddin).
MSBuild SDK for Revit Add-ins
- New
Nice3point.Revit.Sdkwith pre-configured MSBuild targets and props.
An updated .csproj looks like this:
<Project Sdk="Nice3point.Revit.Sdk/6.0.0">
<PropertyGroup>
<DeployAddin>true</DeployAddin>
<LaunchRevit>true</LaunchRevit>
<IsRepackable>false</IsRepackable>
<EnableDynamicLoading>true</EnableDynamicLoading>
<Configurations>Debug.R22;Debug.R23;Debug.R24;Debug.R25;Debug.R26</Configurations>
<Configurations>$(Configurations);Release.R22;Release.R23;Release.R24;Release.R25;Release.R26</Configurations>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Nice3point.Revit.Api.RevitAPI" Version="$(RevitVersion).*"/>
</ItemGroup>
</Project>No complex settings, frameworks and versions configuration, SDK takes care of it.
Migration from v5 to v6
Solution migration
- Delete
.nukefolder andbuildfolder. - Delete
installerfolder. - Create a temporary project using version 6.0.0 and copy the new
build,installerfolders to your solution. - Update
global.jsonto use .NET 10. - Replace your
.github/workflowsorazure-pipelines.ymlwith the new versions from the template.
Project migration
- Update the
Sdkattribute in your.csprojfile toNice3point.Revit.Sdk/6.0.0. - Remove redundant properties from
.csproj:RevitVersion,TargetFramework,RuntimeIdentifier,StartProgram,StartArguments. - Remove conditional
PropertyGroupcontainingRevitVersionandTargetFramework. - Remove
Nice3point.Revit.Build.TasksPackageReference. - Rename
DeployRevitAddintoDeployAddin. - Rename configurations from
Debug R25toDebug.R25(replace space with dot). Names with spaces are not supported by BenchmarkDotNet and Unit test in JetBrains Rider.
Full changelog: 5.0.0...6.0.0
5.0.0
Solution template
- The release publishing pipeline has been completely redesigned. Publishing is now based on tags instead of automatic push to
mainbranch. This is aimed at better control to avoid unexpected situations. Also improved pre-release publishing, and releases from any branch, e.g. it is now possible to release anAlphaversion from thedevelopbranch. See Wiki for more details. - The installer now ignores all
.pdbfiles. - Improved
Readmefile, added all detailed documentation about building and publishing the project.Readmefile is dynamic and depends on the settings specified when creating Solution. - Code coverage with documentation.
- Reworked
.ymlfiles. - Simplified some code.
- Added support for .NET 9.
- Added support for Revit 2026.
- Removed support for Revit 2020. For support, add it manually by guide.
Solution migration from v4 to v5
- Create a completely clean project with the same name based on v5 of the template.
- Copy the following folders and files to your working project with replacement:
buildfolder.installfolder.Readme.mdfile..ymlfiles.
- Review the Git Diff carefully:
- Keep your custom GUIDs and project names.
- Preserve any user-specific customizations.
- Roll back any changes to your business logic.
- Update your solution's dependencies to match v5 requirements.
- Test the build process to ensure everything compiles correctly.
Add-in templates
- Enabled
Nullableby default. - Added
IsRepackableproperty, disabled by default. Read more. - Added
ManifestSettingssection to manifest for enabling dependency isolation, starting with Revit 2026 API. - Added more WPF converters.
- Fixed typos.
- Updated dependencies.
- Added support for Revit 2026.
- Removed support for Revit 2020.
Add-in migration from v4 to v5
-
Update your
.csprojfile:<!-- Replace this line --> <PublishAddinFiles>true</PublishAddinFiles> <!-- With these lines --> <DeployRevitAddin>true</DeployRevitAddin> <EnableDynamicLoading>true</EnableDynamicLoading>
-
Update your
.addinfile by adding theManifestSettingsto enable add-in isolation in the Revit 2026:<RevitAddIns> <!-- ... existing settings ... --> <ManifestSettings> <UseRevitContext>False</UseRevitContext> <ContextName>RevitAddIn</ContextName> </ManifestSettings> </RevitAddIns>
-
Review and update any nullable reference types in your code as they are now enabled by default.
Full changelog: 4.0.7...5.0.0
4.0.7
- Moved commands from the Module template.
Please keep the commands in the Primary project that contains External Application to avoid isolation issues.
Issue: Nice3point/RevitToolkit#7 - Removed WindowsController class to simplify templates
- Updated descriptions
Full changelog: 4.0.6...4.0.7
4.0.6
- Conditions for generating the Solution readme. The documentation considers which options you have created the solution with
- Replaced
GetServicewithGetRequiredServicefor DI templates - Renamed some default files that use DI
- Updated summary
Full changelog: 4.0.5...4.0.6
4.0.5
- Updated dependencies
- Removed dependencies conditions with https://github.com/Nice3point/RevitToolkit/releases/tag/2025.0.1 latest changes integration
- Updated samples .csproj
Full changelog: 4.0.4...4.0.5
4.0.4
- Removed template engine "isEnabled" property. Visual Studio does not support it compared to Jetbrains Rider.
This property caused an exception to create a Module project without UI.
Thanks to @SergeyNefyodov for finding this bug
Full changelog: 4.0.3...4.0.4
4.0.3
- Removed
Corefolder. It's seldom used, especially in small plugins, so it's removed by default. Thank you for your feedback - Updated templates description
- Disabled
dotnet cleanlogo for solution template
Full changelog: 4.0.2...4.0.3
4.0.2
- Integrate the latest Revit.Build.Tasks features
- Cleanup csproj files
Full changelog: 4.0.1...4.0.2
4.0.1
- Revit 2025 support
- Inversion of Control support
- Nuke 8.0.0 support
- New icons
- New templates for single dll applications and modular solutions
- New samples https://github.com/Nice3point/RevitTemplates/tree/develop/samples
- Wiki updated https://github.com/Nice3point/RevitTemplates/wiki/Templates
- Wiki updated https://github.com/Nice3point/RevitTemplates/wiki/Multiple-Revit-Versions
- Jetbrains Rider don't respect solution templates for now. Please use CLI or VS22
Full changelog: 3.2.2...4.0.1
3.2.2
- Fix Github release version validation
Full changelog: 3.2.0...3.2.1