Skip to content

Conversation

@cunhamauro
Copy link

Summary of the Pull Request

What is this about:
Allow the .addin manifest to be discovered in any subfolder of the project via recursive lookup.

Description:
This change updates the MSBuild targets to resolve the Revit add-in manifest using a recursive search under the project directory. This enables the .addin file to live in the project root or any subfolder while still being picked up correctly for publish and local deployment. The existing workflow is preserved, and the manifest name is centralized via the AddinManifestFileName property for consistent use across publish, deploy, update, and clean targets. Although multiple files with the same name are ignored (only the last one will effectively be used), this aligns with the expected “single manifest per add-in” convention.

Quality Checklist

  • [✅] My code follows the style guidelines of this project
  • [✅] I have performed a self-review of my own code
  • [✅] My changes generate no new warnings

Update all Condition expressions to use '$(Property)' string comparisons for true/false and empty checks, instead of relying on unquoted property expansions.
Added `AppDataDeployDir` to specify the deployment directory for Revit add-ins. Updated the copying and cleaning processes to use the new path instead of the previous hardcoded location, ensuring proper management of add-in files during the build process.
Introduce the AppendVersion property (with an optional VersionDelimiter) to deploy the add-in into a versioned folder instead of using the bare assembly name. When this is enabled, the manifest’s Assembly path and the clean step are updated to target the versioned folder.
Update Readme.md to include a new section on enabling versioned folder deployment for Revit add-ins. Document the default local deployment behavior, how to use the AppendVersion property as well as the optional VersionDelimiter, and provide an example XML configuration.
Added an optional DeployToProgramData flag to allow deploying the Revit add-in under %ProgramData% instead of %AppData%, centralized the DeployDir logic so all deploy/update/clean targets use the same base path, and introduced the AddinManifestFileName ($(AssemblyName).addin) property to reference the manifest consistently across all targets and the PowerShell update step.
…e).addin can be located in any subfolder while still using a single fixed manifest name across publish/deploy targets.
@cunhamauro cunhamauro marked this pull request as draft November 27, 2025 16:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant