| name | revit-addin-publishing |
| description | Configure an Autodesk Revit add-in project to copy the add-in, .addin manifest to the local Revit or a `bin/publish` folder, using the Nice3point.Revit.Sdk publish targets. USE FOR: setting up a project for publishing, bundling extra content into the output, and relying on per-version manifest patching. DO NOT USE FOR: launching and debugging the add-in from the IDE (use revit-addin-debugging), dependency isolation or repacking (use revit-dependency-isolation), or packaging a versioned App Store bundle (use revit-addin-bundle).
|
| license | MIT |
Revit Add-in Publishing
The Nice3point.Revit.Sdk targets copy the built add-in and its .addin manifest to one of two destinations and patch the manifest per Revit version.
DeployAddin copies into the local Revit add-ins folder (%AppData%\Autodesk\Revit\Addins\<version>); the running Revit loads the add-in on its next start.
PublishAddin copies into bin\publish (like dotnet publish) for distribution or the installer.
Enable them only in the project that owns the .addin manifest.
When to use
- Setting up a project to copy its add-in to the local Revit for testing, or to
bin/publish for distribution.
- Bundling extra content (families, resources) into the add-in output.
Workflow
Step 1: Deploy or publish
<DeployAddin>true</DeployAddin>
<PublishAddin>true</PublishAddin>
DeployAddin implies publishing.
Override the targets with AddinDeployDir / AddinPublishDir.
Step 2: Include extra content
<Content Include="Families\**" PublishDirectory="Families" CopyToPublishDirectory="PreserveNewest"/>
Step 3: Rely on manifest patching
The SDK removes the ManifestSettings node for Revit versions older than 2027 during publish to support legacy Revit versions.
Step 4: Verify
Build, and confirm the add-in and manifest land in the deploy or publish folder and that Revit loads the add-in.
Validation
Common Pitfalls
| Pitfall | Correct approach |
|---|
Enabling deploy in a class-library project with no .addin | Enable it only in the manifest-owning project. |
Copying families with a raw <None> item | Use <Content … PublishDirectory=… CopyToPublishDirectory=…/>. |
| Hand-editing the manifest per Revit version | Let the SDK patch ManifestSettings on publish. |