Создайте блок.NET для развертывания вне MATLAB
Внимание
Эта функция только поддерживается на Windows® операционные системы.
compiler.build.dotNETAssembly(
создает блок.NET с помощью MATLAB® функции заданы Files
)Files
.
compiler.build.dotNETAssembly(
создает блок.NET с дополнительными опциями, заданными с помощью одних или нескольких аргументов name-value. Опции включают имя класса, выводят директорию и дополнительные файлы, чтобы включать.Files
,Name,Value
)
compiler.build.dotNETAssembly(
создает блок.NET с классом, сопоставляющим заданное использование ClassMap
)container.Map
объект ClassMap
.
compiler.build.dotNETAssembly(
создает блок.NET с помощью ClassMap
,Name,Value
)ClassMap
и дополнительные опции задали использование одних или нескольких аргументов name-value. Опции включают имя сборки, выводят директорию и дополнительные файлы, чтобы включать.
compiler.build.dotNETAssembly(
создает блок.NET с опциями, заданными с помощью opts
)compiler.build.DotNetAssemblyOptions
объект opts
. Вы не можете задать никакие другие опции с помощью аргументов name-value.
Создайте блок.NET в системе Windows с помощью файла функции, который генерирует магический квадрат.
В MATLAB найдите функцию MATLAB, которую вы хотите развернуть как блок.NET. В данном примере используйте файл magicsquare.m
расположенный в
.matlabroot
\extern\examples\compiler
appFile = fullfile(matlabroot,'extern','examples','compiler','magicsquare.m');
Создайте блок.NET с помощью compiler.build.dotNETAssembly
команда.
compiler.build.dotNETAssembly(appFile);
Функция сборки генерирует следующие файлы в папке под названием magicsquaredotNETAssembly
в вашей текущей рабочей директории:
GettingStarted.html
— Файл HTML, который содержит информацию об интеграции вашего блока.
includedSupportPackages.txt
— Текстовый файл, который перечисляет все файлы поддержки, включенные в блок.
magicsquare.dll
— Файл динамически подключаемой библиотеки, к которому можно получить доступ с помощью mwArray
API.
magicsquare.xml
— XML-файл, который содержит документацию для mwArray
сборка.
magicsquare_overview.html
— Файл HTML, который содержит требования для доступа к компоненту и для генерации аргументов с помощью mwArray
иерархия классов.
magicsquareNative.dll
— Файл динамически подключаемой библиотеки, к которому можно получить доступ с помощью встроенного API.
magicsquareNative.xml
— XML-файл, который содержит документацию для нативного блока.
magicsquareVersion.cs
— Файл C#, который содержит информацию о версии.
mccExcludedFiles.log
— Файл журнала, который содержит список любых функций тулбокса, которые не были включены в приложение. Для получения информации о неподдерживаемых функциях смотрите Ограничения MATLAB Compiler.
readme.txt
— Текстовый файл, который содержит упаковку и интерфейсную информацию.
requiredMCRProducts.txt
— Текстовый файл, который содержит идентификаторы продукта продуктов, требуемых MATLAB Runtime запустить приложение.
unresolvedSymbols.txt
— Текстовый файл, который содержит информацию о неразрешенных символах.
Создайте блок.NET в системе Windows и настройте его с помощью аргументов name-value.
В данном примере используйте файлы flames.m
и flames.mat
расположенный в
.matlabroot
\extern\examples\compiler
appFile = fullfile(matlabroot,'extern','examples','compiler','flames.m'); MATFile = fullfile(matlabroot,'extern','examples','compiler','flames.mat');
Создайте блок.NET с помощью compiler.build.dotNETAssembly
команда. Используйте аргументы name-value, чтобы задать имя сборки и версию, добавить MAT-файл и включить многословный выход.
compiler.build.dotNETAssembly(appFile,'AssemblyName','FlamesComp',... 'AssemblyVersion','2.0',... 'AdditionalFiles',MATFile,... 'Verbose','on');
Создайте блок.NET в системе Windows с помощью карты класса и нескольких файлов функции.
Создайте containers.Map
возразите, чьи ключи являются именами классов и чьи значения являются местоположениями файлов функции.
cmap = containers.Map; cmap('Class1') = {'exampleFcn1.m','exampleFcn2.m'}; cmap('Class2') = {'exampleFcn3.m','exampleFcn4.m'};
Создайте блок.NET с помощью compiler.build.dotNETAssembly
команда.
compiler.build.dotNETAssembly(cmap);
В качестве альтернативы можно задать дополнительные опции с помощью аргументов name-value, когда вы создаете блок.NET.
compiler.build.dotNETAssembly(cmap,... 'AssemblyName','MyExampleComp',... 'AssemblyVersion','2.0',... 'Verbose','on');
Создайте несколько блоков.NET в системе Windows с помощью a compiler.build.DotNETAssemblyOptions
объект.
В данном примере используйте файл magicsquare.m
расположенный в
.matlabroot
\extern\examples\compiler
appFile = fullfile(matlabroot,'extern','examples','compiler','magicsquare.m');
Создайте DotNETAssemblyOptions
объект с помощью appFile
. Используйте аргументы name-value, чтобы задать общую выходную директорию, сгенерировать архив блока отдельно и включить многословный выход.
opts = compiler.build.DotNETAssemblyOptions(appFile,... 'OutputDir','D:\Documents\MATLAB\work\dotNETBatch',... 'EmbedArchive','off',... 'Verbose','on')
opts =
DotNETAssemblyOptions with properties:
AssemblyName: 'example.magicsquare'
AssemblyVersion: '1.0.0.0'
ClassMap: [1×1 containers.Map]
DebugBuild: off
EmbedArchive: off
EnableRemoting: off
SampleGenerationFiles: {}
StrongNameKeyFile: ''
AdditionalFiles: {}
AutoDetectDataFiles: on
SupportPackages: {'autodetect'}
Verbose: on
OutputDir: 'D:\Documents\MATLAB\work\dotNETBatch'
Class Map Information
magicsquareClass: {'C:\Program Files\MATLAB\R2021b\extern\examples\compiler\magicsquare.m'}
Создайте блок.NET с помощью DotNETAssemblyOptions
объект.
compiler.build.dotNETAssembly(opts);
Скомпилировать использование файла функции hello.m
с теми же опциями используйте запись через точку, чтобы изменить ClassMap
из существующего COMComponentOptions
объект прежде, чем запустить сборку функционирует снова.
remove(opts.ClassMap, keys(opts.ClassMap)); opts.ClassMap('helloClass') = fullfile(matlabroot,'extern','examples','compiler','hello.m'); compiler.build.dotNETAssembly(opts);
Путем изменения ClassMap
аргумент и рекомпиляция, можно скомпилировать несколько компонентов с помощью того же объекта опций.
Создайте блок.NET в системе Windows и сохраните информацию о типе сборки, сгенерированных файлах, включал пакеты поддержки и опции сборки к compiler.build.Results
объект.
Компиляция с помощью файла magicsquare.m
расположенный в
.matlabroot
\extern\examples\compiler
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Файлы, реализующие функции MATLAB в виде вектора символов, строкового скаляра, массива строк или массива ячеек из символьных векторов. Пути к файлам могут быть относительно текущей рабочей директории или абсолюта. Файлы должны иметь .m
расширение.
Пример: ["myfunc1.m","myfunc2.m"]
Типы данных: char |
string
| cell
ClassMap
— Карта классаcontainers.Map
объектКарта класса в виде containers.Map
объект. Ключи карты являются именами классов, и каждое значение является набором файлов, сопоставленных с соответствующим классом. Файлы должны иметь .m
расширение.
Пример: cmap
opts
—. СЕТЕВЫЕ опции сборки блокаcompiler.build.DotNetAssemblyOptions
объектБлок.NET создает опции в виде a compiler.build.DotNETAssemblyOptions
объект.
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'Verbose','on'
AdditionalFiles
— Дополнительные файлыДополнительные файлы, чтобы включать в блок.NET в виде вектора символов, строкового скаляра, массива строк или массива ячеек из символьных векторов. Пути к файлам могут быть относительно текущей рабочей директории или абсолюта.
Пример: 'AdditionalFiles',["myvars.mat","data.txt"]
Типы данных: char |
string
| cell
AssemblyName
— Имя блока.NETИмя блока.NET в виде вектора символов или строкового скаляра. Задайте 'AssemblyName'
как пространство имен, которое является разделенным от периода списком, таким как companyname.groupname.component
. Имя сгенерированной библиотеки определяется к последней записи разделенного от периода списка. Имя должно начаться с буквы и содержать только буквенные символы и периоды.
Пример: 'AssemblyName','mathworks.dotnet.mymagic'
Типы данных: char |
string
AssemblyVersion
— Версия блока
(значение по умолчанию) | вектор символов | строковый скалярВерсия блока в виде вектора символов или строкового скаляра. Для получения информации об управлении версиями с помощью MATLAB Compiler SDK™ смотрите Управление версиями.
Пример: 'AssemblyVersion','4.0'
Типы данных: char |
string
AutoDetectDataFiles
— Отметьте, чтобы автоматически включать файлы данных'on'
(значение по умолчанию) | логическое значение включения - выключенияОтметьте, чтобы автоматически включать файлы данных в виде 'on'
или 'off'
, или как числовой или логический 1
TRUE
) или 0
ложь
). Значение 'on'
эквивалентно true
, и 'off'
эквивалентно false
. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState
.
Если вы устанавливаете это свойство на 'on'
, затем файлы данных, которые вы предоставляете как входные параметры определенным функциям (такой как load
и fopen
) автоматически включены в блок.NET.
Если вы устанавливаете это свойство на 'off'
, затем необходимо добавить файлы данных в блок с помощью AdditionalFiles
опция.
Пример: 'AutoDetectDataFiles','off'
Типы данных: логический
ClassName
— Имя класса.NETИмя класса.NET в виде вектора символов или строкового скаляра. Вы не можете задать эту опцию, если вы используете ClassMap
входной параметр. Имена классов должны удовлетворить требования имени класса.NET.
Значением по умолчанию является имя первого файла, перечисленного в Files
аргумент добавлен с Class
.
Пример: 'ClassName','magicsquareClass'
Типы данных: char |
string
DebugBuild
— Отметьте, чтобы включить отладочные символы'off'
(значение по умолчанию) | логическое значение включения - выключенияОтметьте, чтобы включить отладочные символы в виде 'on'
или 'off'
, или как числовой или логический 1
TRUE
) или 0
ложь
). Значение 'on'
эквивалентно true
, и 'off'
эквивалентно false
. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState
.
Если вы устанавливаете это свойство на 'on'
, затем скомпилированный блок содержит отладочные символы.
Если вы устанавливаете это свойство на 'off'
, затем скомпилированный блок не содержит отладочные символы.
Пример: 'DebugBuild','on'
Типы данных: логический
EmbedArchive
— Отметьте, чтобы встроить архив блока'on'
(значение по умолчанию) | логическое значение включения - выключенияОтметьте, чтобы встроить архив блока в виде 'on'
или 'off'
, или как числовой или логический 1
TRUE
) или 0
ложь
). Значение 'on'
эквивалентно true
, и 'off'
эквивалентно false
. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState
.
Если вы устанавливаете это свойство на 'on'
, затем функция встраивает архив блока в блок.NET.
Если вы устанавливаете это свойство на 'off'
, затем функция генерирует архив блока как отдельный файл.
Пример: 'EmbedArchive','off'
Типы данных: логический
EnableRemoting
— Отметьте, чтобы управлять типом дистанционной работы'off'
(значение по умолчанию) | логическое значение включения - выключенияОтметьте, чтобы управлять типом дистанционной работы блока в виде 'on'
или 'off'
, или как числовой или логический 1
TRUE
) или 0
ложь
). Значение 'on'
эквивалентно true
, и 'off'
эквивалентно false
. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState
.
Если вы устанавливаете это свойство на 'on'
, затем функция создает доступный удаленно блок.
Если вы устанавливаете это свойство на 'off'
, затем функция создает блок, который не доступен удаленно.
Пример: 'EnableRemoting','on'
Типы данных: логический
OutputDir
— Путь, чтобы вывести директориюПуть к выходной директории, где файлы типа "build" сохранены в виде вектора символов или строкового скаляра. Путь может быть относительно текущей рабочей директории или абсолюта.
Имя по умолчанию папки сборки является именем сборки, добавленным с dotNETAssembly
.
Пример: 'OutputDir','D:\Documents\MATLAB\work\mymagicdotNETAssembly'
Типы данных: char |
string
SampleGenerationFiles
— Файлы примера MATLABФайлы примера MATLAB раньше генерировали демонстрационные файлы драйвера.NET для функций, включенных в рамках блока в виде вектора символов, строкового скаляра, массива строк или массива ячеек из символьных векторов. Пути к файлам могут быть относительно текущей рабочей директории или абсолюта. Файлы должны иметь .m
расширение. Для получения дополнительной информации и ограничения, смотрите Демонстрационное Создание Файла Драйвера.
Пример: 'SampleGenerationFiles',["sample1.m","sample2.m"]
Типы данных: char |
string
| cell
StrongNameKeyFile
— Путь к ключу шифрованияПуть к файлу ключа шифрования раньше подписывал совместно используемую сборку в виде вектора символов или строкового скаляра. Если значение пусто, функция создает приватную сборку. Путь к файлу может быть относительно текущей рабочей директории или абсолюта.
Пример: 'StrongNameKeyFile','sgKey.snk'
Типы данных: char |
string
SupportPackages
— Пакеты поддержки'autodetect'
(значение по умолчанию) | 'none'
| строковый скаляр | массив ячеек из символьных векторов | массив строкПакеты поддержки, чтобы включать в виде одной из следующих опций:
'autodetect'
(значение по умолчанию) — Процесс анализа зависимостей обнаруживает и включает необходимые пакеты поддержки автоматически.
'none'
— Никакие пакеты поддержки не включены. Используя эту опцию может вызвать ошибки периода выполнения.
Строковый скаляр, вектор символов или массив ячеек из символьных векторов — Только заданные пакеты поддержки включены. Чтобы перечислить установленные пакеты поддержки или используемых определенным файлом, смотрите 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'
, или как числовой или логический 1
TRUE
) или 0
ложь
). Значение 'on'
эквивалентно true
, и 'off'
эквивалентно false
. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState
.
Если вы устанавливаете это свойство на 'on'
, затем окно команды MATLAB отображает информацию о прогрессе, указывающую на выход компилятора во время процесса сборки.
Если вы устанавливаете это свойство на 'off'
, затем командное окно не отображает информацию о прогрессе.
Пример: 'Verbose','on'
Типы данных: логический
results
— Создайте результатыcompiler.build.Results
объектСоздайте результаты, возвращенные как compiler.build.Results
объект. Results
объект состоит из:
Создайте тип, который является 'dotNETAssembly'
Пути к следующим скомпилированным файлам:
AssemblyName
.dll
AssemblyName
Native.dll
AssemblyName
_overview.dll
GettingStarted.html
Список включенных пакетов поддержки
Создайте опции в виде DotNETAssemblyOptions
объект
Эта функция только поддерживается на операционных системах Windows.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.