Поддерживаемая платформа: Windows ®
В этом примере показано, как создать сборку .NET для функции MATLAB ®. Созданную сборку можно интегрировать в приложение .NET. В этом примере также показано, как вызвать сборку .NET из приложения .NET. Для запуска приложения целевой системе не требуется лицензионная копия MATLAB.
В MATLAB проверьте код MATLAB, который требуется упаковать. Для этого примера откройте makesquare.m расположен в .matlabroot\toolbox\dotnetbuilder\Examples\VSVersion\NET\MagicSquareExample\MagicSquareComp
В командной строке MATLAB введите makesquare(5).
Выходные данные:
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9На вкладке Приложения MATLAB (MATLAB Apps) в правой части раздела Приложения (Apps) щелкните стрелку. В разделе Развертывание приложения выберите Компилятор библиотеки.
Также можно открыть приложение компилятора библиотеки из командной строки MATLAB, введя:
libraryCompiler

В разделе «Тип» панели инструментов выберите «.NET Assembly».
В окне проекта приложения компилятора библиотеки укажите файлы приложения MATLAB, которое необходимо развернуть.
В разделе «Экспортированные функции» на панели инструментов нажмите кнопку.![]()
В окне Добавить файлы перейдите к папке-примеру и выберите функцию, которую требуется упаковать. Щелкните Открыть (Open).
Функция добавляется в список экспортированных файлов функций. Повторите этот шаг, чтобы упаковать несколько файлов в одном приложении.
Для этого примера перейдите к и выбрать matlabroot\toolbox\dotnetbuilder\Examples\VSVersion\NET\MagicSquareExample\MagicSquareCompmakesquare.m.
В разделе Параметры упаковки (Packaging Options) панели инструментов выберите, следует ли включить программу установки MATLAB Runtime installer в созданное приложение, выбрав один из вариантов:
Среда выполнения, загруженная из Интернета - создание программы установки, которая загружает среду выполнения MATLAB и устанавливает ее вместе с развернутым приложением MATLAB. Можно указать имя файла установщика.
Среда выполнения, включенная в пакет - создание приложения, включающего установщик среды выполнения MATLAB. Можно указать имя файла установщика.
Примечание
При первом выборе этого параметра выводится запрос на загрузку установщика среды выполнения MATLAB.
Поле Имя библиотеки (Library Name) автоматически заполняется makesquare в качестве имени сборки. Переименовать как MagicSquareComp. За этим же названием следует и при реализации ассамблеи.
Убедитесь, что функция определена в makesquare.m сопоставлен с Class1.

Добавьте файлы MATLAB для создания примеров файлов драйверов .NET. Несмотря на то, что файлы драйверов .NET не требуются для создания сборки, они используются для демонстрации создания приложения .NET.
В разделе «Образцы» выберите «Создать новый образец» и нажмите makesquare.m. Откроется файл MATLAB для редактирования. Определите входные переменные, необходимые для приложения, сохраните файл и вернитесь в приложение компилятора библиотеки. Дополнительные сведения и ограничения см. в разделе Создание файла драйвера образца.
Можно настроить программу установки, настроить приложение и добавить дополнительные сведения о приложении следующим образом:
Сведения о библиотеке - сведения о развернутом приложении. Можно также настроить внешний вид приложения, изменив значок приложения и заставку. Созданная программа установки использует эту информацию для заполнения метаданных установленного приложения. См. раздел Настройка установщика.
Дополнительные параметры установщика - путь установки по умолчанию для созданного установщика и выбора пользовательского логотипа. См. раздел Изменение пути установки.
Файлы, необходимые для запуска библиотеки - дополнительные файлы, необходимые для запуска созданного приложения. Эти файлы включены в созданную программу установки приложения. См. раздел Управление необходимыми файлами в проекте компилятора.
Файлы, установленные для конечного пользователя - файлы, установленные в приложении.
См. раздел Указание файлов для установки с приложением
Дополнительные параметры среды выполнения - специфичные для платформы параметры управления создаваемым исполняемым файлом. См. раздел Дополнительные параметры среды выполнения.

