Use different versions of dll file in one app

2019-02-16 22:15发布

问题:

I have an c# application with two libraries ( moon-apns, tweetsharp ) .. Each library has a reference for newtonsoft.json.dll but different versions ... My app build successfully but one library works fine and the other one throws an exception ( can't find the dll file ).

I think that when i build only one version goes to the bin folder, but i don't know what to do.

Thanks in advance.

回答1:

You can force both libraries to reference the same version by using Assembly Binding Redirects in your app.config or web.config. Obviously this only works as long as the library versions are compatible.



回答2:

Since you stated you have access to the source of the two libraries:

In both projects, set the reference to newtonsoft to not required Specific Version. Rebuild those projects.

Now, when you build your main project, the two libraries should be ok with the same version of the newtonsoft DLL as long as there is no compatibility issues