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 に答える