You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -81,8 +80,6 @@ public class Command : ExternalCommand
81
80
**ExternalCommand** contains the logic for resolving dependencies.
82
81
Now you may not encounter a `FileNotFoundException`. Dependencies are searched in the plugin folder.
83
82
84
-
Starting with Revit 2025, **ExternalCommand** is executed in an isolated context, providing independent execution and preventing conflicts due to incompatible library versions.
85
-
86
83
### ExternalApplication
87
84
88
85
Contains an implementation for **IExternalApplication**.
@@ -113,8 +110,6 @@ public class Application : ExternalApplication
113
110
**ExternalApplication** contains the logic for resolving dependencies.
114
111
Now you may not encounter a `FileNotFoundException`. Dependencies are searched in the plugin folder.
115
112
116
-
Starting with Revit 2025, **ExternalApplication** is executed in an isolated context, providing independent execution and preventing conflicts due to incompatible library versions.
117
-
118
113
### ExternalDBApplication
119
114
120
115
Contains an implementation for **IExternalDBApplication**.
@@ -139,9 +134,6 @@ Override method **OnShutdown()** to execute some tasks when Revit shuts down. Yo
139
134
**ExternalDBApplication** contains the logic for resolving dependencies.
140
135
Now you may not encounter a `FileNotFoundException`. Dependencies are searched in the plugin folder.
141
136
142
-
Starting with Revit 2025, **ExternalDBApplication** is executed in an isolated context, providing independent execution and preventing conflicts due to incompatible library
143
-
versions.
144
-
145
137
### External events
146
138
147
139
Contains an implementations for **IExternalEventHandler**.
@@ -529,7 +521,7 @@ Provides auxiliary components
529
521
530
522
#### ResolveHelper
531
523
532
-
Provides handlers to resolve dependencies for Revit 2024 and older.
524
+
Provides handlers to resolve dependencies for Revit 2025 and older.
533
525
534
526
```c#
535
527
try
@@ -545,37 +537,6 @@ finally
545
537
546
538
Enabled by default for `ExternalCommand`, `ExternalApplication` and `ExternalDBApplication`.
547
539
548
-
#### Add-ins Dependency Isolation
549
-
550
-
Provides dependency isolation for Revit 2025 and earlier.
551
-
552
-
This library enables running plugins in an isolated context using
Each plugin executes independently, preventing conflicts from incompatible library versions.
555
-
556
-
How It Works:
557
-
558
-
The core functionality centers on `AssemblyLoadContext`, which creates an isolated container for each plugin.
559
-
When a plugin is loaded, it is assigned a unique `AssemblyLoadContext` instance, encapsulating the plugin and its dependencies to prevent interference with other plugins or the
560
-
main application.
561
-
562
-
To use this isolation feature, developers must inherit their classes from:
563
-
564
-
- ExternalCommand
565
-
- ExternalApplication
566
-
- ExternalDbApplication
567
-
- ExternalCommandAvailability
568
-
569
-
These classes contain the built-in isolation mechanism under the hood.
570
-
Plugins using interfaces such as `IExternalCommand` will not benefit from this isolation and will run in the default context.
571
-
572
-
Limitations:
573
-
574
-
- The isolated context feature is available starting with Revit 2025.
575
-
- For older Revit versions, this library uses a `ResolveHelper` to help load dependencies from the plugin's folder, but does not protect against conflicts arising from incompatible
576
-
packages.
577
-
- Additionally, plugins that do not inherit from the specified classes will not be isolated and may experience compatibility issues if they rely on the default context.
0 commit comments