Сгенерируйте блок.NET и создайте приложение.NET

Поддерживаемая платформа: Windows®

В этом примере показано, как создать блок.NET из MATLAB® функционируйте и интегрируйте сгенерированный блок в приложение.NET.

Необходимые условия

  • Проверьте, что вы удовлетворили все целевые требования.NET MATLAB Compiler SDK™. Для получения дополнительной информации смотрите Целевые Требования.NET MATLAB Compiler SDK.

  • Проверьте, что у вас есть Microsoft® Visual Studio® установленный.

  • У конечных пользователей должна быть установка MATLAB Runtime, чтобы запустить приложение. Для получения дополнительной информации смотрите Установку и Сконфигурируйте MATLAB Runtime.

    Для тестирования можно использовать установку MATLAB вместо MATLAB Runtime.

Файлы

Функция MATLABmatlabroot\toolbox\dotnetbuilder\Examples\VSVersion\NET\MagicSquareExample\MagicSquareComp\makesquare.m
Ссылка API MWArraymatlabroot\help\dotnetbuilder\MWArrayAPI

Создание функции в MATLAB

В 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 с помощью приложения Library Compiler. В качестве альтернативы, если вы хотите создать блок.NET из окна команды MATLAB с помощью программируемого подхода, смотрите, Создают блок.NET Используя compiler.build.dotNETAssembly.

  1. На вкладке MATLAB Apps, на ультраправом из раздела Apps, кликают по стреле. В Application Deployment нажмите Library Compiler.

    В качестве альтернативы можно открыть приложение Library Compiler из командной строки MATLAB.

    libraryCompiler

    Compiler tab with the Library Compiler app open

  2. В разделе Type панели инструментов нажмите .NET Assembly.

    В окне проекта приложения Library Compiler задайте файлы приложения MATLAB, которое вы хотите развернуть.

    1. В разделе Exported Functions панели инструментов щелкнутьAdd exported function to the project.

    2. В окне Add Files просмотрите к папке в качестве примера и выберите функцию, которую вы хотите группировать. Нажмите Open.

    Функция добавляется к списку экспортируемых файлов функции. Повторите этот шаг, чтобы группировать несколько файлов в том же приложении.

    В данном примере выберите файл makesquare.m.

  3. В разделе Packaging Options панели инструментов решите, включать ли инсталлятор MATLAB Runtime в сгенерированное приложение путем выбора одной из опций:

    • Runtime downloaded from web — Сгенерируйте инсталлятор, который загружает MATLAB Runtime и устанавливает его наряду с развернутым приложением MATLAB. Можно задать имя файла инсталлятора.

    • Runtime included in package — Сгенерируйте приложение, которое включает инсталлятор MATLAB Runtime. Можно задать имя файла инсталлятора.

      Примечание

      В первый раз, когда вы выбираете эту опцию, вам предлагают загрузить инсталлятор MATLAB Runtime.

Задайте настройки файла блока

Затем задайте имя своего блока и проверьте отображение класса для .m файл, который вы встраиваете в свое приложение.

  1. Поле Library Name автоматически заполняется с makesquare как имя блока. Переименуйте его как MagicSquareComp. То же имя выполняется в реализации блока.

  2. Проверьте что функция, определяемая в 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 — Файлы, которые установлены с вашим приложением.

    Смотрите задают файлы, чтобы установить с приложением.

Группируйте приложение

По окончании выбрав ваши упаковочные опции, сохраняете свой проект Library Compiler и генерируете пакетное приложение.

  1. Нажмите Package.

    В диалоговом окне Save Project задайте местоположение, чтобы сохранить проект.

  2. В диалоговом окне Package проверьте, что Open output folder when process completes выбран.

    Когда упаковочный процесс будет завершен, исследуйте сгенерированный выход в целевой папке.

    • Сгенерированы три папки: for_redistribution, for_redistribution_files_only, и for_testing.

      Для получения дополнительной информации о файлах, сгенерированных в этих папках, смотрите Файлы, Сгенерированные После Упаковки функций MATLAB.

    • Файл журнала PackagingLog.html содержит упаковочные результаты.

Создайте блок.NET Используя compiler.build.dotNETAssembly

Как альтернатива приложению Library Compiler, можно создать блок.NET с помощью программируемого подхода. Если вы уже создали блок с помощью Library Compiler, смотрите, Интегрируют блок.NET В Приложение.NET.

  1. Сохраните путь к файлу makesquare.m расположенный в matlabroot\toolbox\dotnetbuilder\Examples\VSVersion\NET\MagicSquareExample\MagicSquareComp. Например, если вы используете версию 15 Visual Studio, введите:

    appFile = fullfile(matlabroot,'toolbox','dotnetbuilder','Examples', ...
        'VS15','NET','MagicSquareExample','MagicSquareComp','makesquare.m');
  2. Сохраните следующий код в файле примера под названием makesquareSample1.m:

    x = 5;
    y = makesquare(x);

  3. Создайте блок.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, сгенерированный во время упаковки. Можно использовать этот демонстрационный код приложения.NET в качестве руководства, чтобы записать собственное приложение.NET.

  1. Открытый Microsoft Visual Studio и создает Console App (.NET Framework) C# по имени MainApp.

  2. Удалите любые файлы исходного кода, которые были созданы в рамках вашего проекта при необходимости.

  3. Добавьте сгенерированный демонстрационный код приложения.NET makesquareSample1.cs от for_redistribution_files_only\samples папка к проекту.

    Распечатку программ показывают ниже.

     makesquareSample1.cs

  4. В Visual Studio добавьте ссылку на свой файл блока MagicSquareComp.dll расположенный в папке, где вы сгенерировали или установили блок.

  5. Добавьте ссылку на MWArray API.

    Если MATLAB установлен в вашей системеmatlabroot\toolbox\dotnetbuilder\bin\win64\<framework_version>\MWArray.dll
    Если MATLAB Runtime установлен в вашей системе<MATLAB_RUNTIME_INSTALL_DIR>\toolbox\dotnetbuilder\bin\win64\<framework_version>\MWArray.dll

  6. Перейдите к Build, затем Configuration Manager, и измените платформу от Any CPU до x64.

  7. После того, как вы закончили добавлять свой код и ссылки, создаете приложение с Visual Studio.

    Процесс сборки генерирует исполняемый файл под названием makesquareSample1.exe.

  8. Запустите приложение с 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\

Смотрите также

| | |

Похожие темы