Skip building dlls if there was no change with extension - #3439
Merged
Conversation
The assembly build fingerprint previously mixed in the loader DLL's
file write time alongside its version. The write time changes on every
local rebuild and CI redeploy, so the cache key changed on every load
and forced every extension assembly to be regenerated even when
nothing in the generator actually changed.
The fingerprint is now the assembly's semantic version only, which
changes between pyRevit releases but stays stable across rebuilds of
the same release. A developer caveat is added so contributors working
on the generator know to delete %APPDATA%/pyRevit/{revitVersion}/
pyRevit_*.dll to force a rebuild when the generator changes without a
version bump.
Contributor
There was a problem hiding this comment.
Pull request overview
This PR adjusts the extension assembly cache key in the C# assembly builder to avoid unnecessary DLL rebuilds when the loader binaries are rebuilt/redeployed without any extension changes.
Changes:
- Changes the assembly build fingerprint to depend only on the executing assembly version (removing DLL write-time from the cache key).
- Updates inline documentation to explain the cache invalidation behavior and developer workflow caveat.
jmcouffin
approved these changes
Jun 19, 2026
Contributor
|
@romangolev have you tested it? |
Member
Author
|
Yes I did |
Contributor
|
📦 New work-in-progress (wip) builds are available for 6.4.0.26166+1546-wip |
Contributor
|
📦 New work-in-progress (wip) builds are available for 6.4.0.26166+1546-wip |
Contributor
|
📦 New work-in-progress (wip) builds are available for 6.4.0.26166+1546-wip |
Contributor
|
📦 New public release is available for 6.5.0.26173+1406 |
1 similar comment
Contributor
|
📦 New public release is available for 6.5.0.26173+1406 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is a cherry-pick fix I found during working on
Fixes the behavior when loader rebuilds dlls all the time regardless if there we changes to extensions or not
Please, drop it as a hotfix before release @jmcouffin