在 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的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C# 项目中使用 LIB 文件?

在 C# 项目中使用 MediaInfo.dll

C# 在共享项目中使用引用/类库

在项目 c++ 中使用 c# dll

C# 枚举在项目中使用心得

在 C# 项目中构建 VisualMicro Arduino 项目