我能够使用Costura和Fody(任何CPU .NET 4)为WinForm应用创建单个exe。 我的项目中使用的所有dll文件都放在项目内的“ dll”文件夹中。并且每个dll的“生成操作”均设置为“无”。然后,将该文件夹中的每个dll添加为参考。
现在,我想添加Aforge.Video.FFMPEG.dll作为参考,并且如上所述。但是,在运行该应用程序时,它会显示一个异常:
System.IO.FileLoadException:'无法加载文件或程序集'AForge.Video.FFMPEG,版本= 2.2.5.0,区域性=中性,PublicKeyToken = 03563089b1be05dd'或其依赖项之一。尝试通过修复程序加载无法验证的可执行文件(IAT包含两个以上部分或一个TLS部分。)(HRESULT的异常:0x80131019)'
最后,我发现FFMPEG具有8个本机dll,并且此文件应与Aforge.Video.FFMPEG.dll一起放入bin / Release文件夹中。然后,我只能运行该应用程序。