Image processing 无法加载文件或程序集';A版本=2.2.4.0';

Image processing 无法加载文件或程序集';A版本=2.2.4.0';,image-processing,powershell,powershell-2.0,aforge,Image Processing,Powershell,Powershell 2.0,Aforge,在VisualStudio的Windows窗体应用程序中使用RGE类没有问题。我现在正尝试在Windows PowerShell中使用它们 [Reflection.Assembly]::LoadFile('C:\Program Files\AForge.NET\IPLab\References\AForge.NET\AForge.Imaging.dll') 给出: GAC Version Location --- ------- -------- Fal

在VisualStudio的Windows窗体应用程序中使用RGE类没有问题。我现在正尝试在Windows PowerShell中使用它们

[Reflection.Assembly]::LoadFile('C:\Program Files\AForge.NET\IPLab\References\AForge.NET\AForge.Imaging.dll')
给出:

GAC    Version        Location
---    -------        --------
False  v2.0.50727     C:\Program Files\AForge.NET\IPLab\References\AForge.NET\AForge.Imaging.dll
尽管AForge.Imaging.dll文件版本和产品版本均为2.2.4.0,但它仍显示v2.0.50727。但我可以执行以下命令来实例化AForge.Imaging.UnmanagedImage对象$umi(其中$bmdata是Drawing.BitMapData对象):

但是当我尝试访问$umi对象时,例如$umi.GetType(),我得到了以下错误:

The following exception occurred while retrieving member "GetType": "Could not load file or assembly 'AForge, Version=2.2.4.0, Culture=neutral, PublicKeyToken=c1db6ff4eaa06aeb' or one of its dependencies. The system cannot find the file specified."
At line:1 char:13
+ $umi.GetType <<<< ()
    + CategoryInfo          : NotSpecified: (:) [], ExtendedTypeSystemException
    + FullyQualifiedErrorId : CatchFromBaseGetMember
检索成员“GetType”时发生以下异常:“无法加载文件或程序集'AForge,Version=2.2.4.0,Culture=neutral,PublicKeyToken=c1db6ff4eaa06aeb'或其依赖项之一。系统找不到指定的文件。”
第1行字符:13

+$umi.GetType运行
进程监视器
并检查它要查找的程序集及其位置。可能是找不到Forge.NET所需的某个程序集,或者存在某些安全限制。有时,如果您试图将32位版本的DLL加载到64位powershell中,或者尝试将32位版本的DLL加载到64位powershell中,则可能会出现类似的问题。

库“AForge.Imaging.DLL”依赖于以下库,这些库也必须加载

Add-Type -AssemblyName "System.Drawing"
Add-Type -Path "E:\AForge.dll"
Add-Type -Path "E:\AForge.Math.dll"
Add-Type -Path "E:\AForge.Imaging.dll"
运行以下PowerShell命令以列出当前加载的程序集,并验证您是否具有必要的位

[appdomain]::currentdomain.getassemblies() | sort -property fullname | format-table fullname
以下是我的结果:

FullName
--------
AForge, Version=2.2.4.0, Culture=neutral, PublicKeyToken=c1db6ff4eaa06aeb
AForge.Imaging, Version=2.2.4.0, Culture=neutral, PublicKeyToken=ba8ddea9676ca48b
AForge.Math, Version=2.2.4.0, Culture=neutral, PublicKeyToken=abba2e25397ee8c9
Microsoft.PowerShell.Commands.Diagnostics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Microsoft.PowerShell.Commands.Management, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Microsoft.PowerShell.Commands.Utility, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Microsoft.PowerShell.ConsoleHost, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Microsoft.PowerShell.Security, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Microsoft.WSMan.Management, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Configuration.Install, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Management, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Management.Automation, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Transactions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

我可以确认这对我有效

在调用函数的项目中安装aforge.video-以下是nuget console的语法 安装rge.Video包-项目“用于调用OrgeFunctionCalls的项目名称”-版本2.2.4.0


这解决了我的问题

可能找不到Forge.NET所依赖的某个DLL:s?看一看这样的问题和公认的答案,也许这会对你有所帮助。我看了那个问题,并在我的VS WinForm项目的参考列表中加载了我看到的所有内容。如果WinForm应用程序运行正常,我想知道还有什么可能会丢失。错误消息是否表示其他未命名的程序集,即使它显示了一个RGE?我这样做了,并且从>200万个条目中,我发现了两个可能相关的条目:RegOpenKey HKLM\SOFTWARE\Microsoft\Fusion\publisherpolicy\Default\v4.0\u policy.2.2.a未找到RGE\uu c1db6ff4eaa06eb NAME。另一个与之完全相同,但子字符串“v4.0_”较少。
FullName
--------
AForge, Version=2.2.4.0, Culture=neutral, PublicKeyToken=c1db6ff4eaa06aeb
AForge.Imaging, Version=2.2.4.0, Culture=neutral, PublicKeyToken=ba8ddea9676ca48b
AForge.Math, Version=2.2.4.0, Culture=neutral, PublicKeyToken=abba2e25397ee8c9
Microsoft.PowerShell.Commands.Diagnostics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Microsoft.PowerShell.Commands.Management, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Microsoft.PowerShell.Commands.Utility, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Microsoft.PowerShell.ConsoleHost, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Microsoft.PowerShell.Security, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Microsoft.WSMan.Management, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Configuration.Install, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Management, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Management.Automation, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
System.Transactions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089