Using two different versions of same the NuGet package
<p>I wanted to use two different version same library (OpenCVSharp 2.x and OpenCVSharp 3.x).</p>
<p>I downloaded those two packages both to the separate project (let's call it OCV2Wrapper and OCV3Wrapper) and reference both wrappers in my project. I had to renamed libraries from one package (2.x) and reference them manual because: <a href="https://stackoverflow.com/questions/17555126/can-we-add-2-different-versions-of-same-package-in-nuget">Can we add 2 different versions of same package in NuGet</a>. I read about external aliases and I used external alias in one of the wrappers (2.x in my case).
But I have some major problems:</p>
<ul>
<li>My renamed libraries are not copied to the launch project build (that one which reference both wrappers), but is in build of the 2.x wrapper</li>
<li>It doesn't work because yet it says it cannot find a type from my 2.x wrapper even when I manually copy my renamed libraries from 2.x wrapper.</li>
</ul>
<p>What is the correct approach for this scenario in C#?</p>
<p>I want to use both wrappers in solution because the 2.x version contains algorithms (SIFT and SURF) and 3.x version contains algorithms (Kaze and AKaze).</p>
<p>I can live that with both packages coming from somewhere other than NuGet, but I prefer that 3.x comes from NuGet and the 2.x version is manually configured.</p>