Чтобы создать упакованное приложение, щелкните Пакет.
В диалоговом окне «Сохранение проекта» укажите местоположение для сохранения проекта.
В диалоговом окне «Пакет» убедитесь, что выбрана опция «Открыть папку вывода по завершении процесса».
После завершения процесса упаковки проверьте сгенерированные выходные данные.
В целевой папке создаются три папки: for_redistribution, for_redistribution_files_only, и for_testing.
Дополнительные сведения о файлах, созданных в этих папках, см. в разделе Файлы, созданные после упаковки функций MATLAB.
PackagingLog.txt - Файл журнала, созданный MATLAB Compiler™.
compiler.build.dotNETAssemblyПримечание
Если сборка .NET уже создана с помощью приложения компилятора библиотеки, можно пропустить этот раздел. Однако если вы хотите знать, как создать сборку .NET из окна команд MATLAB с использованием программного подхода, следуйте этим инструкциям.
Сохраните путь к makesquare.m файл, расположенный в . Например, если используется Visual Studio ® версии 15, введите:matlabroot\toolbox\dotnetbuilder\Examples\VSVersion\NET\MagicSquareExample\MagicSquareComp
appFile = fullfile(matlabroot,'toolbox','dotnetbuilder','Examples',... 'VS15','NET','MagicSquareExample','MagicSquareComp','makesquare.m');
Сохранить следующий код в примере файла с именем makesquareSample1.m:
x = 5; y = makesquare(x);
Создайте сборку .NET с помощью compiler.build.dotNETAssembly функция. Используйте аргументы «имя-значение», чтобы добавить образец файла и указать имя сборки.
buildResults = compiler.build.dotNETAssembly(appFile,... 'AssemblyName','MagicSquareComp',... 'SampleGenerationFiles','makesquareSample1.m');
compiler.build.Results объект buildResults содержит информацию о типе сборки, созданных файлах и параметрах сборки.
Этот синтаксис создает следующие файлы в папке с именем MagicSquareCompdotNETAssembly в текущей рабочей папке:
samples\makesquareSample1.cs - пример файла драйвера .NET.
GettingStarted.html - HTML-файл, содержащий информацию об интеграции сборки.
MagicSquareComp.dll - файл библиотеки динамических связей, доступ к которому можно получить с помощью mwArray API.
MagicSquareComp.xml - XML-файл, содержащий документацию для mwArray сборка.
MagicSquareComp_overview.html - HTML-файл, содержащий требования для доступа к компоненту и для создания аргументов с помощью mwArray иерархия классов.
MagicSquareCompNative.dll - файл библиотеки динамической связи, доступ к которому можно получить с помощью собственного API.
MagicSquareCompNative.xml - XML-файл, содержащий документацию для собственной сборки.
MagicSquareCompVersion.cs - Файл C #, содержащий информацию о версии.
mccExcludedFiles.log - файл журнала, содержащий список всех функций панели инструментов, которые не были включены в приложение. Сведения о неподдерживаемых функциях см. в разделе Ограничения компилятора MATLAB.
readme.txt - текстовый файл, содержащий информацию о упаковке и интерфейсе.
requiredMCRProducts.txt - текстовый файл, содержащий идентификаторы продуктов, необходимых для выполнения приложения в среде выполнения MATLAB.
unresolvedSymbols.txt - текстовый файл, содержащий информацию о неразрешенных символах.
Примечание
Созданная сборка не включает среду выполнения MATLAB или программу установки.
Дополнительные параметры могут быть указаны в compiler.build используя один или несколько из следующих аргументов «имя-значение»:
'AdditionalFiles' - путь к дополнительным файлам для включения в сборку.
'AssemblyName'- имя созданной сборки.
'AssemblyVersion'- Версия созданной сборки.
'AutoDetectDataFiles' - Флажок для автоматического включения файлов данных.
'ClassName' - имя класса .NET.
'DebugBuild' - Флаг для включения символов отладки.
'EmbedArchive'- Флаг для встраивания архива сборки.
'EnableRemoting'- Флаг для управления типом удаленного взаимодействия.
'OutputDir' - путь к выходному каталогу, содержащему созданные файлы.
'SampleGenerationFiles'- образцы файлов MATLAB, используемые для создания файлов драйверов .NET. Дополнительные сведения см. в разделе Пример создания файла драйвера.
'StrongNameKeyFile'- путь к файлу ключа шифрования, используемому для подписи общей сборки.
'Verbose'- Флаг для отображения информации о ходе выполнения, указывающей на вывод компилятора в процессе построения.
После создания файла сборки .NET его можно вызвать из приложения .NET. Созданное приложение .NET использует образец кода драйвера .NET, созданного во время упаковки. Код драйвера .NET вызывает файл сборки .NET и основан на образце файла MATLAB, выбранного на предыдущих этапах установки.
Эти шаги также объясняются в GettingStarted.html файл в for_redistribution_files_only папка. Перед запуском убедитесь, что установлена среда выполнения MATLAB и установлена среда Microsoft ® Visual Studio.
Установите сборку .NET из for_redistribution папка или распространение файла сборки MagicSquareComp.dll к целевой машине.
Созданные общие библиотеки и файлы поддержки находятся в папке for_testing папка.
Откройте Microsoft Visual Studio и создайте проект. Для этого примера создайте консольное приложение C # MainApp и создайте ссылку на файл сборки.MagicSquareComp.dll.
Убедитесь, что сборка находится в папке приложения, в которой установлен компонент.
Создание ссылки на MWArray API. Местоположение API в
R2021a среды выполнения MATLAB:
matlabroot\MATLAB Runtime\v910\toolbox\dotnetbuilder\bin\<arch>\<version>\MWArray.dll
Перейдите в раздел Build > Configuration Manager и измените платформу с Any CPU на x64.
Копирование созданного кода драйвера .NET makesquareSample1.cs от for_redistribution_files_only\samples в проект и сохраните его.
После завершения написания кода создайте и запустите его с помощью Microsoft Visual Studio.
compiler.build.dotNETAssembly | deploytool | libraryCompiler | mcc