LabVIEW 2013で.NETアセンブリをロードするとエラーが発生する

更新しました Nov 24, 2018

使用製品

Software

  • LabVIEW

Operating System

  • Windows

その他

.NETアセンブリ

問題

LabVIEW 2013で.NETアセンブリをロードしようとすると、次のいずれかのエラーメッセージが表示されます。

アセンブリのロード中にエラーが発生しました。


要求したアセンブリのバージョンは.NETランタイムエンジンによって自動的に新しいバージョンに更新されました。

解決策

LabVIEW 2013は、デフォルトで.NET 4.0 Frameworkを使用し、.NET Frameworkアセンブリの旧バージョンを新しいバージョンへ自動的に更新します。

.NET 4.0 Frameworkには、新しいセキュリティモデルが導入されています。新しいセキュリティモデルは、ローカルアセンブリに完全信頼を自動的に付与しますが、インターネットやネットワークの場所などのリモートソースは信頼しません。LabVIEWは、完全信頼の関係を持たないリモートソースからアセンブリをロードしようとすると、エラーを返します。

 

アセンブリのロード中にエラーが発生しました

 

メモ: このエラーメッセージは、32ビットバージョンのLabVIEWに64ビット.NET DLLをロードしようとした場合、またはその逆の場合にも発生することがあります。


リモートソースからアセンブリに完全な信頼を与えるには、2つの方法があります。一般にLabVIEWが.NET構成ファイルのトークンを使用してLabVIEWにアクセスすることを許可するか、個々のアセンブリを手動で許可するかのいずれかです。

 

.NET構成ファイル

LabVIEWがすべての.NETアセンブリにアクセスできるようにするには、次の手順をおこないます。このアプローチは潜在的なセキュリティリスクがあることに注意してください。

  1. テキストエディタを使用して、次のテキストを含むファイルを作成します。
    <?xml version = "1.0"?>
    <構成>
    <実行時>
    <loadFromRemoteSources enabled = "true" />
    </ runtime>
    </ configuration>
  2. このファイルをLabVIEW.exe.configとして保存して、LabVIEWにロードされたすべてのアセンブリを信頼するか、LabVIEWプロジェクトファイル、共有ライブラリ、実行ファイル、またはスタンドアロンに構成ファイルを適用する方法の詳細については、.NETクライアントアプリケーションの設定 - LabVIEW 2017ヘルプを参照してください。そのような縮小されたスコープは、リモートアセンブリのロードを一般的に許可することによって潜在的なセキュリティリスクを低下させないようにしてください。
  3. 前の手順で作成したファイルを、作成したファイルと同じディレクトリに置きます。たとえば、LabVIEW.exeファイルは、通常C:\Program Files (x86)\National Instruments\LabVIEW 2018\にあるLabVIEW.exe.configファイルと同じディレクトリにあります。
 

アクセス権を手動で付与する

以下はWindows 7以降でのみ可能です。 LabVIEWがアセンブリのロードに失敗した 、Windowsはファイルのプロパティでアセンブリのブロックを解除するオプションを追加します。



ブロックを解除にチェックを入れてOKをクリックし、アセンブリに完全な信頼を与えます。

追加情報

.NET 2.0、3.0、または3.5アセンブリのロードについては、LabVIEWヘルプ: LabVIEWで.NET 2.0、3.0、3.5アセンブリをロードするを参照してください。.NETアセンブリを使用する場合は、スタンドアロンVIではなくLabVIEWプロジェクトを使用することをお勧めします。
 

メモ: Parallels DesktopまたはVMWare Fusionを使用してWindowsを仮想マシンとして実行する場合、新しいセキュリティモデルでは、共有ディレクトリ(/psfまたは¥¥vmware-host¥で始まるフォルダなど)がリモートソースとして扱われます。これらのディレクトリにアセンブリを完全信頼にする必要があります。

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

いいえ