compiler.build.DotNETAssemblyOptions

Опции для создания сборок .NET

Описание

пример

opts = compiler.build.DotNETAssemblyOptions(Files) создает DotNETAssemblyOptions объект с использованием MATLAB® функции, заданные Files. Используйте DotNETAssemblyOptions объект как вход в compiler.build.dotNETAssembly функция.

пример

opts = compiler.build.DotNETAssemblyOptions(Files,Name,Value) создает DotNETAssemblyOptions объект с опциями, заданными с помощью одного или нескольких аргументов в виде имя-значение. Опции включают имя класса, выходную директорию и дополнительные файлы, которые нужно включить.

пример

opts = compiler.build.DotNETAssemblyOptions(ClassMap) создает DotNETAssemblyOptions объект с сопоставлением классов, заданным с помощью container.Map ClassMap объекта.

пример

opts = compiler.build.DotNETAssemblyOptions(ClassMap,Name,Value) создает DotNETAssemblyOptions объект с сопоставлением классов, заданным с помощью ClassMap и опции, заданные с помощью одного или нескольких аргументов в виде имя-значение. Опции включают имя сборки, выходную директорию и дополнительные файлы для включения.

Примеры

свернуть все

Создайте DotNETAssemblyOptions объект с использованием ввода файла.

В данном примере используйте файл magicsquare.m расположен в matlabroot\ extern\примеры\компилятор.

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
    SampleGenerationFiles: {}
        StrongNameKeyFile: ''
          AdditionalFiles: {}
      AutoDetectDataFiles: on
                  Verbose: off
                OutputDir: '.\magicsquaredotNETAssembly'

   Class Map Information
         magicsquareClass: {'C:\Program Files\MATLAB\R2021a\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
    SampleGenerationFiles: {}
        StrongNameKeyFile: ''
          AdditionalFiles: {}
      AutoDetectDataFiles: on
                  Verbose: on
                OutputDir: '.\magicsquaredotNETAssembly'

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

Используйте DotNETAssemblyOptions объект как вход в compiler.build.dotNETAssembly функция для создания сборки .NET.

buildResults = compiler.build.dotNETAssembly(opts);

Создайте DotNETAssemblyOptions объект и настройте его с помощью аргументов имя-значение.

В данном примере используйте файл magicsquare.m расположен в matlabroot\ extern\примеры\компилятор. Используйте аргументы имя-значение, чтобы задать выход директории и отключить автоматическое обнаружение файлов данных.

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
    SampleGenerationFiles: {}
        StrongNameKeyFile: ''
          AdditionalFiles: {}
      AutoDetectDataFiles: off
                  Verbose: off
                OutputDir: 'D:\Documents\MATLAB\work\MagicDotNET'

   Class Map Information
         magicsquareClass: {'C:\Program Files\MATLAB\R2021a\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
    SampleGenerationFiles: {}
        StrongNameKeyFile: ''
          AdditionalFiles: {}
      AutoDetectDataFiles: off
                  Verbose: on
                OutputDir: 'D:\Documents\MATLAB\work\MagicDotNET'

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

Используйте DotNETAssemblyOptions объект как вход в compiler.build.dotNETAssembly функция для создания сборки .NET.

buildResults = compiler.build.dotNETAssembly(opts);

Создайте DotNETAssemblyOptions объект с использованием карты классов.

Создайте containers.Map объект, ключи которого являются именами классов и значения которого являются файлами функций MATLAB.

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

Создайте DotNETAssemblyOptions объект, использующий карту классов cmap.

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
    SampleGenerationFiles: {}
        StrongNameKeyFile: ''
          AdditionalFiles: {}
      AutoDetectDataFiles: on
                  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
    SampleGenerationFiles: {}
        StrongNameKeyFile: ''
          AdditionalFiles: {}
      AutoDetectDataFiles: off
                  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, заданные как вектор символов, строковый скаляр, строковые массивы или массив ячеек векторов символов. Пути к файлам могут быть относительно текущей рабочей директории или абсолютными. Файлы должны иметь .m расширение.

Пример: ["myfunc1.m","myfunc2.m"]

Типы данных: char | string | cell

Карта классов, заданная как containers.Map объект. Ключи map являются именами классов, и каждое значение является набором файлов, сопоставленных с соответствующим классом. Файлы должны иметь .m расширение.

Пример: cmap

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: 'Verbose','on'

Дополнительные файлы для включения в сборку .NET, заданные как вектор символов, строковый скаляр, строковые массивы или массив ячеек векторов символов. Пути к файлам могут быть относительно текущей рабочей директории или абсолютными.

Пример: 'AdditionalFiles',["myvars.mat","data.txt"]

Типы данных: char | string | cell

Имя сборки .NET, заданное как вектор символов или строковый скаляр. Задайте 'AssemblyName' как пространство имен, которое является разделенным периодами списком, таким как companyname.groupname.component. Для имени сгенерированной библиотеки задается последняя запись списка, разделенного периодами. Имя должно начинаться с буквы и содержать только буквенные символы и точки.

Пример: 'AssemblyName','mathworks.dotnet.mymagic'

Типы данных: char | string

Версия сборки, заданная как вектор символов или строковый скаляр. Для получения информации об управлении версиями с помощью MATLAB Compiler SDK™, смотрите Versioning.

Пример: 'AssemblyVersion','4.0'

Типы данных: char | string

Флаг для автоматического включения файлов данных, заданный как 'on' или 'off', или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState.

  • Если вы задаете это свойство равным 'on', затем файлы данных, которые вы предоставляете в качестве входов для определенных функций (таких как load и fopen) автоматически включаются в сборку .NET.

  • Если вы задаете это свойство равным 'off', затем необходимо добавить файлы данных в сборку с помощью AdditionalFiles опция.

Пример: 'AutoDetectDataFiles','off'

Типы данных: logical

Имя класса .NET, заданное как вектор символов или строковый скаляр. Вы не можете задать эту опцию, если используете ClassMap вход. Имена классов должны соответствовать требованиям к наименованию классов .NET.

Значение по умолчанию является именем первого файла, перечисленного в Files аргумент, добавленный с помощью Class.

Пример: 'ClassName','magicsquareClass'

Типы данных: char | string

Флаг для включения отладки символов, заданный как 'on' или 'off', или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState.

  • Если вы задаете это свойство равным 'on'затем скомпилированная сборка содержит символы отладки.

  • Если вы задаете это свойство равным 'off', тогда скомпилированная сборка не содержит символов отладки.

Пример: 'DebugBuild','on'

Типы данных: logical

Флаг для встраивания архива сборки, заданный как 'on' или 'off', или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState.

  • Если вы задаете это свойство равным 'on'затем функция встраивает архив сборки в сборку .NET.

  • Если вы задаете это свойство равным 'off'затем функция генерирует архив сборки как отдельный файл.

Пример: 'EmbedArchive','off'

Типы данных: logical

Флаг для управления типом удаленного взаимодействия сборки, заданный как 'on' или 'off', или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState.

  • Если вы задаете это свойство равным 'on'затем функция создает удаляемую сборку.

  • Если вы задаете это свойство равным 'off'затем функция создает сборку, которая не является удаляемой.

Пример: 'EnableRemoting','on'

Типы данных: logical

Путь к выходу директории, где сохраняются файлы сборки, задается в виде вектора символов или строкового скаляра. Путь может быть относительно текущей рабочей директории или абсолютным.

Именем по умолчанию для папки сборки является имя сборки, добавленное в dotNETAssembly.

Пример: 'OutputDir','D:\Documents\MATLAB\work\mymagicdotNETAssembly'

Типы данных: char | string

MATLAB выборки, используемые для генерации файлов драйверов .NET для функций, включенных в сборку, заданные как вектор символов, строковый скаляр, строковые массивы или массив ячеек из векторов символов. Пути к файлам могут быть относительно текущей рабочей директории или абсолютными. Файлы должны иметь .m расширение. Для получения дополнительной информации и ограничений см. Пример создания файла драйвера.

Пример: 'SampleGenerationFiles',["sample1.m","sample2.m"]

Типы данных: char | string | cell

Путь к файлу ключа шифрования, используемому для подписания общей сборки, заданный как вектор символов или строковый скаляр. Если значение пусто, функция создает частную сборку. Путь к файлу может быть относительно текущей рабочей директории или абсолютным.

Пример: 'StrongNameKeyFile','sgKey.snk'

Типы данных: char | string

Флаг для управления подробностями сборки, заданный как 'on' или 'off', или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState.

  • Если вы задаете это свойство равным 'on', затем в командном окне MATLAB отображается информация о прогрессе, указывающая на выход компилятора в процессе сборки.

  • Если вы задаете это свойство равным 'off'затем командное окно не отображает информацию о прогрессе.

Пример: 'Verbose','on'

Типы данных: logical

Выходные аргументы

свернуть все

.NET сборка сборки опций, возвращенная как DotNETAssemblyOptions объект.

Введенный в R2021a