exponenta event banner

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\examples\compiler.

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\examples\compiler. Используйте аргументы name-value, чтобы указать выходной каталог и отключить автоматическое обнаружение файлов данных.

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 объект. Ключи сопоставления - это имена классов, а каждое значение - это набор файлов, сопоставленных соответствующему классу. Файлы должны иметь .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

Версия сборки, заданная как вектор символа или скаляр строки. Сведения об управлении версиями с помощью SDK™ компилятора MATLAB см. в разделе Управление версиями.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

свернуть все

параметры сборки .NET, возвращенные как DotNETAssemblyOptions объект.

Представлен в R2021a