Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

compiler.build.DotNETAssemblyOptions

.NET アセンブリのビルド オプション

R2021a 以降

説明

opts = compiler.build.DotNETAssemblyOptions(Files) は、Files で指定された MATLAB® 関数を使用して DotNETAssemblyOptions オブジェクトを作成します。DotNETAssemblyOptions オブジェクトを関数 compiler.build.dotNETAssembly への入力として使用します。

opts = compiler.build.DotNETAssemblyOptions(Files,Name,Value) は、名前と値の引数を 1 つ以上使用してオプションが指定された DotNETAssemblyOptions オブジェクトを作成します。オプションには、クラス名、出力ディレクトリ、含める追加ファイルなどがあります。

opts = compiler.build.DotNETAssemblyOptions(ClassMap) は、container.Map オブジェクト ClassMap を使用してクラス マッピングを指定して DotNETAssemblyOptions オブジェクトを作成します。

opts = compiler.build.DotNETAssemblyOptions(ClassMap,Name,Value) は、ClassMap を使用してクラス マッピングが指定され、名前と値の引数を 1 つ以上使用してオプションが指定された DotNETAssemblyOptions オブジェクトを作成します。オプションには、アセンブリ名、出力ディレクトリ、含める追加ファイルなどがあります。

すべて折りたたむ

ファイル入力を使用して DotNETAssemblyOptions オブジェクトを作成します。

この例では、matlabroot\extern\examples\compiler にあるファイル magicsquare.m を使用します。

appFile = fullfile(matlabroot,'extern','examples','compiler','magicsquare.m');
opts = compiler.build.DotNETAssemblyOptions(appFile)
opts = 

  DotNETAssemblyOptions with properties:

             AssemblyName: 'example.magicsquare'
          AssemblyVersion: '1.0.0.0'
                 ClassMap: [1×1 containers.Map]
               DebugBuild: off
             EmbedArchive: on
           EnableRemoting: off
         FrameworkVersion: '4.0'
    SampleGenerationFiles: {}
        StrongNameKeyFile: ''
          AdditionalFiles: {}s+ AutoDetectDataFiles: ons+ ObfuscateArchive: offs+ SupportPackages: {'autodetect'}
                  Verbose: off
                OutputDir: '.\magicsquaredotNETAssembly'

   Class Map Information
         magicsquareClass: {'C:\Program Files\MATLAB\R2023b\extern\examples\compiler\magicsquare.m'}

ドット表記を使用して既存の DotNETAssemblyOptions オブジェクトのプロパティ値を変更できます。

opts.Verbose = 'on'
opts = 

  DotNETAssemblyOptions with properties:

             AssemblyName: 'example.magicsquare'
          AssemblyVersion: '1.0.0.0'
                 ClassMap: [1×1 containers.Map]
               DebugBuild: off
             EmbedArchive: on
           EnableRemoting: off
         FrameworkVersion: '4.0'
    SampleGenerationFiles: {}
        StrongNameKeyFile: ''
          AdditionalFiles: {}s+ AutoDetectDataFiles: ons+ ObfuscateArchive: offs+ SupportPackages: {'autodetect'}
                  Verbose: on
                OutputDir: '.\magicsquaredotNETAssembly'

   Class Map Information
         magicsquareClass: {'C:\Program Files\MATLAB\R2023b\extern\examples\compiler\magicsquare.m'}

DotNETAssemblyOptions オブジェクトを関数 compiler.build.dotNETAssembly への入力として使用して、.NET アセンブリをビルドします。

buildResults = compiler.build.dotNETAssembly(opts);

DotNETAssemblyOptions オブジェクトを作成し、名前と値の引数を使用してカスタマイズします。

この例では、matlabroot\extern\examples\compiler にあるファイル magicsquare.m を使用します。名前と値の引数を使用して出力ディレクトリを指定し、データ ファイルの自動検出を無効にします。

opts = compiler.build.DotNETAssemblyOptions('magicsquare.m',...
    'OutputDir','D:\Documents\MATLAB\work\MagicDotNET',...
    'AutoDetectDataFiles','off')
