我在Visual Studio 2013中使用OpenCvSharp。我已经通过Nuget安装了它,它运行正常。
但是当我部署应用程序时,它有一个128M的DLL目录。 x86为128M,64为128M。 我基本上使用了HighGui和Core的功能。当我删除DLL时,OpenCvSharp在加载时抛出异常。
我尝试重新编译OpenCvSharp但没有成功(这是另一个问题),甚至重新编译OpenCV以获得更小的DLL。
是否有任何方法只加载所需的DLL并指出哪一个可以删除?
答案 0 :(得分:3)
您的部署规模听起来很大...... 当我使用Nuget包OpenCvSharp-AnyCPU 2.4.10创建一个测试项目时,我得到:
OpenCvSharp按需加载本机dll(即当C#代码需要本机代码时),因此可以删除代码从不使用的dll,但是你必须检查源代码或查找通过反复试验来解决这个问题。
默认情况下,您的C#应用会构建定位Any CPU
,这意味着需要两组dll,但您可以在构建属性中设置Platform target: x86
,而不是部署x64 dll。