
ptp
USA
Asked
— Edited
@DJ,
Q) Can you please update the ARC Desktop's Newtonsoft.Json assembly aspa ?
Current version is 9.x and contains a nasty json bug.
It seems (guessing) is only used with the Nest control.
Please
If your plugin requires Json, I’d recommend adding your own reference rather than the one included with ARC. The bug doesn’t apply to what it’s being used for ATM.
Removing requiring assistance
@DJ,
You should know that if i asked that, is because i hit a wall otherwise i don't bother you with obvious stuff.
Let me explain my plugin requires a third party library, that library references Newtonsoft.Json.
When you load a library the preference goes to existent libraries (Ez-builder) so I don't have a way to influence loading a new library version.
If i replace the ARC's library with a recent version (11.0), it works as expected.
If i remove the ARC's library the loading process will be handled by ARC Resolve assembly then it checks the plugin folder for a version.
Do you see another way of solving the issue without you updating or removing the library ?
Oh strange - because the libraries have different version identifiers, they shouldn’t cause conflict in the gac. For example your ibm Watson plugin loads a different version of naudio than what’s included in ARC install. Wonder why that doesn’t apply to json?
Sure you’re not adding a reference to the json dll in ARC folder? Add your own json dll to your plugin project.
I will update json on ARC in the next release, that won’t be for another few weeks.
I didn't had the opportunity to check the 3 rd party library, but if you reference without a specific version or maybe some lazyload.
Have your plugin include its own json dll and don’t reference the one in ARC. I’ll update ARC json for the next release in a in December.
Does not work, i tried that. My plugin has the last version (11.0) I created some dummy code to reference the newtonjson and force loading my assembly, mine is loaded.
Once i use a method from 3rd party library, the ARC version is loaded.
The only way is to remove the ARC's version.
Crazy - that’s two issues to resolve on our end then. The fact that json is somehow owning the namespace in the gac for all versions and the version needs to be updated.
Unfortunately with the number of users, we have to limit updates to monthly.
Is the feature you require in the json library affected by the security bug?
The only way to solve is to externalize non relevant core modules e.g. Nest control uses Newtonsoft. If Nest control is converted to a Plugin, you can move the Newtonsoft to the plugin folder and remove the ARC reference.
That applies to all external libraries, If you can't or you don't don't want to do it.
Updating all the ARC assemblies to the last version, allows the plugins to control/load older versions to accommodate plugins external versions.