在c# winforms中安装Emgu.CV异常LL 'cvextern':找不到指定的模块,(HRESULT中的异常:0x8007007E)4.8如何修复?[副本]

tvokkenx  于 2023-06-24  发布在  C#
关注(0)|答案(1)|浏览(455)

此问题已在此处有答案

unable to load cvextern in a c# project(11个回答)
13天前关闭。
我在我的c# winforms项目中使用.net framework 4.8。平台目标任意CPU
在管理NuGet包的项目中...我搜索了Emgu.CV,然后在项目中使用以下命令添加了两者:

using Emgu.CV;
using Emgu.CV.Structure;

然后在我从按钮调用事件调用的方法中:

private void Test(string videoPath)
{
    // Load the video file
    VideoCapture videoCapture = new VideoCapture(videoPath);
}

和/或

private void btnOpenVideo_Click(object sender, EventArgs e)
{
    Test(@"C:\Users\something\Downloads\test.mp4");
}

我可以用任何播放器播放硬盘上的视频文件。
但是当点击按钮时,它会在行上抛出一个异常:
VideoCapture videoCapture = new VideoCapture(videoPath);
System.TypeInitializationException: 'The type initializer for 'Emgu.CV.CvInvoke' threw an exception.'
和/或
Inner Exception DllNotFoundException: Unable to load DLL 'cvextern': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
不知道怎么修。我试着谷歌了一下,但到目前为止没有一个答案有效。

sbtkgmzw

sbtkgmzw1#

System.TypeInitializationException:“Emgu.CV.CvInvoke”的类型初始值设定项引发了异常。
安装Emgu CVCore库而不安装Emgu.Cv.runtime.windows库时,通常会抛出此异常。为了能够使用Emgu CV处理视频,您需要安装Runtime。
1.打开Nuget包管理器
1.单击Browse选项卡并搜索Emgu.cv.runtime.windows,然后将该依赖项安装到项目中
1.如果您的框架目标是4.8,请确保安装的运行时版本不大于4.4.x.x
安装运行时后,应解决异常,并成功调用测试函数。

相关问题