If I have an application (App) referencing a library (Lib1) which itself reference another library (Lib2), when App references Lib1, it will also copy the Lib2 dll and work fine.
If I also add another reference to App to another different library, but with the same name as Lib2 (Lib2bis), Lib1 will try to use the types from Lib2bis instead of Lib2 (as the Lib2 file, I believe, gets overwritten by the Lib2bis file (named the same).
Since the reference from App to Lib2 is indirect, I won't know that Lib2bis conflicts with Lib2 until the execution which will cause a runtime error.
Is there any way to prevent/resolve this issue (apart from renaming the libraries...) (ideally, not using alias, but I would be interested in knowing the alias solution as well if one).