Kia ora everyone,
We are actively working on upgrading Dynamo from .NET 4.8, which we have been on for a long, long time, to .NET 6.0. This post is the precursor to a larger technical post coming after the work has been done giving package authors in particular a head’s up that changes are coming that will necessitate package recompilation.
So, what does this mean for you?
- Normal Dynamo usage: If you are a normal Dynamo user, it is business as usual and there is nothing you need to know at this point in time! Hurrah.
- ZeroTouch/C# Package Author: Depending on how you have set up your packages you may need to recompile and upload a new package. We will reach out to affected package authors based on the email address you have assigned to your package.
- Package consumption: If you use packages that need recompilation (As above), you will need to download a new version of the package when it has been updated to .NET 6.0.
Are there any other knock-on-effects?
Some Dynamo packages have (so far) stood the test of time and worked swimmingly well without a need for update, which is great. However, if any of these packages are no longer maintained by the author and they require recompilation to .NET 6.0, they will no longer work in newer versions of Dynamo. A lot of functionality is cross-pollinated across numerous packages so you should be able to find an alternative, or other package authors may pick up the slack. If any functionality is deemed highly critical by the community en-masse, we are always open to bringing it into Core also!
Addins inside of the host applications of Dynamo, such as Revit or Civil 3D will also require to be upgraded to .NET 6.0, and as such will no longer work in the same way packages will not until recompiled with the .NET 6.0 target. This is analogous to Dynamo as we too are an addin (In the context of Revit).
But what about out-of-process host applications?
Some Dynamo hosts are in-process, where Dynamo lives inside the memory space of that host application (Such as Revit, Civil 3D and Advance Steel), and others are out-of-process, where Dynamo sends and receives data between them using interprocess communication (Such as Robot Structural Analysis, FormIt or Alias). Out-of-process applications are typically better insulated from conflicts between dependencies as they are their own entity, just communicating to each other, while in-process applications can run into issues with dependency conflicts (Such as a Revit addin using the same .DLL as Dynamo, and one loading it first into Revit as a different version causing all kinds of havoc).
Out-of-process host applications are not guaranteed to keep working, but theoretically should still be able to work targeting different .NET frameworks.
The Ask:
Be mindful this change is coming, targeting the next major releases of Autodesk applications; such as Revit 2025 or Civil 3D 2025.