C# 引发异常:';System.TypeInitializationException';在Emgu.CV.dll中

C# 引发异常:';System.TypeInitializationException';在Emgu.CV.dll中,c#,.net,opencv,emgucv,C#,.net,Opencv,Emgucv,当我尝试用按钮打开文件时,Emgu.CV.dll中的“System.TypeInitializationException”引发了异常问题 引发异常:Emgu.CV.dll中的“System.TypeInitializationException” 我犯了这个错误 'Week_14.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_64\mscorlib\v4.0_4.0.0.0

当我尝试用按钮打开文件时,Emgu.CV.dll中的“System.TypeInitializationException”引发了
异常问题

引发异常:Emgu.CV.dll中的“System.TypeInitializationException”

我犯了这个错误

'Week_14.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_64\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Week_14.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\Users\Plyang\source\repos\Computer Vision\Week_14\bin\Debug\Week_14.exe'. Symbols loaded.
'Week_14.exe' (CLR v4.0.30319: Week_14.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms\v4.0_4.0.0.0__b77a5c561934e089\System.Windows.Forms.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Week_14.exe' (CLR v4.0.30319: Week_14.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Week_14.exe' (CLR v4.0.30319: Week_14.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Week_14.exe' (CLR v4.0.30319: Week_14.exe): Loaded 'C:\Users\Plyang\source\repos\Computer Vision\Week_14\bin\Debug\Emgu.CV.dll'. Module was built without symbols.
'Week_14.exe' (CLR v4.0.30319: Week_14.exe): Loaded 'C:\Users\Plyang\source\repos\Computer Vision\Week_14\bin\Debug\Emgu.Util.dll'. Module was built without symbols.
'Week_14.exe' (CLR v4.0.30319: Week_14.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Week_14.exe' (CLR v4.0.30319: Week_14.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Week_14.exe' (CLR v4.0.30319: Week_14.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'Week_14.exe' (CLR v4.0.30319: Week_14.exe): Loaded 'C:\Users\Plyang\source\repos\Computer Vision\Week_14\bin\Debug\Emgu.CV.UI.dll'. Module was built without symbols.
Exception thrown: 'System.TypeInitializationException' in Emgu.CV.dll
The program '[6760] Week_14.exe' has exited with code 0 (0x0).
守则:

Image<Bgr, Byte> imgSceneColor = null;
        Image<Bgr, Byte> imgToFindColor = null;
        Image<Bgr, Byte> imgCopyOfImageToFindWidthBorder = null;

        bool blnImageSceneLoaded = false;
        bool blnImageToFindLoaded = false;

        static Image<Bgr, Byte> imgResult = null;

        Bgr bgrKeyPointColor = new Bgr(Color.Blue);
        Bgr bgrMatchingLinesColor = new Bgr(Color.Green);
        Bgr bgrFoundImageColor = new Bgr(Color.Red);

        Stopwatch stopwatch = new Stopwatch();

        public Form1()
        {
            InitializeComponent();
        }

        private void buttonImageScene_Click(object sender, EventArgs e)
        {
            OpenFileDialog openFile = new OpenFileDialog();

            DialogResult dialogResult = openFile.ShowDialog();
            if ((dialogResult == DialogResult.OK) || (dialogResult == DialogResult.Yes))
                textImageScene.Text = openFile.FileName;
            else
                return;
            try
            {
                imgSceneColor = new Image<Bgr, Byte>(textImageScene.Text);
                //'Image(Of Bgr, Byte) My_Image = New Image(Of Bgr, Byte)(txtImageScene.Text)
                //'imgSceneColor = imgSceneColor.ToBitmap();
            }
            catch (Exception ex)
            {
                this.Text = ex.Message;
                return;
            }
            blnImageSceneLoaded = true;
            if (blnImageToFindLoaded == false)
                imageBoxResult.Image = imgSceneColor;
            else
                imageBoxResult.Image = imgSceneColor.ConcateHorizontal(imgCopyOfImageToFindWidthBorder);
        }
图像imgSceneColor=null;
图像imgToFindColor=null;
图像imgCopyOfImageToFindWidthBorder=null;
bool blnImageSceneLoaded=错误;
bool blnimagetofindload=false;
静态图像imgResult=null;
Bgr bgrKeyPointColor=新的Bgr(颜色为蓝色);
Bgr bgrMatchingLinesColor=新Bgr(颜色为绿色);
Bgr bgrFoundImageColor=新的Bgr(Color.Red);
秒表秒表=新秒表();
公共表格1()
{
初始化组件();
}
私有无效按钮图像场景\单击(对象发送者,事件参数e)
{
OpenFileDialog openFile=新建OpenFileDialog();
DialogResult=openFile.ShowDialog();
如果((dialogResult==dialogResult.OK)| |(dialogResult==dialogResult.Yes))
textImageScene.Text=openFile.FileName;
其他的
返回;
尝试
{
imgSceneColor=新图像(textImageScene.Text);
//'Image(属于Bgr,字节)My_Image=新图像(属于Bgr,字节)(txtmagescene.Text)
//'imgSceneColor=imgSceneColor.ToBitmap();
}
捕获(例外情况除外)
{
this.Text=例如消息;
返回;
}
blnImageSceneLoaded=真;
if(blnImageToFindLoaded==false)
imageBoxResult.Image=imgSceneColor;
其他的
imageBoxResult.Image=imgSceneColor.ConcateHorizontal(imgCopyOfImageToFindWidthBorder);
}

有人能帮忙吗

类型初始化意味着在运行静态/类型构造函数时出现了问题:|这也是一个很好的例子,说明了为什么我们不应该粗心大意地使用静态或为了简单起见。异常处理是我最讨厌的事情,
catch(Exception ex)
是一个经典的msitake。关于这个问题,我经常链接两篇文章:|我们还需要完整的异常详细信息类型、消息、Stacktrace和内部Eceptions(递归),以及抛出它的行。不幸的是,异常处理目前阻止我们接近它。您是如何将Emgu.Cv添加到您的项目中的?它是与Nuget包一起使用的,还是手动添加了对.dll的引用?