07-14-2014 09:45 PM
現在、Visual Studio2008 C#でGPIBを制御するプログラムを作成することになり、
サイトを見ながらドライバをダウンロードし、DotNET3.5用のサンプルプログラムをビルドして
動作させようとしております。
ドライバのバージョンは「3.1.2」です。
サンプルプログラムは「SimpleReadWrite」を使用しております。
先ずプロジェクトを開いた段階で、「 参照コンポーネント 'NationalInstruments.Common' が見つかりませんでした。 」のワーニングが
表示されるため、参照設定でインストール先のフォルダ内に存在する以下のDLLを参照し、リビルドしました。
「インストール先フォルダ\National Instruments\MeasurementStudioVS2008\DotNET\Assemblies\Current\NationalInstruments.Common.dll」
リビルドしたところ今度は、「 同じ依存アセンブリの異なるバージョン間での競合が見つかりました。 」のワーニングが出ます。
実際にそのまま動かしてみたところ、正常に動いてはいるのですが、
参照設定で追加したDLLは.framework3.5用のDLLではないのでしょうか?
何か情報のお持ちの方は、ご教授頂ければ幸いです。
解決済! 解決策の投稿を見る。
07-17-2014 12:58 AM - 編集済み 07-17-2014 12:58 AM
まろ様
日本ナショナルインスツルメンツの早田と申します。
まず、ご質問の回答としては、今回まろ様が参照設定で追加されたアセンブリは、.NET Framework 3.5用のものです。
今回の問題は、「National Instruments.Common.dll」そのもののバージョンの相違に起因しています。
ご指摘を受け、私の方でもNI-488.2 3.1.2に付属の.NET 3.5用のサンプル「SimpleReadWrite」を確認してみましたが、ご指摘のものと同じアセンブリの参照エラーが生じていました。
(スクリーンショットではVB .NET 3.5用のサンプルとなっていますが、VC#でも同様です)
これは、実際にはバージョン13.0.35.188のNational Instruments.Common.dllが参照されているにも関わらず、NI-488.2 3.1.2に同梱されるNational Instruments.Common.dllがバージョン13.0.35.190となっているためであると考えられます。
このようなバージョンの相違が生じている原因は現在調査中ですが、まろ様が実施された様に、「インストール先フォルダ\National Instruments\MeasurementStudioVS2008\DotNET\Assemblies\Current\NationalInstruments.Common.dll」を参照に含めていただけば、サンプルは実行できるようになります。
そして、バージョン13.0.35.188のNational Instruments.Common.dllが参照された際に、自動的にバージョン13.0.35.190のそれを参照する様な設定をプロジェクトに加えてやれば (「同じアセンブリの…」の警告メッセージをダブルクリックして出現するダイアログで「はい」を選択すると、このような設定のためのapp.configがプロジェクトに追加されます)、警告は解消されます。
ご迷惑をお掛けし申し訳ございませんが、上記の対処で警告の回避を実施いただけないでしょうか。
日本ナショナルインスツルメンツ
技術担当 早田
07-17-2014 02:26 AM
早田様
返信ありがとうございました。
DLLのバージョンが異なっていたのですね。
了解いたしました。
警告に関してはapp.configで回避するようにいたします。