Поддерживаемая платформа: Windows®
В этом примере показано, как создать блок.NET из MATLAB® функционируйте и интегрируйте сгенерированный блок в приложение.NET.
Проверьте, что вы удовлетворили все целевые требования.NET MATLAB Compiler SDK™. Для получения дополнительной информации смотрите Целевые Требования.NET MATLAB Compiler SDK.
Проверьте, что у вас есть Microsoft® Visual Studio® установленный.
У конечных пользователей должна быть установка MATLAB Runtime, чтобы запустить приложение. Для получения дополнительной информации смотрите Установку и Сконфигурируйте MATLAB Runtime.
Для тестирования можно использовать установку MATLAB вместо MATLAB Runtime.
| Функция MATLAB | |
| Ссылка API MWArray | |
В MATLAB исследуйте код MATLAB, который вы хотите группировать. В данном примере открытый makesquare.m.
function y = makesquare(x)
y = magic(x);
disp(y)В командной строке MATLAB введите makesquare(5).
Выход является матрицей 5 на 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Группируйте функцию в блок.NET с помощью приложения Library Compiler. В качестве альтернативы, если вы хотите создать блок.NET из окна команды MATLAB с помощью программируемого подхода, смотрите, Создают блок.NET Используя compiler.build.dotNETAssembly.
На вкладке MATLAB Apps, на ультраправом из раздела Apps, кликают по стреле. В Application Deployment нажмите Library Compiler.
В качестве альтернативы можно открыть приложение Library Compiler из командной строки MATLAB.
libraryCompiler

В разделе Type панели инструментов нажмите .NET Assembly.
В окне проекта приложения Library Compiler задайте файлы приложения MATLAB, которое вы хотите развернуть.
В разделе Exported Functions панели инструментов щелкнуть
.
В окне Add Files просмотрите к папке в качестве примера и выберите функцию, которую вы хотите группировать. Нажмите Open.
Функция добавляется к списку экспортируемых файлов функции. Повторите этот шаг, чтобы группировать несколько файлов в том же приложении.
В данном примере выберите файл makesquare.m.
В разделе Packaging Options панели инструментов решите, включать ли инсталлятор MATLAB Runtime в сгенерированное приложение путем выбора одной из опций:
Runtime downloaded from web — Сгенерируйте инсталлятор, который загружает MATLAB Runtime и устанавливает его наряду с развернутым приложением MATLAB. Можно задать имя файла инсталлятора.
Runtime included in package — Сгенерируйте приложение, которое включает инсталлятор MATLAB Runtime. Можно задать имя файла инсталлятора.
Примечание
В первый раз, когда вы выбираете эту опцию, вам предлагают загрузить инсталлятор MATLAB Runtime.
Затем задайте имя своего блока и проверьте отображение класса для .m файл, который вы встраиваете в свое приложение.
Поле Library Name автоматически заполняется с makesquare как имя блока. Переименуйте его как MagicSquareComp. То же имя выполняется в реализации блока.
Проверьте что функция, определяемая в makesquare.m сопоставлен в MagicSquareClass. Дважды кликните на классе, чтобы изменить имя класса.
Можно использовать любой файл MATLAB в проекте сгенерировать демонстрационные файлы драйвера.NET. Несмотря на то, что файлы драйвера.NET не необходимы, чтобы создать блок, можно использовать их, чтобы реализовать сгенерированный блок в приложение.NET на выходном языке, как показано в Интегрируют блок.NET В Приложение.NET.
В разделе Samples выберите Create New Sample и нажмите makesquare.m. Файл MATLAB открывается для вас, чтобы отредактировать.
% Sample script to demonstrate execution of function y = makesquare(x) x = 0; % Initialize x here y = makesquare(x);
Измените x = 0 к x = 5, сохраните файл и возвратитесь к приложению Library Compiler.
Для получения дополнительной информации и ограничения, смотрите Демонстрационное Создание Файла Драйвера.
В приложении Library Compiler можно настроить инсталлятор, настроить приложение и добавить больше информации о приложении.
Информация о библиотеке Информация о развертываемом приложении. Можно также настроить внешний вид приложения путем изменения значка приложения и экрана-заставки. Сгенерированный установщик использует эту информацию, чтобы заполнить установленные метаданные приложений. Смотрите Настраивают Инсталлятор.
Additional installer options — Путь к стандартной установке для сгенерированного инсталлятора и пользовательского выбора логотипа. Смотрите Изменение Путь к Установке.
Files required for your library to run — Дополнительные требуемые для запуска сгенерированного приложения файлы. Эти файлы включены в сгенерированное установщиком приложения. Смотрите Управляют Необходимыми Файлами в Проекте Компилятора.
Files installed for your end user — Файлы, которые установлены с вашим приложением.
Additional runtime settings — Специфичные для платформы опции для управления сгенерированным исполняемым файлом. Смотрите Дополнительные Настройки Во время выполнения.

