【问题标题】:Could not load file or assembly 'video.player.net.dll' or one of its dependencies. The specified module could not be found.":"video.player.net.dll无法加载文件或程序集“video.player.net.dll”或其依赖项之一。找不到指定的模块。":"video.player.net.dll
【发布时间】:2017-07-12 07:52:32
【问题描述】:

我正在 c# windows 窗体中开发 LPR,我使用 onvif 连接到相机,所以我将需求 dll 添加到我的项目中,如您所见

我的项目构建成功,但是当我运行我的项目时出现此错误:

{"无法加载文件或程序集'video.player.net.dll'或其依赖项之一。找不到指定的模块。":"video.player.net.dll"}

堆栈

   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   at System.Delegate.DynamicInvokeImpl(Object[] args)
   at System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry tme)
   at System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme)
   at System.Windows.Forms.Control.InvokeMarshaledCallbacks()
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.Run(Form mainForm)
   at nMCR.Program.Main() in E:\Symfa Files\Old Symfa\1-جدید و مشکل پرش دوربین\nMCR\nMCR\Program.cs:line 19
   at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
   at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
   at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()

【问题讨论】:

  • 也许就是那个文件夹,不管它叫什么:E:\Symfa Files\Old Symfa\1-جدید و مشکل 还可以使用工具 DependencyWalker 检查您是否拥有所有依赖项
  • @JeremyThompson 最后谢谢你 swscale-2.dll 丢失了
  • @JeremyThompson 老实说,我在等你的帖子,因为你先回答了。所以如果你让我把 Marco 的帖子标记为正确答案
  • 很高兴,很高兴你解决了这个问题。给@Marco 加分,他需要最少 50 个代表发表评论。干杯
  • @JeremyThompson 非常感谢您

标签: c# .net dll onvif


【解决方案1】:

video.player.net.dll 依赖于一些原生库。请参阅此处的dependency walker 屏幕:

确保应用程序也可以访问这些文件。 (注意:在this blogpost的dll搜索路径中查找)。

【讨论】:

  • 谢谢你,我不在电脑后面,非常好的答案!
猜你喜欢
  • 2018-10-26
  • 2023-03-15
  • 2014-12-04
  • 1970-01-01
  • 1970-01-01
  • 2018-03-01
  • 1970-01-01
  • 2011-06-02
  • 1970-01-01
相关资源
最近更新 更多