首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法加载文件或程序集“AForge.Video.FFMPEG.dll”或其依赖项之一

无法加载文件或程序集“AForge.Video.FFMPEG.dll”或其依赖项之一
EN

Stack Overflow用户
提问于 2016-12-28 19:01:21
回答 3查看 9.2K关注 0票数 5

我正在使用VisualStudioCommunity2015开发一个.NET应用程序,它使用了一些AForge.NET库。我将引用添加到我的项目中,当我调试应用程序时,库可以正常工作。但是,当我发布应用程序并将其安装在同一台计算机上时,一旦我到达使用AForge.NET库的应用程序的一部分,该应用程序就会崩溃,并出现以下错误:

代码语言:javascript
运行
复制
System.IO.FileNotFoundException: Could not load file or assembly 'AForge.Video.FFMPEG.dll' or one of its dependencies. The specified module could not be found.
Filename: 'AForge.Video.FFMPEG.dll'
    on MyApp.mySecondForm..ctor(Int32 id)
    on MyApp.myMainForm.myListView_DoubleClick(Object sender, EventArgs e)
    on System.Windows.Forms.Control.OnDoubleClick(EventArgs e)
    on System.Windows.Forms.ListView.WndProc(Message& m)
    on System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    on System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    on System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

我已经在网上搜索了这方面的解决方案,到目前为止,以下任何一项都没有对我有效:

  • 安装Visual C++可再发行版(认为可能缺少依赖项)
  • 使用“文件系统编辑器”在安装时添加库(在Visual中找不到编辑器)。

另外,我搜索了安装应用程序的文件夹,我看到所有的DLL文件都在那里,每个文件都在一个不同的文件夹中,还有一个包含每个DLL的文件夹以及其他文件。

我与其他库(全局程序集缓存中的库)没有任何问题,比如MySql.Data

根据克里斯·奥的建议,我使用Process检查我的应用程序,它显示它正在寻找GAC中的AForge库;因为我没有在那里添加它们,所以找不到它们。

,我需要做什么来配置我的应用程序,这样它就可以从一个应用文件夹访问库,而不是在GAC?中查找它们。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-12-29 19:48:19

必须将外部库复制到包含AForge.Video库的安装文件夹.

AForge.Video库包含一些不能作为引用添加的外部DLL文件。相反,必须将它们复制到项目的bin文件夹。同样,安装应用程序后,必须将它们复制到其他DLL文件所在的文件夹中。文件夹的确切名称各不相同,但在我的示例中,我必须将它们复制到以下目录:

C:\ User \用户名\AppData\Local\Apps\2.0\3V9YACJD.EPJ\V4BGBR0L.485\appe..tion_0000000000000000_0001.0008_b483b48e9712fa89

需要复制的DLL文件是:

  • avcodec-53.dll
  • avdevice-53.dll
  • avfilter-2.dll
  • avformat-53.dll
  • avutil-51.dll
  • postproc-52.dll
  • swresample-0.dll
  • swscale-2.dll

在制作了与新Visual项目相同的应用程序之后,我注意到了这一点,并且忘记了在新项目中复制外部库,这导致了开发中的相同错误(这是我以前没有得到的)。

票数 8
EN

Stack Overflow用户

发布于 2019-03-18 18:26:44

启动后在useLegacyV2RuntimeActivationPolicy="true"上添加app.config

喜欢

代码语言:javascript
运行
复制
`<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true"> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
</configuration>`

并将外部文件\ffmpeg\bin中的AForge外部dll复制到project \debug文件夹。

票数 2
EN

Stack Overflow用户

发布于 2021-02-20 16:14:26

尝试在x86平台上构建您的项目。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41368176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档