01-25-2013 06:20 AM
Visual C#2010を使用してVISAのプログラミングをしようとしております。
http://www.ni.com/white-paper/2739/ja
のページを見て、VISAをインストールし、コードを書いたのですが
以下のようにMessageBasedSessionを宣言したとしたところでエラーが発生します。
private MessageBasedSession mbSession;
エラー内容は
「エラー 1 型 'NationalInstruments.ISupportSynchronizationContext' が参照されていないアセンブリで定義されています。アセンブリ 'NationalInstruments.Common, Version=9.0.40.362, Culture=neutral, PublicKeyToken=dc6ad606294fc298' への参照を追加してください。 」
といった内容です。
NationalInstruments.Commonと'NationalInstruments.Visaは参照されていますし、
using NationalInstruments.VisaNS; で名前空間も宣言しています。
気になったのが、NationalInstruments.Visaを参照する際にはソリューションエクスプローラから「参照の追加」をすると、参照タブに最初からリストアップされていましたが、NationalInstruments.Commonはリストアップされておらず、DLLの場所を指定して参照を追加しました。
それぞれのパスは以下
C:\Program Files\National Instruments\MeasurementStudioVS2010\DotNET\Assemblies\Current\NationalInstruments.VisaNS.dll
C:\Program Files\National Instruments\MeasurementStudioVS2010\DotNET\Assemblies\Current\NationalInstruments.Common.dll
また、参照のプロパティを確認すると、
NationalInstruments.Visaのバージョンは9.0.40.156ですが、
NationalInstruments.Commonのバージョンは9.1.40.159とバージョンが異なっています。
VISAのインストールはVer5.12とVer5.20で試してみましたが、同じエラーが返ってきます。
インストールはVISAのインストーラで.NETの開発ツールもインストール済みです。
解決方法を教えてください。
01-29-2013 03:20 AM
こんにちは。
気になったのが、NationalInstruments.Visaを参照する際にはソリューションエクスプローラから「参照の追加」をすると、参照タブに最初からリストアップされていましたが、NationalInstruments.Commonはリストアップされておらず、DLLの場所を指定して参照を追加しました。
あなたのプロジェクトの対象フレームワークが「.NET Framework 4 Client Profile」になっていませんか?
(「参照の追加」ダイアログボックスの「.NET」タブにある「フィルターの適用先」という項目でも確認できます。)
本件とは関係ないかもしれませんが、以前私がNI 488.2を使おうとしたときに、本件同様、NationalInstruments.Commonがリストに表示されないことがありました。また、DLLの場所を直接指定して参照を追加しても本件同様にダメでした。
私の場合は、プロジェクトの対象フレームワークを「.NET Framework 4 Client Profile」から「.NET Framework 4」へ変更することで解決しました。(添付画像参照)
この情報がほんの少しでもお役に立てば幸いです。
01-29-2013 10:31 PM
09-19-2016 08:11 PM
Noraneko様
素通りの者です。
自分はVB2010を使用していて、同じ問題にあたりました。
でも対象フレームワークを.NET Framework4にすることで、解決しました。
本当に助かりました。
他の皆様のお役に立てばと思い、追加の情報を下記に書きます。
対象フレームワークの変更方法ですが、VisualSutudioのバージョンによって、ちょっと違うようです。
Noraneko様が添付してくださいました画面の場所に、対象フレームワークを変更する欄が無い場合は、
同じ画面内の「コンパイル」をクリックして、下の方にある「詳細コンパイルオプション」をクリック
すると、「対象フレームワーク」欄が出てきます。