opts = 

  DotNETAssemblyOptions with properties:

             AssemblyName: 'example.magicsquare'
          AssemblyVersion: '1.0.0.0'
                 ClassMap: [1×1 containers.Map]
               DebugBuild: off
             EmbedArchive: on
           EnableRemoting: off
         FrameworkVersion: '4.0'
    SampleGenerationFiles: {}
        StrongNameKeyFile: ''
          AdditionalFiles: {}
      AutoDetectDataFiles: off
          SupportPackages: {'autodetect'}
                  Verbose: off
                OutputDir: 'D:\Documents\MATLAB\work\MagicDotNET'

   Class Map Information
         magicsquareClass: {'C:\Program Files\MATLAB\R2023b\extern\examples\compiler\magicsquare.m'}

ドット表記を使用して、既存の DotNETAssemblyOptions オブジェクトのプロパティ値を変更することができます。たとえば、詳細な出力を有効にします。

opts.Verbose = 'on'
opts = 

  DotNETAssemblyOptions with properties:

             AssemblyName: 'example.magicsquare'
          AssemblyVersion: '1.0.0.0'
                 ClassMap: [1×1 containers.Map]
               DebugBuild: off
             EmbedArchive: on
           EnableRemoting: off
         FrameworkVersion: '4.0'
    SampleGenerationFiles: {}
        StrongNameKeyFile: ''
          AdditionalFiles: {}
      AutoDetectDataFiles: off
          SupportPackages: {'autodetect'}
                  Verbose: on
                OutputDir: 'D:\Documents\MATLAB\work\MagicDotNET'

   Class Map Information
         magicsquareClass: {'C:\Program Files\MATLAB\R2023b\extern\examples\compiler\magicsquare.m'}

DotNETAssemblyOptions オブジェクトを関数 compiler.build.dotNETAssembly への入力として使用して、.NET アセンブリをビルドします。

buildResults = compiler.build.dotNETAssembly(opts);

クラス マップを使用して DotNETAssemblyOptions オブジェクトを作成します。

キーがクラス名で、値が MATLAB 関数ファイルである containers.Map オブジェクトを作成します。

cmap = containers.Map;
cmap('Class1') = {'exampleFcn1.m','exampleFcn2.m'};
cmap('Class2') = {'exampleFcn3.m','exampleFcn4.m'};

クラス マップ cmap を使用して DotNETAssemblyOptions オブジェクトを作成します。

opts = compiler.build.DotNETAssemblyOptions(cmap)
opts = 

  DotNETAssemblyOptions with properties:

             AssemblyName: 'example.exampleFcn1'
          AssemblyVersion: '1.0.0.0'
                 ClassMap: [2×1 containers.Map]
               DebugBuild: off
             EmbedArchive: on
           EnableRemoting: off
         FrameworkVersion: '4.0'
    SampleGenerationFiles: {}
        StrongNameKeyFile: ''
          AdditionalFiles: {}s+ AutoDetectDataFiles: ons+ ObfuscateArchive: offs+ SupportPackages: {'autodetect'}
                  Verbose: off
                OutputDir: '.\exampleFcn1dotNETAssembly'

   Class Map Information
                   Class1: {2×1 cell}
                   Class2: {2×1 cell}

名前と値の引数を使用して DotNETAssemblyOptions オブジェクトを作成したり、ドット表記を使用して既存のオブジェクトを変更したりすることもできます。この例では、出力ディレクトリを指定し、詳細な出力を有効にし、データ ファイルの自動検出を無効にします。

opts = compiler.build.DotNETAssemblyOptions(cmap,...
    'OutputDir','D:\Documents\MATLAB\work\MagicDotNET',...
    'Verbose','On');
opts.AutoDetectDataFiles = 'off'
opts = 

  DotNETAssemblyOptions with properties:

             AssemblyName: 'example.exampleFcn1'
          AssemblyVersion: '1.0.0.0'
                 ClassMap: [2×1 containers.Map]
               DebugBuild: off
             EmbedArchive: on
           EnableRemoting: off
         FrameworkVersion: '4.0'
    SampleGenerationFiles: {}
        StrongNameKeyFile: ''
          AdditionalFiles: {}
      AutoDetectDataFiles: off
          SupportPackages: {'autodetect'}
                  Verbose: on
                OutputDir: 'D:\Documents\MATLAB\work\MagicDotNET'

   Class Map Information
                   Class1: {2×1 cell}
                   Class2: {2×1 cell}

