如何将canon数码相机dll文件添加到我的项目中?

时间:2013-05-01 15:23:04

标签: c#

我去了这个网站:

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的网站,因为他们不支持这些内容。我之前尝试过给他们发电子邮件,他们不支持。

我还能做什么?

1 个答案:

答案 0 :(得分:5)

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

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

阅读p / invoke以更好地理解。