Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dependency conflict with third-party plugins #269

Open
Nice3point opened this issue Aug 9, 2024 · 7 comments
Open

Dependency conflict with third-party plugins #269

Nice3point opened this issue Aug 9, 2024 · 7 comments
Assignees
Labels
open discussion ☎️ An issue open for active community discussion

Comments

@Nice3point
Copy link
Collaborator

Nice3point commented Aug 9, 2024

RevitLookup uses third-party dependencies produced by other developers. User plugins may also use these dependencies, but of different versions, which will cause a conflict and an exception on startup. We have no control over this process, and we cannot prevent other developers from using third-party libraries.

Why are you getting this error in RevitLookup and not in another plugin? Because plugins are loaded in alphabetical order, and the 'R' is near the end, so that's where you get the exception and RevitLookup not working. Unfortunately, the plugin that is loaded first forces Revit to use it dependencies for all plugins. And if it's outdated, RevitLookup, which uses the newest one, will simply be incompatible, if everything was in reverse order this could have been avoided.

At the moment there are some ways, disable conflicting plugins:

  • Use Revit 2025, in this version RevitLookup dependencies are isolated from other plugins.
  • Update user plugins to the newest version.
  • You can try to rename the RevitLookup loading manifest, give it a name like _RevitLookup.addin. Add-ins are loaded in alphabetic order.
  • Downgrade the RevitLookup version.
  • Download the DependenciesReport tool and analyse conflicts.
  • Download the AssembliesReport tool and share you report here.

Remember though, you can fix RevitLookup in this way, but there is a chance that conflicting plugins may not work.

RevitLookup dependencies list:
https://github.com/jeremytammik/RevitLookup/blob/dev/source/RevitLookup/RevitLookup.csproj#L45-L71

@Nice3point Nice3point added the open discussion ☎️ An issue open for active community discussion label Aug 9, 2024
@Nice3point Nice3point pinned this issue Aug 9, 2024
@Nice3point Nice3point moved this to 📋 Backlog in RevitLookup roadmap Sep 1, 2024
@Nice3point Nice3point moved this from 📋 Backlog to 🏗 In progress in RevitLookup roadmap Sep 1, 2024
@Nice3point Nice3point self-assigned this Sep 1, 2024
@Nice3point
Copy link
Collaborator Author

Nice3point commented Sep 1, 2024

DependenciesReport

This tool designed for static analysis of dependency conflicts between plugins. Displays a conflict summary and optionally updates dependencies to the latest version. It works without starting Revit.

Download:

Source code: https://github.com/jeremytammik/RevitLookup/tree/dev/tools/source/DependenciesReport

If you have problems with running RevitLookup, please send reports:
изображение

Be careful when running the upgrade, dependencies that are not backwards compatible may break older plugins:
изображение

AssembliesReport

This tool designed for Revit, creates a report on the dependencies used. Aimed at helping to trace the loading of dependencies.

Download:

Source code: https://github.com/jeremytammik/RevitLookup/tree/dev/tools/source/AssembliesReport

  • Download and run the .msi installer.
  • Open the Revit.
  • Run AssembliesReport command.

изображение

Report sample:
изображение

@acco-jpitts
Copy link

The current RevitLookup 2025.08 uses Nice3point.Revit.Toolkit 2025.0.1
My addin was built using your project templates and is using the latest Nice3point.Revit.Toolkit 2025.0.2

image
image

I built RevitLookup using the current Toolkit 2025.0.2 and had no issues loading both.
image

Why am I still running into this issue in 2025?

I'm unable to run the DependenciesReport because company hyper-aggressive anti-virus doesn't like it.

@Nice3point
Copy link
Collaborator Author

@acco-jpitts at the moment Revit Toolkit is the only one bottleneck that can cause failures in Revit 2025, as it is this library that provides isolation. I will look into how to get around this, thanks for the clarification

@Nice3point Nice3point moved this from 🏗 In progress to Pre-release in RevitLookup roadmap Sep 18, 2024
@trgiangv
Copy link

trgiangv commented Oct 7, 2024

@Nice3point Please have a look, there have conflict between Python node in Dynamo and RevitLookup

  • Tested on
    • Revit 2025.0.2
    • Dynamo 3.2
    • RevitLookup 2025.0.10.0

image

2024-10-07_16h37_26

@Nice3point
Copy link
Collaborator Author

Nice3point commented Oct 7, 2024

@trgiangv we already have an issue #272. Dynamo team hasn't made any comments on this topic, and I have no idea why initial loading of Python node can affect RevitLookup functioning. I'll try to investigate this problem in the future

@Nice3point
Copy link
Collaborator Author

Nice3point commented Nov 14, 2024

Native add-in isolation planned for feature Revit updates

Feature Summary - Add-in Dependency Isolation.pdf

@ricaun
Copy link
Contributor

ricaun commented Nov 18, 2024

Native add-in isolation planned for feature Revit updates

Interesting! Where did you get this file?
If is the Revit Preview probably is better to share the link to the Feature inside the Revit Preview Forum, and not the Feature Summary file.

Edited:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
open discussion ☎️ An issue open for active community discussion
Projects
Status: 👀 In review
Development

No branches or pull requests

4 participants