【问题标题】:x86 32 bit support for Accord.video.FFMPEG对 Accord.video.FFMPEG 的 x86 32 位支持
【发布时间】:2021-05-28 20:58:01
【问题描述】:

雅阁 3.8.2 版

我正在使用 Accord、Accord.video、Accord.video.FFMPEG Dll 来捕获屏幕,我的代码被编译为 ANYCPU,在 64 位机器上一切正常,但在 32 位机器上我遇到了问题下面是我得到的例外。

Exception occurred while loading the assemblies Could not load file or assembly 'Accord.Video.FFMPEG.dll' or one of its dependencies.  is not a valid Win32 application. (Exception from HRESULT: 0x800700C1),    at System.Reflection.RuntimeAssembly.nLoadFile(String path, Evidence evidence)
   at System.Reflection.Assembly.LoadFile(String path)
   at ProHance.ProbeTray.Program.MPvcUlyJUg(Object  , ResolveEventArgs  )

【问题讨论】:

    标签: ffmpeg aforge accord.net


    【解决方案1】:
    1. 将库项目添加到解决方案中。

    2. 将 nuget 包 Accord.Video.ffmpeg(或 x64)添加到库项目 (不要更改平台目标,如果您的环境是 x64,请使用 x64 版本,否则使用 x86)

    3. 将这些引用的本地副本更改为错误协议 ,Accord.Video ,Accord.Video.ffmpeg

    4. 复制 packages\Accord.Video.FFMPEG.3.8.0\build + 中的所有文件 Accord ,Accord.Video , Accord.Video.ffmpeg 到您的输出文件夹 像 bin\ffmpeg

    5. 将这些行放在 Application_Start 中。

    var path = Thread.GetDomain().BaseDirectory + "bin\ffmpeg\";
    Environment.SetEnvironmentVariable("PATH", Environment.GetEnvironmentVariable("PATH") + ";"+ path);
    AppDomain.CurrentDomain.AppendPrivatePath(path);
    

    【讨论】:

      猜你喜欢
      • 2020-03-08
      • 2020-12-12
      • 1970-01-01
      • 2021-06-22
      • 2016-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多