我想使用两个不同版本的同一库(OpenCVSharp 2.x和OpenCVSharp 3.x)。
我将这两个包都下载到了单独的项目中(让我们称之为OCV2Wrapper和OCV3Wrapper),并在我的项目中引用了这两个包装器。我必须从一个包(2.x)中重命名库并手动引用它们,因为:我们可以在NuGet中添加同一软件包的2个不同版本吗。我了解了外部别名并在其中一个包装器(我的情况下是2.x)中使用了外部别名。 但我遇到了一些主要问题:
- 我的重命名库未复制到启动项目构建中(引用两个包装器的那个),但已在2.x包装器的构建中
- 尽管我手动从2.x包装器中复制了我的重命名库,但它仍然无法正常工作,因为它说找不到来自我的2.x包装器的类型。
在C#中,这种情况的正确方法是什么?
我想在解决方案中同时使用两个包装器,因为2.x版本包含算法(SIFT和SURF),而3.x版本包含算法(Kaze和AKaze)。
我可以接受两个包都来自于NuGet以外的地方,但我更喜欢3.x版本来自于NuGet,而2.x版本则手动配置。