LabVIEWでの.NET例外エラー処理

更新しました Dec 1, 2018

使用製品

Software

  • LabVIEW

問題

LabVIEWは.NET例外をどのように処理しますか?

解決策

.NETオブジェクトのプロパティまたはメソッドを呼び出すときに発生した例外は、LabVIEWエラー 1172に変換されます。このエラーは、LabVIEWが呼び出したAPIから.NET例外を受け取ったことを意味します。典型的なメッセージは次のようなものです。
1172、kLVE_DotNetException、.NETの例外が発生しました。​

エラー1172は、.NET例外の汎用エラーコードであるため、エラーの根本原因は.NET例外メッセージに関連します。
  1. LabVIEW 8.0以降では、エラークラスタ内のエラーソース文字列に.NET例外メッセージプロパティを配置することにより、エラーメッセージに詳細が追加されました。ソース要素をバンドル解除して、例外に関する追加情報を表示できます。
  2. LabVIEW 7.x以前では、表示される情報が.NET例外が発生したことだけでした。LabVIEW 7.xでこのエラーを解決するには、次のいずれかを行う必要があります。
  • 使用している.NETアセンブリがトップレベルVIのルートディレクトリに保存されていることを確認します。
  • ツール>>上級>>NETアセンブリ参照を選択して、LabVIEWで.NETアセンブリを参照として追加します。 追加ボタンをクリックして、呼び出したいすべてのアセンブリの場所を指定します。

追加情報

LabVIEW 8.0以降では、手動エラー処理を使用する場合にのみ追加の情報が表示されます。エラー処理の詳細については、LabVIEWにおけるエラー処理を参照してください。

LabVIEWから.NETアセンブリを呼び出す際のその他の考慮事項は、以下のとおりです。
  • プライベートアセンブリは、呼び出し元アプリケーションと同じディレクトリに配置する必要があります。
  • 共有アセンブリは、GACにインストールする必要があります。これには、ネットワークドライブから呼び出されたアセンブリも含まれます。GACへのインストールの詳細については、Install an Assembly into the Global Assembly Cacheを参照してください。ネットワークドライブからアセンブリを使用する際のトラブルシューティングの詳細については、Running LabVIEW VIs or Executables That Use .NET Assemblies From a Network Driveを参照してください。
  • アプリケーションをビルドする場合は、ビルドにアセンブリを含めるように設定します。LabVIEWアプリケーションビルダは、GACに登録されていないアセンブリをデータサブディレクトリに自動的に保存する必要があります。ビルドしたアプリケーションとともにデータディレクトリを配布する必要があります。
  • ビルドしたアプリケーションを配布する場合は、対象のコンピュータに、呼び出された.NETアセンブリに対応する.NET Frameworkがインストールされていることを確認します。
  • プローブツールを使用して、.NETコンストラクタノードVIによって最初に作成された.NETオブジェクト参照が有効であることを確認します。
  • サードパーティの.dllを使用している場合は、.NET例外が問題の原因になる可能性があります。LabVIEWは、その.dllに問題が発生したという一般的なエラーメッセージを表示します。その場合は、トラブルシューティングのために.dllの提供元に連絡してください。
詳細は、LabVIEWで.NETアセンブリを使用する際の要件を参照してください。

この記事はお役に立ちましたか?

いいえ