> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 外部アセンブリ

> 外部 .NET アセンブリを Scanning Station スクリプトおよびグローバルモジュールに追加し、スクリプトコードからクラスを呼び出し、.pdb シンボルファイルを使用してアセンブリをデバッグします。

スクリプトおよびグローバルモジュールで外部アセンブリを使用できます。標準アセンブリとコンパイル済みのユーザーアセンブリのどちらも使用できます。

<div id="add-an-external-assembly">
  ## 外部アセンブリを追加する
</div>

外部アセンブリは、**バッチタイプのプロパティ** ダイアログの **Scripts** タブ、または **Tools → Options...** で追加できます。追加したアセンブリのすべてのクラスとメソッドは、スクリプトおよびグローバルモジュールで使用できます。

バッチタイプまたは Document Definition のプロパティに追加したアセンブリは、そのバッチタイプまたは Document Definition でのみ使用できます。

<Steps>
  <Step title="参照ダイアログを開く">
    **Project Properties** ダイアログを開き、**Scripts** タブをクリックして、**References .Net...** をクリックします。
  </Step>

  <Step title="アセンブリを追加する">
    開いたダイアログで、**Add...** をクリックします。
  </Step>

  <Step title="アセンブリの型を選択する">
    **Add Assembly** ダイアログの型 field で、**Attached file** または **Standard assembly name** を選択します。
  </Step>

  <Step title="アセンブリを指定する">
    選択した型に応じて、ファイルのパスまたは標準名を指定します。
  </Step>
</Steps>

このサンプルのユーザーアセンブリには、名前空間、クラス、およびそのクラスのメソッドが含まれています。

```csharp theme={null}
namespace TestNameSpace
{
public class Test
    {
    public void Show(string text)
       {
      // クラス System.Windows.Forms.MessageBox の静的メソッド Show(string text) を使用してテキストメッセージを表示する
System.Windows.Forms.MessageBox.Show(text);
       }
    }
}
```

外部アセンブリのクラスとメソッドを使用するスクリプトには、次のコードが含まれています。

```csharp theme={null}
TestNameSpace.Test test = new TestNameSpace.Test(); // Test クラスのオブジェクトを作成する
test.Show("Hello world"); // Test クラスの void Show() メソッドを呼び出す
```

<div id="debug-external-assemblies">
  ## 外部アセンブリのデバッグ
</div>

外部アセンブリをデバッグするには、アセンブリ ファイルとシンボル情報を含む `.pdb` ファイルの両方が必要です。デバッグできるのは、`.pdb` ファイルがロードされているアセンブリのみです。`.pdb` ファイルは比較的大きいため、作業中のプロジェクトではシンボル情報のロードを無効にします。

<div id="registry-keys-that-control-loading-symbolic-information">
  ### シンボル情報のロードを制御するレジストリ キー
</div>

`.pdb` ファイルをロードするかどうかを指定するには、次のレジストリ キーを使用します。

* `HKEY_CURRENT_USER\Software\ABBYY\ScanStationFC\4.0\Shell\Script [LoadSymbolsFromOriginalPath]` – アセンブリと同じフォルダーから `.pdb` ファイルをロードするかどうかを指定します。`.pdb` ファイルをロードするには、値を `True` に設定します。
* `HKEY_CURRENT_USER\Software\ABBYY\ScanStationFC\4.0\Shell\Script [PDBSearchLocations] = <path to the folder with PDB files>` – `.pdb` ファイルの検索パスを指定します。パスはセミコロンで区切ります。検索すると、アセンブリ名と一致する名前のシンボル情報を含む `.pdb` ファイルが見つかります。

これらのキーは、既定ではレジストリに存在しません。必要に応じて、管理者はユーザーのオペレーティング システムのレジストリにこれらのキーを追加できます。

レジストリの変更を適用するには、Scanning Station を再起動します。

アセンブリをデバッグするには、マネージド コードに接続します。