DotNETAssemblyOptions オブジェクトを関数 compiler.build.dotNETAssembly への入力として使用して、.NET アセンブリをビルドします。

buildResults = compiler.build.dotNETAssembly(opts);

入力引数

すべて折りたたむ

MATLAB 関数を実装するファイル。文字ベクトル、string スカラー、string 配列、または文字ベクトルの cell 配列として指定します。ファイル パスは現在の作業ディレクトリを基準とした相対パス、または絶対パスにできます。ファイルには .m 拡張子が必要です。

例: ["myfunc1.m","myfunc2.m"]

データ型: char | string | cell

クラス マップ。containers.Map オブジェクトとして指定します。マッピングのキーはクラス名であり、各値は対応するクラスにマッピングされるファイルのセットです。ファイルには .m 拡張子が必要です。

例: cmap

名前と値の引数

オプションのペアの引数を Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定する必要がありますが、ペアの順序は考慮されません。

R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name を引用符で囲みます。

例: 'Verbose','on'

.NET アセンブリに含める追加のファイルとフォルダー。文字ベクトル、string スカラー、string 配列、または文字ベクトルの cell 配列として指定します。パスは現在の作業ディレクトリを基準とした相対パス、または絶対パスにできます。

例: 'AdditionalFiles',["myvars.mat","data.txt"]

データ型: char | string | cell

.NET アセンブリの名前。文字ベクトルまたは string スカラーとして指定します。'AssemblyName' を名前空間として指定します。これは、companyname.groupname.component のようにピリオドで区切られたリストです。生成されたライブラリの名前は、ピリオドで区切られたリストの最後のエントリに設定されます。名前は文字で始まり、英字とピリオドのみが含まれる必要があります。

例: 'AssemblyName','mathworks.dotnet.mymagic'

データ型: char | string

アセンブリのバージョン。文字ベクトルまたは string スカラーとして指定します。MATLAB Compiler SDK™ を使用したバージョン管理の詳細については、Versioningを参照してください。

例: 'AssemblyVersion','4.0'

データ型: char | string

データ ファイルを自動的に含めるためのフラグ。'on' または 'off'、もしくは数値または logical の 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

  • このプロパティを 'on' に設定した場合、特定の関数 (loadfopen など) の入力として指定されるデータ ファイルは自動的に .NET アセンブリに含められます。

  • このプロパティを 'off' に設定した場合、データ ファイルは AdditionalFiles オプションを使用してアセンブリに追加する必要があります。

例: 'AutoDetectDataFiles','off'

データ型: logical

.NET クラスの名前。文字ベクトルまたは string スカラーとして指定します。ClassMap 入力を使用する場合、このオプションは指定できません。クラス名は .NET のクラス名の要件を満たしている必要があります。

既定値は、Files 引数にリストされている最初のファイルの名前に Class を追加したものです。

例: 'ClassName','magicsquareClass'

データ型: char | string

デバッグ シンボルを有効にするためのフラグ。'on' または 'off'、もしくは数値または logical の 1 (true) か 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

  • このプロパティを 'on' に設定した場合、コンパイルされたアセンブリにはデバッグ シンボルが含まれます。

  • このプロパティを 'off' に設定した場合、コンパイルされたアセンブリにはデバッグ シンボルが含まれません。

例: 'DebugBuild','on'

データ型: logical

デプロイ可能なアーカイブを組み込むためのフラグ。'on' または 'off'、もしくは数値または logical の 1 (true) か 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

  • このプロパティを 'on' に設定した場合、関数はデプロイ可能なアーカイブを .NET アセンブリに組み込みます。

  • このプロパティを 'off' に設定した場合、関数はデプロイ可能なアーカイブを別個のファイルとして生成します。

例: 'EmbedArchive','off'

データ型: logical

アセンブリのリモート処理タイプを制御するためのフラグ。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

  • このプロパティを 'on' に設定した場合、この関数はリモート化可能なアセンブリをビルドします。

  • このプロパティを 'off' に設定した場合、この関数はリモート化可能ではないアセンブリをビルドします。

