Ich wollte zwei verschiedene Version der gleichen Bibliothek (OpenCVSharp 2.x und OpenCVSharp 3.x) Nun habe ich diese beiden Pakete beide auf das separate Projekt heruntergeladen (nennen wir es OCV2Wrapper und OCV3Wrapper) und referenzieren beide Wrapper in meinem Projekt. Ich musste Bibliotheken von einem Paket (2.x) umbenennen und sie manuell referenzieren, weil: Can we add 2 different versions of same package in NuGet. Ich lese über externe Aliase und ich benutzte externen Alias in einem der Wrapper (2.x in meinem Fall). Aber ich habe einige große Probleme:Mit zwei verschiedenen Versionen der gleichen nuget Paket
- Meine umbenannt Bibliotheken sind nicht auf die Einführung Projekt Build kopiert (das eine, die beide Umhüllungen verweisen), sondern ist in Build der Wrapper 2.x
- Es arbeiten nicht weil es doch sagt, dass ich keinen Typ von meinem 2.x-Wrapper finden kann, selbst wenn ich meine umbenannten Bibliotheken manuell vom 2.x-Wrapper kopiere.
Was ist der richtige Ansatz für dieses Szenario in C#?
Ich möchte beide Wrapper in Lösung verwenden, weil Version 2.x Algorithmen (SIFT und SURF) enthält und 3.x Verison Algorithmen (Kaze und AKaze) enthält. Ich kann leben, dass beide Pakete aus nugget wären, aber ich bevorzuge, dass 3.x von nuget ist und 2.x-Version manuell konfiguriert wird.
Sie haben angegeben, dass Sie in Ihrer Lösung mindestens drei Projekte erstellt haben, richtig? Die Einschränkung der von Ihnen geposteten Frage bezieht sich auf ein Projekt.Sie können verschiedene Versionen eines nugget-Pakets problemlos verschiedenen Projekten hinzufügen. Und solange Ihre beiden Projekte den Code des nugget-Pakets verarbeiten und Sie die beiden in Ihrem dritten Projekt referenzieren, sollte alles in Ordnung sein. –
OK, ich verstehe. ABER wenn ich das tue (benutze zwei Wrapper für zwei verschiedene Bibliotheken), dann habe ich in meinem Build des ausführbaren Programms keine Bibliotheken von 2.x Wrapper (die manuell von browse Datei referenziert und umbenannt werden, so dass ich einen Namensüberschreibungskonflikt verhindern würde) – LightCZ
Bestätigt das Verhalten, ich sehe auch nicht Nuget automatisch die niedrigere Version Bibliothek –