HRESULT 0x80070057是什么意思,为什么我的程序会崩溃?

我编写了一个程序,它接收两个图像,然后对它们运行算法以隔离“前景”中的手并将手势与已知手势相匹配。

几天前,我用一些测试参数来运行程序,只是为了测试我做的一些调整,这一切都运行良好。 从那以后我没有触及过代码。

今天,我运行了两个新图像的程序,它崩溃了,给我错误代码0x0HRESULT=0x80070057 。 除此之外,当我从C#Visual Studio 2010 Express停止调试时,不知怎的,调试已停止,据工作室说。 但是,即使是任务管理器,表单仍然没有响应,无法关闭。 我无法运行该程序,因为它说另一个实例仍在运行。

可能是什么导致了这个? 我可以尝试修复它吗? 我很乐意提供其他可能有用的细节; 我相对缺乏经验,并不知道什么是有用的,也没有帮助。

另外:我停下来开始工作室,这似乎解决了问题。 尽管如此,如果有人可以解释可能发生的事情,我将不胜感激。

另一个细节:程序在它应该做的事情结束时崩溃了。 我能够启动,加载两张图片,并运行算法,但在最后一步,它崩溃了我。

据我所知,错误代码意味着无法加载程序集。 它是腐败的或不可用的。

清除项目的\bin文件夹和AppData(Temp)文件夹(位于C:\Users\your_username\AppData\Local\Temp\Temporary ASP.NET )并查看错误是否仍然存在。

来源MSDN

E_INVALIDARG一个或多个参数无效( 0x80070057

您可能正在使用无法正确加载的程序集。 为了检查哪一个可能失败,我会推荐你​​这个实用程序: http : //www.dependencywalker.com/

它会扫描您的应用程序以查找依赖项,并突出显示未找到的项。 在我的例子中是一个缺少的C ++程序集。