例: 'EnableRemoting','on'

データ型: logical

アセンブリのコンパイルに使用する Microsoft® .NET Framework のバージョン。

例: 'AssemblyVersion','5.0'

データ型: char | string

.NET アプリケーションとデプロイされた MATLAB コード間のデータ交換を処理するために使用されるデータ API。

  • mwarray — MWArray API。この API は .NET Framework で機能します。これは Windows® での既定のインターフェイスです。

  • matlab-data — .NET 用の MATLAB データ API。この API では .NET 5.0 以降が必要です。これは macOS での既定のインターフェイスです。

MathWorks® では .NET 用の MATLAB データ API を使用することをお勧めします。

例: 'Interface','matlab-data'

データ型: char | string

デプロイ可能なアーカイブを難読化するためのフラグ。'on' または 'off'、もしくは数値または logical の 1 (true) か 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

  • このプロパティを 'on' に設定した場合、デプロイ可能なアーカイブのフォルダー構造およびファイル名はエンド ユーザーに対して難読化され、MATLAB ファイルに含まれているユーザー コードおよびデータはアーカイブ内のユーザー パッケージに配置されます。また、すべての .m ファイルがパッケージ化の前に P ファイルに変換されます。このオプションは、-j および -s を指定して mcc を使用するのと等価です。

  • このプロパティを 'off' に設定した場合、デプロイ可能なアーカイブは難読化されません。これは既定の動作です。

例: 'ObfuscateArchive','on'

データ型: logical

ビルド ファイルが保存される出力ディレクトリへのパス。文字ベクトルまたは string スカラーとして指定します。このパスは現在の作業ディレクトリを基準とした相対パス、または絶対パスにできます。

ビルド フォルダーの既定の名前は、アセンブリ名に dotNETAssembly を追加したものです。

例: 'OutputDir','D:\Documents\MATLAB\work\mymagicdotNETAssembly'

データ型: char | string

アセンブリに含まれる関数のサンプル .NET ドライバー ファイルを生成するために使用する MATLAB サンプル ファイル。文字ベクトル、string スカラー、string 配列、または文字ベクトルの cell 配列として指定します。パスは現在の作業ディレクトリを基準とした相対パス、または絶対パスにできます。ファイルには .m 拡張子が必要です。詳細と制限については、サンプル ドライバー ファイルの作成を参照してください。

例: 'SampleGenerationFiles',["sample1.m","sample2.m"]

データ型: char | string | cell

共有アセンブリの署名に使用する暗号化キー ファイルへのパス。文字ベクトルまたは string スカラーとして指定します。値が空の場合、関数はプライベート アセンブリを作成します。ファイル パスは現在の作業ディレクトリを基準とした相対パス、または絶対パスにできます。

例: 'StrongNameKeyFile','sgKey.snk'

データ型: char | string

含めるサポート パッケージ。次のオプションのいずれかとして指定します。

  • 'autodetect' (既定) — 依存関係の分析プロセスにより、必要なサポート パッケージが自動的に検出され、含められます。

  • 'none' — サポート パッケージは含められません。このオプションを使用すると、ランタイム エラーの原因となる可能性があります。

  • string スカラー、文字ベクトル、または文字ベクトルの cell 配列 — 指定されたサポート パッケージのみが含められます。インストールされている、または特定のファイルで使用されるサポート パッケージのリストを表示するには、compiler.codetools.deployableSupportPackages を参照してください。

例: 'SupportPackages',{'Deep Learning Toolbox Converter for TensorFlow Models','Deep Learning Toolbox Model for Places365-GoogLeNet Network'}

データ型: char | string | cell

ビルドの詳細を制御するためのフラグ。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

  • このプロパティを 'on' に設定した場合、MATLAB コマンド ウィンドウには、ビルド プロセス中のコンパイラ出力を示す進行状況情報が表示されます。

  • このプロパティを 'off' に設定した場合、コマンド ウィンドウには進行状況の情報は表示されません。

例: 'Verbose','on'

データ型: logical

出力引数

すべて折りたたむ

.NET アセンブリのビルド オプション。DotNETAssemblyOptions オブジェクトとして返されます。

バージョン履歴

R2021a で導入