解決策
.NETでは、すべてのアセンブリがグローバル アセンブリ キャッシュ(GAC)内に存在するか、それらのアセンブリを使用しているアプリケーションの同じディレクトリまたはサブディレクトリに存在する必要があります。
LabVIEW 8.0以降は、次の場所で.NETアセンブリを検索することでこれらの要件を満たしています。
- グローバルアセンブリキャッシュ(GAC) - LabVIEWはGAC内のすべてのアセンブリにアクセスできます。
- 指定されたサブディレクトリ- VIがLabVIEWプロジェクトの一部である場合、LabVIEWはプロジェクトを含むディレクトリとそのプロジェクトのすべてのサブディレクトリを検索します。 VIがLabVIEWプロジェクトの一部ではない場合、LabVIEWはLabVIEW.exeディレクトリを検索します。共有ライブラリまたはスタンドアロンアプリケーションで.NETアセンブリを使用している場合、LabVIEWはライブラリまたはアプリケーションとdataおよびbinサブディレクトリを含むディレクトリを検索します。
- 相対パス- LabVIEWはVI内の.NETアセンブリへの相対パスを保存するため(非GACアセンブリの場合)、LabVIEWはこのパスを検索にも使用します。 GACまたは LabVIEW アプリケーションディレクトリにない .NETアセンブリを参照するように構成するアプリケーションと同じディレクトリに存在する構成ファイルを作成できます。この代替案の詳細については、 この記事を参照してください。
LabVIEW 7.x は、次の場所で .NET アセンブリを検索することでこれらの要件を満たしました。
- 最上位VIのルートディレクトリ
- グローバル アセンブリ キャッシュ (GAC)
注: National Instrumentsでは、.NET アセンブリを使用するVIを常にLabVIEWプロジェクトに配置し、スタンドアロンVIのままにしないことを強くお勧めします。
.NETでLabVIEW を使用する方法の詳細については、LabVIEWヘルプの「LabVIEW で .NET を使用する」ヘルプトピックを参照してください。