По окончании выбрав ваши упаковочные опции, сохраняете свой проект Library Compiler и генерируете пакетное приложение.
Нажмите Package.
В диалоговом окне Save Project задайте местоположение, чтобы сохранить проект.
В диалоговом окне Package проверьте, что Open output folder when process completes выбран.
Когда упаковочный процесс будет завершен, исследуйте сгенерированный выход в целевой папке.
Сгенерированы три папки: for_redistribution, for_redistribution_files_only, и for_testing.
Для получения дополнительной информации о файлах, сгенерированных в этих папках, смотрите Файлы, Сгенерированные После Упаковки функций MATLAB.
Файл журнала PackagingLog.html содержит упаковочные результаты.
compiler.build.dotNETAssemblyКак альтернатива приложению Library Compiler, можно создать блок.NET с помощью программируемого подхода. Если вы уже создали блок с помощью Library Compiler, смотрите, Интегрируют блок.NET В Приложение.NET.
Сохраните путь к файлу makesquare.m расположенный в . Например, если вы используете версию 15 Visual Studio, введите: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 функция. Используйте аргументы name-value, чтобы задать имя сборки, имя класса и файл примера.
buildResults = compiler.build.dotNETAssembly(appFile, ... 'AssemblyName','MagicSquareComp', ... 'ClassName','MagicSquareClass', ... 'SampleGenerationFiles','makesquareSample1.m');
compiler.build.Results объект buildResults содержит информацию о типе сборки, сгенерированных файлах и опциях сборки.
Функция генерирует следующие файлы в папке под названием MagicSquareCompdotNETAssembly в вашей текущей рабочей директории:
samples\makesquareSample1.cs —. СЕТЕВОЙ демонстрационный файл драйвера.
GettingStarted.html — Файл HTML, который содержит шаги при компиляции приложений драйвера.NET из командной строки.
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 Compiler.
readme.txt — Текстовый файл, который содержит упаковку и интерфейсную информацию.
requiredMCRProducts.txt — Текстовый файл, который содержит идентификаторы продукта продуктов, требуемых MATLAB Runtime запустить приложение.
unresolvedSymbols.txt — Текстовый файл, который содержит информацию о неразрешенных символах.
Примечание
Сгенерированный блок не включает MATLAB Runtime или инсталлятор. Создать инсталлятор, использующий buildResults возразите, смотрите compiler.package.installer.
Можно задать дополнительные опции в compiler.build команда при помощи одного или нескольких следующих аргументов name-value:
'AdditionalFiles' — Путь к дополнительным файлам, чтобы включать в блок.
'AssemblyName'— Имя сгенерированного блока.
'AssemblyVersion'— Версия сгенерированного блока.
'AutoDetectDataFiles' — Отметьте, чтобы автоматически включать файлы данных.
'ClassName' — Имя класса.NET.
'DebugBuild' — Отметьте, чтобы включить отладочные символы.
'EmbedArchive'— Отметьте, чтобы встроить архив блока.
'EnableRemoting'— Отметьте, чтобы управлять типом дистанционной работы.
'OutputDir' — Путь к выходной директории, которая содержит сгенерированные файлы.
'SampleGenerationFiles'— Файлы примера MATLAB раньше генерировали файлы драйвера.NET. Для получения дополнительной информации смотрите Демонстрационное Создание Файла Драйвера.
'StrongNameKeyFile'— Путь к файлу ключа шифрования раньше подписывал совместно используемую сборку.
'Verbose'— Отметьте, чтобы отобразить информацию о прогрессе, указывающую на выход компилятора во время процесса сборки.
После создания вашего блока.NET можно интегрировать его в любое приложение.NET. Этот пример использует демонстрационный код приложения.NET, сгенерированный во время упаковки. Можно использовать этот демонстрационный код приложения.NET в качестве руководства, чтобы записать собственное приложение.NET.
Открытый Microsoft Visual Studio и создает Console App (.NET Framework) C# по имени MainApp.
Удалите любые файлы исходного кода, которые были созданы в рамках вашего проекта при необходимости.
Добавьте сгенерированный демонстрационный код приложения.NET makesquareSample1.cs от for_redistribution_files_only\samples папка к проекту.
Распечатку программ показывают ниже.
В Visual Studio добавьте ссылку на свой файл блока MagicSquareComp.dll расположенный в папке, где вы сгенерировали или установили блок.
Добавьте ссылку на MWArray API.
| Если MATLAB установлен в вашей системе | |
| Если MATLAB Runtime установлен в вашей системе | |
Перейдите к Build, затем Configuration Manager, и измените платформу от Any CPU до x64.
После того, как вы закончили добавлять свой код и ссылки, создаете приложение с Visual Studio.
Процесс сборки генерирует исполняемый файл под названием makesquareSample1.exe.
Запустите приложение с Visual Studio в командном окне, или путем двойного клика по сгенерированному исполняемому файлу.
Приложение возвращает тот же выходной параметр как демонстрационный код MATLAB.
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Примечание
В этом примере показано, как вызвать блок.NET из демонстрационного приложения C#. Вызывать блок от Visual Basic® приложение, используйте файл проекта Microsoft Visual Studio MagicSquareVBApp.vbproj и файл Visual Basic MagicSquareApp.vb расположенный в
matlabroot\toolbox\dotnetbuilder\Examples\VSVersion\NET\MagicSquareExample\MagicSquareVBApp\libraryCompiler | compiler.build.dotNETAssembly | mcc | deploytool