在 C# 项目中使用 MediaInfo.dll
Posted
技术标签:
【中文标题】在 C# 项目中使用 MediaInfo.dll【英文标题】:Using the MediaInfo.dll within C# project 【发布时间】:2013-09-19 14:04:38 【问题描述】:我试图在一个用 c# 设计的 MVC4 项目中使用 MediaInfo.dll,但我很难让它工作。我找到了以下页面:http://teejeetech.blogspot.co.uk/2013/01/mediainfo-wrapper-for-net-projects.html 并按照说明进行操作,我碰壁了。
我已将 MediaInfoNet.dll 添加到我的项目中,并下载了没有安装程序的 32 位和 64 位版本的 MediaInfo.dll,并将它们放在我的 system32 和 sysWOW54 文件夹中。然后我添加了以下代码:
MediaFile uploadedFile = new MediaFile("C:\\Users\\jpmcfeely\\Desktop\\Videos\\Quarry.mp4");
string duration = uploadedFile.General.DurationString.ToString();
通过此调试时,我在 MediaFile uploadFile 上收到以下错误:
试图加载格式不正确的程序。 (HRESULT 异常:0x8007000B)
任何想法可能导致我的问题?
【问题讨论】:
有帮助吗:***.com/questions/2023766/…? 这意味着它试图在 32 位环境中加载 64 位 dll,反之亦然。检查您的项目属性构建选项卡,并确保您在正确的文件夹中有正确的 dll @meike 我已经检查过了,我的应用程序池已经允许 32 位设置为 true @TonyHopkinson 我已经检查了项目属性构建选项卡,如果我更改为 x64 相同的东西并且如果我更改为 x86 它根本不会运行,因为它是一个天蓝色的项目,而不是确定如何在此屏幕的正确文件夹中检查正确的 dll 没有显示此类信息 如果它不能全部运行在 32 位,我们将 dll 的 32 位版本取出并构建为 64 位。这可能会帮助您了解是什么。 ***.com/questions/495244/… 【参考方案1】:将应用程序 bin 文件夹中的 DLL 升级为 64 位版本的 dll,可从 http://mediaarea.net/en/MediaInfo/Download/Windows 获得,并选择不带安装程序的 64 位版本。这可以与 MediaInfoNet dll 一起使用,它会正确返回持续时间字符串
【讨论】:
以上是关于在 C# 项目中使用 MediaInfo.dll的主要内容,如果未能解决你的问题,请参考以下文章