在添加显示未处理异常的Emgu.CV.World dll时:System.Reflection.ReflectionTypeLoadException

时间:2016-08-02 05:18:58

标签: c# opencv unity3d

我愿意使用FaceTracker示例this,即在项目中添加了Emgu.CV.World dll,然后它会显示给我。

Unhandled Exception: System.Reflection.ReflectionTypeLoadException: The classes in the
     

模块无法加载。

  at (wrapper managed-to-native) System.Reflection.Assembly:GetTypes (bool)

  at System.Reflection.Assembly.GetTypes () [0x00000] in <filename unknown>:0 

  at Mono.CSharp.RootNamespace.ComputeNamespaces (System.Reflection.Assembly assembly, System.Type extensionType)
     

[0x00000] in:0

  at Mono.CSharp.RootNamespace.ComputeNamespace (Mono.CSharp.CompilerContext ctx, System.Type extensionType) [0x00000]
     

in:0

  at Mono.CSharp.GlobalRootNamespace.ComputeNamespaces (Mono.CSharp.CompilerContext ctx) [0x00000] in <filename unknown>:0 

  at Mono.CSharp.Driver.LoadReferences () [0x00000] in <filename unknown>:0 

  at Mono.CSharp.Driver.Compile () [0x00000] in <filename unknown>:0 

  at Mono.CSharp.Driver.Main (System.String[] args) [0x00000] in <filename unknown>:0 

The following assembly referenced from E:\Unity 5.2 Projects\OpenCV
     

演示\ OpenCVBasedPackages \ Assets \ Plugins \ Emgu.CV.World.dll无法   加载:            汇编:System.Drawing(assemblyref_index = 3)            版本:2.0.0.0            公钥:b03f5f7f11d50a3a       在全局程序集缓存中找不到程序集,MONO_PATH环境变量中列出的路径或位置   执行程序集(E:\ Unity 5.2 Projects \ OpenCV   演示\ OpenCVBasedPackages \资产\插件)。

Could not load file or assembly 'System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its
     

依赖性。       无法加载类Emgu.CV.Mat,在Emgu.CV.World中使用,Version = 3.1.0.2282,Culture = neutral,PublicKeyToken = 7281126722ab4438       无法加载类Emgu.CV.Mat,在Emgu.CV.World中使用,Version = 3.1.0.2282,Culture = neutral,PublicKeyToken = 7281126722ab4438       无法加载类Emgu.CV.Mat,在Emgu.CV.World中使用,Version = 3.1.0.2282,Culture = neutral,PublicKeyToken = 7281126722ab4438       无法加载类ImageGeneratorOutputMode,在Emgu.CV.World中使用,Version = 3.1.0.2282,Culture = neutral,   公钥= 7281126722ab4438       无法加载类OpenNIDataType,在Emgu.CV.World中使用,Version = 3.1.0.2282,Culture = neutral,   公钥= 7281126722ab4438       无法加载类DeviceType,在Emgu.CV.World中使用,Version = 3.1.0.2282,Culture = neutral,PublicKeyToken = 7281126722ab4438       无法加载文件或程序集System.Drawing,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a&#39;或其中一个   依赖。       无法加载类Emgu.CV.Matrix 1 could not be loaded, used in Emgu.CV.World, Version=3.1.0.2282, Culture=neutral, PublicKeyToken=7281126722ab4438 The class Emgu.CV.Mat could not be loaded, used in Emgu.CV.World, Version=3.1.0.2282, Culture=neutral, PublicKeyToken=7281126722ab4438 The class DebuggerProxy could not be loaded, used in Emgu.CV.World, Version=3.1.0.2282, Culture=neutral, PublicKeyToken=7281126722ab4438 The class Emgu.CV.Matrix 1,在Emgu.CV.World中使用,Version = 3.1.0.2282,Culture = neutral,   公钥= 7281126722ab4438       无法加载类Emgu.CV.CvArray 1 could not be loaded, used in Emgu.CV.World, Version=3.1.0.2282, Culture=neutral, PublicKeyToken=7281126722ab4438 The class Emgu.CV.Image 2,在Emgu.CV.World中使用,Version = 3.1.0.2282,Culture = neutral,   公钥= 7281126722ab4438       无法加载类Emgu.CV.Mat,在Emgu.CV.World中使用,Version = 3.1.0.2282,Culture = neutral,PublicKeyToken = 7281126722ab4438       无法加载文件或程序集System.Drawing,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a&#39;或其中一个   依赖。       无法加载文件或程序集System.Drawing,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a&#39;或其中一个   依赖。       无法加载文件或程序集System.Drawing,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a&#39;或其中一个   依赖。       无法加载文件或程序集System.Drawing,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a&#39;或其中一个   依赖。       无法加载文件或程序集System.Drawing,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a&#39;或其中一个   依赖。       无法加载文件或程序集System.Drawing,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a&#39;或其中一个   依赖。       无法加载文件或程序集System.Drawing,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a&#39;或其中一个   依赖。       无法加载文件或程序集System.Drawing,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a&#39;或其中一个   依赖。       无法加载文件或程序集System.Drawing,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a&#39;或其中一个   依赖。       无法加载文件或程序集System.Drawing,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a&#39;或其中一个   依赖。       无法加载文件或程序集System.Drawing,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a&#39;或其中一个   依赖。       无法加载文件或程序集System.Drawing,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a&#39;或其中一个   依赖。       无法加载文件或程序集System.Drawing,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a&#39;或其中一个   依赖。       无法加载类Emgu.CV.Structure.RotatedRect,在Emgu.CV.World中使用,Version = 3.1.0.2282,Culture = neutral,   公钥= 7281126722ab4438       无法加载文件或程序集System.Drawing,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a&#39;或其中一个   依赖。       无法加载文件或程序集System.Drawing,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a&#39;或其中一个   依赖。       无法加载文件或程序集System.Drawing,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a&#39;或其中一个   依赖。       无法加载类Emgu.CV.Image 2 could not be loaded, used in Emgu.CV.World, Version=3.1.0.2282, Culture=neutral, PublicKeyToken=7281126722ab4438 Could not load file or assembly 'System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. Could not load file or assembly 'System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. Could not load file or assembly 'System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. Could not load file or assembly 'System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The class Emgu.CV.Cuda.GpuMat 1,在Emgu.CV.World中使用,Version = 3.1.0.2282,Culture = neutral,   公钥= 7281126722ab4438       无法加载文件或程序集System.Drawing,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a&#39;或其中一个   依赖。       无法加载类&lt;&gt; c__DisplayClass1,在Emgu.CV.World中使用,Version = 3.1.0.2282,Culture = neutral,   公钥= 7281126722ab4438       无法加载类&lt;&gt; c__DisplayClass4,在Emgu.CV.World中使用,Version = 3.1.0.2282,Culture = neutral,   公钥= 7281126722ab4438       无法加载类&lt;&gt; c__DisplayClass7,在Emgu.CV.World中使用,Version = 3.1.0.2282,Culture = neutral,   公钥= 7281126722ab4438       无法加载类&lt;&gt; c__DisplayClassa,在Emgu.CV.World中使用,Version = 3.1.0.2282,Culture = neutral,   公钥= 7281126722ab4438       无法加载类&lt;&gt; c__DisplayClassd,在Emgu.CV.World中使用,Version = 3.1.0.2282,Culture = neutral,   公钥= 7281126722ab4438       无法加载类&lt;&gt; c__DisplayClass10,在Emgu.CV.World中使用,Version = 3.1.0.2282,Culture = neutral,   公钥= 7281126722ab4438       无法加载类&lt;&gt; c__DisplayClass13,在Emgu.CV.World中使用,Version = 3.1.0.2282,Culture = neutral,   公钥= 7281126722ab4438       无法加载类&lt;&gt; c__DisplayClass16,在Emgu.CV.World中使用,Version = 3.1.0.2282,Culture = neutral,   公钥= 7281126722ab4438       无法加载类&lt;&gt; c__DisplayClass1,在Emgu.CV.World中使用,

我谷歌找到了很多答案,但对我来说没什么用,我想这是dll兼容的问题?该怎么办?

1 个答案:

答案 0 :(得分:0)

假设该库与Unity的Unity版本兼容。 您可能需要将API兼容层从 .NET 2.0子集 更改为 .NET 2.0 ?你会发现编辑 - &gt;项目设置 - &gt;播放器 - &gt;其他设置