-
-
Notifications
You must be signed in to change notification settings - Fork 343
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
pyRevit 5 #2087
Comments
@jmcouffin @sanzoghenzo @dosymep @dosymep
|
@eirannejad, I created draft-pr #2088 |
I just fixed dependabot to work against the develop-4 branch for now |
RevitNet8UpgradeTips.pdf |
For reference, assembly load contexts A way to prevent Dll conflicts that is partially implemented in some edge cases in dynamo https://devblogs.microsoft.com/powershell/resolving-powershell-module-assembly-dependency-conflicts/ |
further reference jeremytammik/RevitLookup#210 |
#2088 for reference to ilpack. |
for reference, pages 20+ and pages 35+ https://thebuildingcoder.typepad.com/files/migrating_to_net_core_8_webinar.pdf and https://thebuildingcoder.typepad.com/files/migrating_to_net_core_8.pdf |
for reference |
"👋 Hi there! It looks like there hasn't been any activity on this issue for the past 60 days. We understand that things can get busy. |
I realize I ignored most of the links @jmcouffin posted here, but some of them are very valuable for trying to fix the DLL hell! What I've learned so far: On revit < 2025, where we can't use any kind of isolation, the plugin loading order matters because if the plugin that is loaded first uses the latest version of a dependency, this is loaded fine and used by the other add-ins. On our part, we should worry about the dependency versions of the "built-in add-ins" such as dynamo, and stick to that version - but this means that we would need to use different versions for each Revit version! With revit 2025 / .Net8 we can use the AssemblyContext; RevitLookup solved this, by leveraging RevitToolkit by Nice3point that handles isolation from version 2025.0.1 RevitToolkit is versioned following Revit versions, and its objects are compatible with revit 2019+; so we can use this library for all the versions (but the AssemblyContext feature is obviously available only on 2025). One note: since RevitToolkit itself needs to be loaded in the main Revit context, it is subject by the dll hell, so we have to coordinate the version, at least with the one used by RevitLookup. For versions < 2025, RevitToolkit has a PS: I may start to use the RevitAddinManager, how come I didn't know of it? 😅 |
this is the reason why I wanted to get Nice3Point in the conversation. Maybe you could continue with your remarks on Telegram in the common conversation with @dosymep and Roman Karpovich |
I think it would be good if we had our own release, and if possible not to depend on other people's implementations, so as not to have problems with them in the future |
What's up with you .net developers always wanting to reinvent the wheel? 🤣 jokes aside, if you think the code we need is simple enough to implement ourselves, then by any means we should do it.
Oh, I didn't make the connection... 😅 but the library is well documented, so it shouldn't be too hard to adapt out code... or do you want him to do the work for us? |
Priority 1:
main-4
anddevelop-4
for pyRevit 4* andmain
anddevelop
for pyRevit 5 @eirannejadnetcore
(try to keep compatibility withnetfx
- maybe compile pyRevit tonetstandard2
) @dosymepPriority 2:
The text was updated successfully, but these errors were encountered: