1

我去了这个网站:

https://www.didp.canon-europa.com/developer/didp/didp_main.nsf?opendatabase&login

我有一个登录名,我已经下载了 sdk/edsdk 的 2.1 版在我的硬盘上我有一些目录,其中一个是一个类:EDSDK.cs 我已经将它添加到我的项目中没有问题。

然后我转到目录:EDSDK>Dll 我试图在那里添加所有的 dll,但每一个都无法添加。出于某种原因,我得到了错误:

无法添加,请确保文件可访问并且是有效的程序集或 COM。

我试图通过其他人完成此说明并设法使其在这里工作:

http://dickchiang.blogspot.co.il/2008/01/programming-with-canon-digital-camera.html

这条评论:

Dick Chiang 说...假设你有 EDSDK 2.1(我正在使用相同的版本),你会这样做: 1. 在 VS2005 下创建一个新项目;2. 将 EDSDK 随附的 EDSDK.cs 类文件的副本(我安装时出现在 SAMPLE\CSharp\COMMON 下)复制/包含到您的项目中;3. 将在 EDSDK\DLL 文件夹下找到的所有 DLL 复制到您的项目输出文件夹中(不确定是否有更简单的方法来指定查找 DLL 的路径);4. 编写程序以通过我在第 2 项中提到的 EDSDK.cs 类文件访问 SDK。

我正在使用visual studio c# 2012 pro windows 8 64bit

我无法通过电子邮件发送到我下载 sdk/edsdk 的网站,因为他们不支持这些东西。我之前尝试过给他们发电子邮件,但他们不支持。

我还可以做些什么 ?

4

1 回答 1

5

这些是本机 dll,因此您无需通过“添加引用”对话框添加它们。您只需将它们复制到您的项目目录中,然后通过 Windows 资源管理器将它们添加到源代码管理中。然后在VS中右键单击您的项目并选择“添加现有项目”并以这种方式添加它们。最后,一旦它们被添加,您需要进入它们在 VS 中的属性并将 Build Action 更改为 Content,并将 Copy to .. 更改为“Copy if Newer”。

dll 的函数是通过 C# 中的 P/Invoke 调用的,如果您查看它,EDSDK.cs 类会提供所有这些调用的包装器。上述步骤确保在您编译应用程序时将 EDSDK dll 复制到您的构建路径,以便编译后的 EDSDK.cs 代码可以找到它们以进行 p/invoke 调用。

阅读 p/invoke 以获得更好的理解。

于 2013-05-01T15:32:40.477 回答