我得到以下错误:
ASP.NET运行时错误:无法加载文件或程序集“aferge.video.ffmpeg.dll”或其依赖项之一。找不到指定的模块。
我曾在一个windows窗体项目中进行此操作,但在尝试将该项目转换为一个asp.net项目后,我一直无法使其运行。我在那里使用的是64位dll,但现在已经切换到使用32位dll,因为我似乎在这方面取得了更大的进展(64位dll也出现了类似的错误)。
我已在项目属性中将平台目标设置为x86,并尝试将其设置为任何CPU(由于dll是本机32位的,因此会触发警告),还尝试在使用64位dll时将目标更改为x64。
在IIS应用程序池中,我将“启用32位应用程序”设置为true。删除这个dll会导致项目工作,而将其重新添加会导致项目失败。
我试过:
将dll放入system32。
将bin文件夹(包含dll)放入路径中。
将应用程序目标设置为所有可能的选项(x86、x64、任何CPU)。
已验证dll未损坏,甚至尝试使用其他源编译dll。
所有的ffmpeg dll都在bin文件夹中;还尝试将它们放入system32。
在这个项目中甚至没有使用dll的代码(我在windows窗体项目中有代码要合并到这个项目中,但是如果引用不起作用,我就不能这样做)。我甚至创建了新的项目,以防项目中有一些奇怪的艺术品。
注意,我已经阅读了几乎所有与这个dll和asp.net相关的google结果。这些方法似乎都不起作用。

最佳答案

我找到了解决办法。不管出于什么原因,将ffmpeg dll(avformat-53.dll、avutil-51.dll等)放在C:\Windows\System32文件夹中都可以工作。
我不明白为什么dll不能简单地在路径上。另外,在这个位置放置dll也很不方便。
由于这是多么的统一,我将暂缓接受这个答案,希望其他人能给出更好的解决方案,或者至少解释为什么路径或系统32不起作用。

关于c# - 当它适用于Windows Form应用程序时,无法为ASP.NET应用程序加载AForge.Video.FFMPEG,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30263358/

10-09 08:19
查看更多