尝试在 VC# 2017 中安装 emgu.CV.runtime.windows 时出现 Emgu 错误

Sco*_*ney 6 c# emgucv

我正在尝试从 Visual Studio 2017 中安装 emgu.CV.runtime.windows,并通过右键单击引用并通过 NuGet 安装的推荐方法进行安装。

但是我收到以下错误。

无法安装包“Emgu.runtime.windows.msvc.rt.x64 19.28.29336”。您正在尝试将此包安装到面向 .NETFramework,Version=v4.7.2 的项目中,但该包不包含任何与该框架兼容的程序集引用或内容文件。有关更多信息,请联系软件包作者。

根据包信息,其依赖为 enter code here.NetStandardVersion=2.0 enter code here.Engu.CV (> 4.5.1 && < 4.5.2) enter code here.Engu.runtime.windows.msvc.rt.x86 (= 19.28.29336) enter code here.Engu.runtime .windows.msvc.rt.x64 (= 19.28.29336)

我检查了 c:\windows\Microsoft.NET\Framework 包含 v2.0.50727 的文件夹,所以似乎安装了 .net 2.0(v3.0、v3.5、v4.0.30319)

我已经安装了 emgu.CV 4.5.1.4349。

我需要这个库,以便我可以拥有enter code herebitmap.ToImage<Bgr, byte>(); 功能。

为什么我收到这个错误?任何帮助将不胜感激。

Jos*_*uer 10

解决方案是从 package.config 迁移到您拥有的每个项目的包引用。只需右键单击 package.config 并单击“将 package.config 迁移到 PackageReference”。

然后,再次安装运行时包,它将起作用。


PSU*_*U26 9

对于新的 Emgu Nuget 包,您确实需要使用 PackageReference 而不是传统的 package.config。

Visual Studio 2017 对我有用的是什么

  1. 卸载所有 NuGet 包[这将删除 package.config 文件]
  2. 转到工具 --> 选项 --> NuGet 包管理器 --> 常规
  3. 将默认包管理格式更改为“PackageReference”
  4. 选中“允许在首次安装软件包时选择格式”
  5. 单击“确定”
  6. 安装 Emgu.CV、Emgu.CV.Bitmap、Emgu.CV.UI 和 Emgu.CV.runtime.windows

这些 Emgu 包现在应该出现在您的引用下,并且您不应该看到 package.config 文件。

Nuget 选项图像

  • 它应该是“Emgu.CV.Bitmap”而不是“Engu.CV.Bitmap” (2认同)

小智 4

我遇到了同样的错误。我不知道为什么我们会得到它,但我找到了解决方法。

  1. 访问该包的nuget 页面
  2. 点击“下载包”直接下载nuget包。
  3. 使用您选择的存档实用程序打开下载的文件,然后导航到“\runtimes\win-x64\native”文件夹。
  4. 将两个 dll 文件复制到项目的输出目录中。

完成此操作后,我的代码执行没有错误。确保还安装了 emgu.CV.Bitmap。