このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
compiler.build.dotNETAssembly
構文
説明
compiler.build.dotNETAssembly(
は、名前と値の引数を 1 つ以上使用して追加オプションを指定して .NET アセンブリを作成します。オプションには、クラス名、出力ディレクトリ、含める追加ファイルなどがあります。Files
,Name,Value
)
compiler.build.dotNETAssembly(
は、ClassMap
)container.Map
オブジェクト ClassMap
を使用してクラス マッピングを指定して .NET アセンブリを作成します。
compiler.build.dotNETAssembly(
は、名前と値の引数を 1 つ以上使用して指定した追加オプションと ClassMap
,Name,Value
)ClassMap
を使用して .NET アセンブリを作成します。オプションには、アセンブリ名、出力ディレクトリ、含める追加ファイルなどがあります。
compiler.build.dotNETAssembly(
は、opts
)compiler.build.DotNetAssemblyOptions
オブジェクト opts
を使用してオプションを指定した .NET アセンブリを作成します。名前と値の引数を使用して他のオプションを指定することはできません。
例
ファイルを使用した .NET アセンブリの作成
魔方陣を生成する関数ファイルを使用して、Windows® システムで .NET アセンブリを作成します。
MATLAB で、.NET アセンブリとしてデプロイする MATLAB 関数を見つけます。この例では、
にあるファイル matlabroot
\extern\examples\compilermagicsquare.m
を使用します。
appFile = fullfile(matlabroot,'extern','examples','compiler','magicsquare.m');
compiler.build.dotNETAssembly
コマンドを使用して、.NET アセンブリをビルドします。
compiler.build.dotNETAssembly(appFile);
ビルド関数により、現在の作業ディレクトリの magicsquaredotNETAssembly
という名前のフォルダー内に以下のファイルが生成されます。
GettingStarted.html
— アセンブリの統合に関する情報が含まれる HTML ファイル。includedSupportPackages.txt
— アセンブリに含まれるすべてのサポート ファイルをリストしたテキスト ファイル。magicsquare.dll
—mwArray
API を使用してアクセス可能なダイナミックリンク ライブラリ ファイル。magicsquare.xml
—mwArray
アセンブリのドキュメンテーションが含まれる XML ファイル。magicsquare_overview.html
— コンポーネントにアクセスするための要件や、mwArray
クラス階層を使用して引数を生成するための要件が含まれる HTML ファイル。magicsquareNative.dll
— ネイティブ API を使用してアクセス可能なダイナミックリンク ライブラリ ファイル。magicsquareNative.xml
— ネイティブ アセンブリのドキュメンテーションが含まれる XML ファイル。magicsquareVersion.cs
— バージョン情報が含まれる C# ファイル。mccExcludedFiles.log
— アプリケーションに含まれていないすべてのツールボックス関数のリストが含まれるログ ファイル。サポートされていない関数の詳細については、MATLAB Compiler の制限を参照してください。readme.txt
— パッケージ化およびインターフェイスの情報が含まれるテキスト ファイル。requiredMCRProducts.txt
— MATLAB Runtime がアプリケーションを実行するために必要な製品の製品 ID が含まれるテキスト ファイル。unresolvedSymbols.txt
— 未解決のシンボルに関する情報が含まれるテキスト ファイル。
.NET アセンブリのカスタマイズ
Windows システム上で .NET アセンブリを作成し、名前と値の引数を使用してカスタマイズします。
この例では、
にあるファイル matlabroot
\extern\examples\compilerflames.m
と flames.mat
を使用します。
appFile = fullfile(matlabroot,'extern','examples','compiler','flames.m'); MATFile = fullfile(matlabroot,'extern','examples','compiler','flames.mat');
compiler.build.dotNETAssembly
コマンドを使用して、.NET アセンブリをビルドします。名前と値の引数を使用してアセンブリ名とバージョンを指定し、MAT ファイルを追加して、詳細な出力を有効にします。
compiler.build.dotNETAssembly(appFile,'AssemblyName','FlamesComp', ... 'AssemblyVersion','2.0', ... 'AdditionalFiles',MATFile, ... 'Verbose','on');
クラス マップ入力を使用した .NET アセンブリの作成
クラス マップおよび複数の関数ファイルを使用して、Windows システムで .NET アセンブリを作成します。
キーがクラス名で、値が関数ファイルの場所である containers.Map
オブジェクトを作成します。
cmap = containers.Map; cmap('Class1') = {'exampleFcn1.m','exampleFcn2.m'}; cmap('Class2') = {'exampleFcn3.m','exampleFcn4.m'};
compiler.build.dotNETAssembly
コマンドを使用して、.NET アセンブリをビルドします。
compiler.build.dotNETAssembly(cmap);
あるいは、.NET アセンブリのビルド時に名前と値の引数を使用して追加オプションを指定することもできます。
compiler.build.dotNETAssembly(cmap, ... 'AssemblyName','MyExampleComp', ... 'AssemblyVersion','2.0', ... 'Verbose','on');
オプション オブジェクトを使用した複数のアセンブリの作成
compiler.build.DotNETAssemblyOptions
オブジェクトを使用して、Windows システムで複数の .NET アセンブリを作成します。
この例では、
にあるファイル matlabroot
\extern\examples\compilermagicsquare.m
を使用します。
appFile = fullfile(matlabroot,'extern','examples','compiler','magicsquare.m');
appFile
を使用して DotNETAssemblyOptions
オブジェクトを作成します。名前と値の引数を使用して共通の出力ディレクトリを指定し、アセンブリ アーカイブを別途生成して、詳細な出力を有効にします。
opts = compiler.build.DotNETAssemblyOptions(appFile, ... 'OutputDir','D:\Documents\MATLAB\work\dotNETBatch', ... 'EmbedArchive','off', ... 'Verbose','on')
opts =
DotNETAssemblyOptions with properties:
AssemblyName: 'example.magicsquare'
ClassMap: [1×1 containers.Map]
DebugBuild: off
EmbedArchive: off
EnableRemoting: off
FrameworkVersion: '4.0'
SampleGenerationFiles: {}
StrongNameKeyFile: ''
AssemblyVersion: '1.0.0.0'
Interface: 'mwarray'
AdditionalFiles: {}s+ AutoDetectDataFiles: ons+ ObfuscateArchive: offs+ SupportPackages: {'autodetect'}
Verbose: on
OutputDir: 'D:\Documents\MATLAB\work\dotNETBatch'
Class Map Information
magicsquareClass: {'C:\Program Files\MATLAB\R2023b\extern\examples\compiler\magicsquare.m'}
DotNETAssemblyOptions
オブジェクトを使用して .NET アセンブリをビルドします。
compiler.build.dotNETAssembly(opts);
同じオプションをもつ関数ファイル hello.m
を使用してコンパイルするには、ビルド関数を再度実行する前に、ドット表記を使用して既存の COMComponentOptions
オブジェクトの ClassMap
を変更します。
remove(opts.ClassMap, keys(opts.ClassMap)); opts.ClassMap('helloClass') = fullfile(matlabroot,'extern','examples','compiler','hello.m'); compiler.build.dotNETAssembly(opts);
ClassMap
引数を変更して再コンパイルすることにより、同じオプション オブジェクトを使用して複数のコンポーネントをコンパイルできます。
.NET アセンブリからのビルド情報の取得
.NET アセンブリを Windows システムで作成し、ビルド タイプ、生成ファイル、含まれるサポート パッケージ、およびビルド オプションに関する情報を compiler.build.Results
オブジェクトに保存します。
ファイル magicsquare.m
を使用してコンパイルします。
results = compiler.build.dotNETAssembly('magicsquare.m')
results = Results with properties: BuildType: 'dotNETAssembly' Files: {4×1 cell} IncludedSupportPackages: {} Options: [1×1 compiler.build.DotNETAssemblyOptions]
Files
プロパティには、以下のコンパイル済みファイルへのパスが格納されます。
magicsquare.dll
magicsquareNative.dll
magicsquare_overview.dll
GettingStarted.html
入力引数
Files
— MATLAB 関数を実装するファイル
文字ベクトル | string スカラー | 文字ベクトルの cell 配列 | string 配列
MATLAB 関数を実装するファイル。文字ベクトル、string スカラー、string 配列、または文字ベクトルの cell 配列として指定します。ファイル パスは現在の作業ディレクトリを基準とした相対パス、または絶対パスにできます。ファイルには .m
拡張子が必要です。
例: ["myfunc1.m","myfunc2.m"]
データ型: char
| string
| cell
ClassMap
— クラス マップ
containers.Map
オブジェクト
クラス マップ。containers.Map
オブジェクトとして指定します。マッピングのキーはクラス名であり、各値は対応するクラスにマッピングされるファイルのセットです。ファイルには .m
拡張子が必要です。
例: cmap
opts
— .NET アセンブリのビルド オプション
compiler.build.DotNetAssemblyOptions
オブジェクト
.NET アセンブリのビルド オプション。compiler.build.DotNETAssemblyOptions
オブジェクトとして指定します。
名前と値の引数
オプションのペアの引数を Name1=Value1,...,NameN=ValueN
として指定します。ここで、Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後に指定する必要がありますが、ペアの順序は考慮されません。
R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name
を引用符で囲みます。
例: 'Verbose','on'
AdditionalFiles
— 追加ファイル
文字ベクトル | string スカラー | 文字ベクトルの cell 配列 | string 配列
.NET アセンブリに含める追加のファイルとフォルダー。文字ベクトル、string スカラー、string 配列、または文字ベクトルの cell 配列として指定します。パスは現在の作業ディレクトリを基準とした相対パス、または絶対パスにできます。
例: 'AdditionalFiles',["myvars.mat","data.txt"]
データ型: char
| string
| cell
AssemblyName
— .NET アセンブリの名前
文字ベクトル | string スカラー
.NET アセンブリの名前。文字ベクトルまたは string スカラーとして指定します。'AssemblyName'
を名前空間として指定します。これは、companyname.groupname.component
のようにピリオドで区切られたリストです。生成されたライブラリの名前は、ピリオドで区切られたリストの最後のエントリに設定されます。名前は文字で始まり、英字とピリオドのみが含まれる必要があります。
例: 'AssemblyName','mathworks.dotnet.mymagic'
データ型: char
| string
AssemblyVersion
— アセンブリのバージョン
'1.0.0.0'
(既定値) | 文字ベクトル | string スカラー
アセンブリのバージョン。文字ベクトルまたは string スカラーとして指定します。MATLAB Compiler SDK™ を使用したバージョン管理の詳細については、Versioningを参照してください。
例: 'AssemblyVersion','4.0'
データ型: char
| string
AutoDetectDataFiles
— データ ファイルを自動的に含めるためのフラグ
'on'
(既定値) | on/off logical 値
データ ファイルを自動的に含めるためのフラグ。'on'
または 'off'
、もしくは数値または logical の 1
(true
) または 0
(false
) として指定します。'on'
の値は true
と等価であり、'off'
は false
と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState
型の on/off logical 値として格納されます。
このプロパティを
'on'
に設定した場合、特定の関数 (load
やfopen
など) の入力として指定されるデータ ファイルは自動的に .NET アセンブリに含められます。このプロパティを
'off'
に設定した場合、データ ファイルはAdditionalFiles
オプションを使用してアセンブリに追加する必要があります。
例: 'AutoDetectDataFiles','off'
データ型: logical
ClassName
— .NET クラスの名前
文字ベクトル | string スカラー
.NET クラスの名前。文字ベクトルまたは string スカラーとして指定します。ClassMap
入力を使用する場合、このオプションは指定できません。クラス名は .NET のクラス名の要件を満たしている必要があります。
既定値は、Files
引数にリストされている最初のファイルの名前に Class
を追加したものです。
例: 'ClassName','magicsquareClass'
データ型: char
| string
DebugBuild
— デバッグ シンボルを有効にするためのフラグ
'off'
(既定値) | on/off logical 値
デバッグ シンボルを有効にするためのフラグ。'on'
または 'off'
、もしくは数値または logical の 1
(true
) か 0
(false
) として指定します。'on'
の値は true
と等価であり、'off'
は false
と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState
型の on/off logical 値として格納されます。
このプロパティを
'on'
に設定した場合、コンパイルされたアセンブリにはデバッグ シンボルが含まれます。このプロパティを
'off'
に設定した場合、コンパイルされたアセンブリにはデバッグ シンボルが含まれません。
例: 'DebugBuild','on'
データ型: logical
EmbedArchive
— デプロイ可能なアーカイブを組み込むためのフラグ
'on'
(既定値) | on/off 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
EnableRemoting
— リモート処理タイプを制御するためのフラグ
'off'
(既定値) | on/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
FrameworkVersion
— Framework のバージョン
'4.0'
(既定値) | 文字ベクトル | string スカラー
アセンブリのコンパイルに使用する Microsoft® .NET Framework のバージョン。
例: 'AssemblyVersion','5.0'
データ型: char
| string
Interface
— データ API
'mwarray'
| 'matlab-data'
| 文字ベクトル | 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
ObfuscateArchive
— デプロイ可能なアーカイブを難読化するためのフラグ
'off'
(既定値) | on/off logical 値
デプロイ可能なアーカイブを難読化するためのフラグ。'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
OutputDir
— 出力ディレクトリへのパス
文字ベクトル | string スカラー
ビルド ファイルが保存される出力ディレクトリへのパス。文字ベクトルまたは string スカラーとして指定します。このパスは現在の作業ディレクトリを基準とした相対パス、または絶対パスにできます。
ビルド フォルダーの既定の名前は、アセンブリ名に dotNETAssembly
を追加したものです。
例: 'OutputDir','D:\Documents\MATLAB\work\mymagicdotNETAssembly'
データ型: char
| string
SampleGenerationFiles
— MATLAB サンプル ファイル
文字ベクトル | string スカラー | 文字ベクトルの cell 配列 | string 配列
アセンブリに含まれる関数のサンプル .NET ドライバー ファイルを生成するために使用する MATLAB サンプル ファイル。文字ベクトル、string スカラー、string 配列、または文字ベクトルの cell 配列として指定します。パスは現在の作業ディレクトリを基準とした相対パス、または絶対パスにできます。ファイルには .m
拡張子が必要です。詳細と制限については、サンプル ドライバー ファイルの作成を参照してください。
例: 'SampleGenerationFiles',["sample1.m","sample2.m"]
データ型: char
| string
| cell
StrongNameKeyFile
— 暗号化キーへのパス
文字ベクトル | string スカラー
共有アセンブリの署名に使用する暗号化キー ファイルへのパス。文字ベクトルまたは string スカラーとして指定します。値が空の場合、関数はプライベート アセンブリを作成します。ファイル パスは現在の作業ディレクトリを基準とした相対パス、または絶対パスにできます。
例: 'StrongNameKeyFile','sgKey.snk'
データ型: char
| string
SupportPackages
— サポート パッケージ
'autodetect'
(既定値) | 'none'
| string スカラー | 文字ベクトルの cell 配列 | 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
Verbose
— ビルドの詳細を制御するためのフラグ
'off'
(既定値) | on/off logical 値
ビルドの詳細を制御するためのフラグ。'on'
または 'off'
、もしくは数値または logical 1
(true
) または 0
(false
) として指定します。'on'
の値は true
と等価であり、'off'
は false
と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState
型の on/off logical 値として格納されます。
このプロパティを
'on'
に設定した場合、MATLAB コマンド ウィンドウには、ビルド プロセス中のコンパイラ出力を示す進行状況情報が表示されます。このプロパティを
'off'
に設定した場合、コマンド ウィンドウには進行状況の情報は表示されません。
例: 'Verbose','on'
データ型: logical
出力引数
results
— ビルド結果
compiler.build.Results
オブジェクト
ビルド結果。compiler.build.Results
オブジェクトとして返されます。Results
オブジェクトは以下で構成されます。
'dotNETAssembly'
であるビルド タイプ以下のコンパイル済みファイルへのパス:
AssemblyName
.dllAssemblyName
Native.dllAssemblyName
_overview.dllGettingStarted.html
含まれているサポート パッケージのリスト
ビルド オプション。
DotNETAssemblyOptions
オブジェクトとして指定
制限
R2023a において: この関数は、Windows に加え、Linux® および macOS の各オペレーティング システムでサポートされています。
バージョン履歴
R2021a で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)