【问题标题】:Emgu error when trying to install emgu.CV.runtime.windows in VC# 2017尝试在 VC# 2017 中安装 emgu.CV.runtime.windows 时出现 Emgu 错误
【发布时间】:2021-02-01 01:28:12
【问题描述】:

我正在尝试从 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 && 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();功能。

为什么会出现此错误? 任何帮助将不胜感激。

【问题讨论】:

    标签: c# emgucv


    【解决方案1】:

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

    然后,再次安装运行时包,它就可以工作了。

    【讨论】:

      【解决方案2】:

      对于新的 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 Options Image

      【讨论】:

      • 应该是Emgu.CV.Bitmap 而不是Engu.CV.Bitmap
      • @Liakat 已更新,谢谢。
      【解决方案3】:

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

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

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

      【讨论】:

        【解决方案4】:

        这是我的解决方法,
        1- 将 .Net 框架从项目属性降级到 4.6
        2-卸载Emgu.CV和相关的(你会在错误列表中看到需要卸载的)
        3- 从解决方案 Nuget Manager 安装Emgu.CV.runtime.windows(现在应该可以正常安装了) 3- 将 .Net 框架升级到 4.8
        4- 安装Emgu.CV 4.5.1(最新)
        5- 安装Emgu.CV.UI 4.5.1(Emgu.CV.Bitmwp 已为我自动安装)
        就是这样,现在您可以使用bitmap.ToImage<Bgr,Byte>(),注意Image<Bgr,byte>(bitmap) 不再起作用了。

        【讨论】:

        • 4.5.1.x 是您可以通过这种方式安装的最新版本。如我所见,不幸的是,4.5.2 及更高版本无法以这种方式工作。
        【解决方案5】:

        我将我的项目目标框架更改为“.NET Framework 4.6”,然后转到“管理 NuGet 包”,选择“浏览”,输入“emgu.cv.runtime”,然后安装版本 4.5.1.4349,它可以工作。

        【讨论】:

          猜你喜欢
          • 2021-09-13
          • 2018-12-16
          • 1970-01-01
          • 1970-01-01
          • 2023-01-03
          • 1970-01-01
          • 1970-01-01
          • 2020-12-04
          • 2021-11-18
          相关资源
          最近更新 更多