0

我在 Visual Studio 2013 中使用 OpenCvSharp。我已经通过 Nuget 安装了它,它工作正常。

但是当我部署应用程序时,它有一个 128M 的 DLL 目录。x86 为 128M,64 为 128M。我基本上使用的是 HighGui 和 Core 的功能。当我删除 DLL 时,加载时 OpenCvSharp 会引发异常。

我试过重新编译 OpenCvSharp 没有成功(这是另一个问题),甚至重新编译 OpenCV 以获得更小的 DLL。

有没有办法只加载所需的 DLL 并指出可以删除哪个?

4

1 回答 1

3

您的部署规模听起来相当大......当我使用 Nuget 包 OpenCvSharp-AnyCPU 2.4.10 创建一个测试项目时,我得到:

  • 1.22MB 用于 net40 程序集
  • x64 dll 为 32MB
  • x86 dll 为 29MB

OpenCvSharp 按需加载本机 dll(即当 C# 代码需要本机代码时),因此您可以删除您的代码从未使用过的 dll,但您必须检查源代码或通过反复试验找出这一点。

默认情况下,您的 C# 应用程序将构建目标Any CPU,这意味着需要两组 dll,但您可以Platform target: x86在构建属性中设置而不部署 x64 dll。

于 2015-05-19T11:03:07.100 回答