我有一个代码示例,可以检测我的佳能 550d 数码相机,这样我就可以从电脑控制相机。我刚刚从这里下载了源文件:
我在 Visual Studio 2012 Pro 中创建了一个新项目;我的电脑运行的是 Windows 8 64 位。我添加了所有.cs文件,并复制了注册后从佳能网站下载的所有dll文件。
第一次运行程序并单击连接按钮时,我得到了一个缺少 dll 的异常。由于无法添加引用的 dll,我将它们复制到 Debug 目录。
丢失的 dll 是 PRSDK.dll,所以我找到并下载了 dll,并复制了它。
现在,当我单击连接按钮时,我得到了一个不同的异常:
BadImageFormatException:试图加载格式不正确的程序。(来自 HRESULT 的异常:0x8007000B)
例外是在文件 Camera.cs 中,该行:
err = prAPI.PR_StartSDK();
我google了一下这个异常,发现有人把项目平台和目标改成了x86,于是我试了一下——我试过改成x86、x64、AnyCpu,什么都有,但是没有用。
也许 PRSDK.dll 文件很旧并且不能在 Windows 8 中使用?
这是我的 SkyDrive 中我的项目/解决方案的链接,如果有人可以下载它并尝试在他的机器上运行它,也许会找到解决方案?
https://skydrive.live.com/redir?resid=EB1C71C44C3976D5!201&authkey=!AErpIgyllPAgH9w
该项目名为:Canon_Camera_Control