繁体   English   中英

在IIS上发布时EmguCV异常

[英]EmguCV Exception when published on IIS

如果我在本地IIS上调试或运行它,我的ASP.NET App可以正常工作。 但是,如果我将其发布到IIS上,则好像EmguCV失去了所需的dll。 我的VS项目的bin文件夹与IIS上的bin文件夹相同。

发生以下异常:'Emgu.CV.CvInvoke'的类型初始化器引发了异常。 StackTrace:在Emgu.CV.Image 2.处为Emgu.CV.CvInvoke.cvCreateImageHeader(大小大小,IPL_DEPTH深度,Int32通道)在Emgu.CV.Image 2.AllocateData(Int32 rows, Int32 cols, Int32 numberOfChannels) at Emgu.CV.Image处为2.AllocateData(Int32 rows, Int32 cols, Int32 numberOfChannels) at Emgu.CV.Image .set_Bitmap(位图)值)在第213行的CustomerserviceWizard.ImageHelper.DecodeUrl(LuminanceSource源,位图位图,列表1方法)处

任何帮助表示赞赏。

我曾经遇到过类似的问题,也许这对您有帮助:请检查IIS应用程序池设置,并确保在“高级设置”下启用32位应用程序。

好吧,经过大量研究和研究,我终于说服了我的老板只使用台式PC通过EmguCV处理图像。 (非常明显的)例外原因是服务器中缺少nVidia Cuda GPU。

当我尝试在IIS上执行EmguCV时显示错误- Unable to load DLL 'cvextern': The specified module could not be found. (Exception from HRESULT: 0x8007007E) Unable to load DLL 'cvextern': The specified module could not be found. (Exception from HRESULT: 0x8007007E)

异常The type initializer for 'Emgu.CV.CvInvoke' threw an exception

就我而言,我通过为Windows服务器(在我的情况下为Windows Server 2012 R2)启用UI桌面体验解决了此问题,因为默认情况下,Microsoft从未在Windows Server上启用该功能。


对于Windows Server 2008

  1. 转到开始>>管理工具>>服务器管理器。
  2. 在左侧窗格中,单击功能。在功能摘要部分下,单击添加功能。
  3. 在“选择功能”页上,选中“桌面体验”复选框。
  4. 查看需要安装的必需功能,然后单击“添加必需功能”,再单击“下一步”。
  5. 在“确认安装选择”页面上,确保将安装Desktop Experience功能,然后单击“安装”。
  6. 在“安装结果”页面上,将要求您重新引导服务器以完成安装过程。
  7. 只需单击“关闭”,然后单击“是”以重新启动服务器。
  8. 服务器重新启动后,登录服务器,服务器将完成剩余的安装步骤。

对于Windows Server 2012

  1. 转到开始>>管理工具>>服务器管理器。
  2. 在服务器管理器上,单击“功能”。
  3. 在服务器管理器详细信息窗格中的“功能摘要”下,单击“添加功能”。
  4. 这将启动“添加功能向导”。
  5. 现在,在“功能”列表中,选择“桌面体验”,然后单击“安装”。

希望此解决方案可以为您提供帮助:)

链接- 来自GitHub的解决方案说明以及屏幕截图

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM