Open KennanChan opened 6 years ago
Anyone maintaining issues in Dynamo team?
@kronz @Racel @mjkkirschner @smangarole Ping. @KennanChan Yes, we are. Thanks for your report.
Well, may be there is a language problem. Below is the word to word translation to the Dynamo exceptions. Hope anyone reading about this issue can understand what I am saying.
System.IO.FileLoadException Dynamo detects some conflicts on some of the components, which may cause Dynamo to be unstable. If any problem is detected, please uninstall the addin or package and contact the vendor. Details: Dynamo detects that an incompatible version of the component "RestSharp, Version=105.2.3.0, Culture=neutral, PublicKeyToken=null" has already been loaded when trying to load "Greg, Version=1.0.5959.26179, Culture=neutral, PublicKeyToken=null". Another Revit addin may have loaded this component, please try to uninstall this addin and then restart Dynamo. Dynamo may be unstable in current state. One of the following components may have loaded the incompatible version: GoujianwuTools, GoujianwuService
System.IO.FileLoadException Dynamo detects some conflicts on some of the components, which may cause Dynamo to be unstable. If any problem is detected, please uninstall the addin or package and contact the vendor. Details: Dynamo detects that an incompatible version of the component "RestSharp, Version=105.2.3.0, Culture=neutral, PublicKeyToken=null" has already been loaded when trying to load "RestSharp, Version=105.2.3.0, Culture=neutral, PublicKeyToken=null". Another Revit addin may have loaded this component, please try to uninstall this addin and then restart Dynamo. Dynamo may be unstable in current state. One of the following components may have loaded the incompatible version: GoujianwuTools, GoujianwuService
System.IO.FileLoadException Dynamo detects some conflicts on some of the components, which may cause Dynamo to be unstable. If any problem is detected, please uninstall the addin or package and contact the vendor. Details: Dynamo detects that an incompatible version of the component "RestSharp, Version=105.2.3.0, Culture=neutral, PublicKeyToken=null" has already been loaded when trying to load "DynamoPackages, Version=1.3.1.1736, Culture=neutral, PublicKeyToken=null". Another Revit addin may have loaded this component, please try to uninstall this addin and then restart Dynamo. Dynamo may be unstable in current state. One of the following components may have loaded the incompatible version: GoujianwuTools, GoujianwuService
Looking forward a reply from Dynamo team!
Addition: GoujianwuTools.dll and GoujianwuService.dll are both assemblies in my addin. They both referenced the strong named "RestSharp, Version=100.0.0.0, Culture=neutral, PublicKeyToken=598062e77f915f75" which is compiled by myself.
More users reported this problem on newer versions of Dynamo, e.g 2.0.1 They didn't trust us and some of them had to uninstall our addin. Could anyone just give a reply?
@KennanChan Thanks for your feedback. We currently are not planning to use strong name assemblies or planning on isolating our dependencies from that of Revit's other addins. We recommend aligning to versions which Revit or Dynamo use. At times, we also have assembly conflicts with Revit and work to align our version dependencies with Revit as it is the host application. Where this is not possible, we would recommend doing like you did and either using strong naming or assembly merging. But, this will only work for managed dependencies as far as we know.
Regarding the error messaging in the notification center, we could potentially tweak this or make it less sensitive to strong named assemblies, but then it may produce false negatives. We are open to any suggestions you may have. Currently, the wording in the error messages explains that a problem could be present and not that there is actually one.
We are currently discussing this topic internally and considering for next release as dependency management of addins and packages is of great importance to the future of Dynamo.
Dynamo version
1.3.1
Revit version
2018
Operating system
Windows 7 x64
What did you do?
Loading both dynamo and another addin developed by myself
What did you expect to see?
Both addins work fine and no conflicts
What did you see instead?
Dynamo popups a window to inform me that there are some conflicts on the version of a third party assemly called "RestSharp" which is already loaded by my addin and this will possibly make dynamo unstable.
Actually, at the beginning of my development. It took me really much to find out this dll hell caused by Dynamo. My addin ran into this problem because dynamo loaded an older version in advance. To solve it, I finnally compiled a strong named "RestSharp" then everything is fine.
Until recently, one of my users report this to me:![h6j 3 lshnq 69m 90qzxud](https://user-images.githubusercontent.com/15809890/42211971-633088b6-7ee7-11e8-92bb-96731fda0419.jpg)
In English, it tells the user that Dynamo detects some problems which will make Dynamo unstable. And my addin caused this. Dynamo suggests the user to uninstall the addin causing the problem.
That's definitely unfair!!!!!!!!!!
In fact, users don't know exactly what happened and they would probably choose to trust Dynamo and uninstall the so-called problem addin.
This problem can be easily solved if Dynamo chooses to use strong named 3rd party assemblies rather than warning the users. This problem could result in loss of users for many other addins and I would suggest Dynamo to fix it soon.