I have a scenario like this:
- COM Call from an MS Access Application using VBA
- Call is into a C# library we are building which has a reference to Newtonsoft.Json v9
- Library uses nuget packages with their own dependency of Newtonsoft.Json v6 (Say, Microsoft.AspNet.WebApi.Client)
- Dependent library within it's own blackbox code blow up when they try to use Newtonsoft.Json (or any library that isn't the same version that our C# library is referencing)
Error:
Could not load file or assembly 'Newtonsoft.Json, Version=6.0.4.0, Culture=neutral,
PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies.
The system cannot find the file specified.
I expect I need something like a dependentAssembly redirect binding somewhere like what you using in .Net to indicate how to resolve these types of things, but I haven't found anything through my searching that tells me where that might need to go for the referenced assembly in COM to pick it up.
It's worth noting that in the case of Newtonsoft.Json, downgrading to 6.0.4 isn't a fix because there are multiple references to Json.Net within the various packages we are using so I don't have the power to just choose one version.
Also, in a .Net tester application we used during library development everything works as expected and the references figure themselves out to use the right versions. So I believe I need to figure out how to tell COM to find what it is looking for.
Any help is appreciated! Thanks.