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

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

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

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

В MATLAB исследуйте код MATLAB, который вы хотите упакованный. В данном примере открытый makesquare.m расположенный в matlabroot\toolbox\dotnetbuilder\Examples\VSVersion\NET\MagicSquareExample\MagicSquareComp.

 makesquare.m

В командной строке 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

Создайте блок.NET Используя приложение Library Compiler

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

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

    libraryCompiler

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

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

    1. В разделе Exported Functions панели инструментов щелкнуть.

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

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

    В данном примере перейдите к matlabroot\toolbox\dotnetbuilder\Examples\VSVersion\NET\MagicSquareExample\MagicSquareComp и выберите makesquare.m.

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

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

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

      Примечание

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

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

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

  2. Проверьте что функция, определяемая в makesquare.m сопоставлен в Class1.

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

    В разделе Samples выберите Create New Sample и нажмите makesquare.m. Файл MATLAB открывается для вас, чтобы отредактировать. Задайте входные переменные по мере необходимости для вашего приложения, сохраните файл и возвратитесь к приложению Library Compiler. Для получения дополнительной информации и ограничения, смотрите Демонстрационное Создание Файла Драйвера.

Настройте приложение и его внешний вид

Можно настроить инсталлятор, настроить приложение и добавить больше информации о приложении можно следующим образом:

  • Информация о библиотеке Информация о развертываемом приложении. Можно также настроить внешний вид приложения путем изменения значка приложения и экрана-заставки. Сгенерированный установщик использует эту информацию, чтобы заполнить установленные метаданные приложений. Смотрите Настраивают Инсталлятор.

  • Additional installer options — Путь к стандартной установке для сгенерированного инсталлятора и пользовательского выбора логотипа. Смотрите Изменение Путь к Установке.

  • Files required for your library to run — Дополнительные требуемые для запуска сгенерированного приложения файлы. Эти файлы включены в сгенерированное установщиком приложения. Смотрите Управляют Необходимыми Файлами в Проекте Компилятора.

  • Files installed for your end user — Файлы, которые установлены с вашим приложением.

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

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

  1. Чтобы сгенерировать пакетное приложение, нажмите Package.

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

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

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

    • Три папки сгенерированы в целевом месте папки: for_redistribution, for_redistribution_files_only, и for_testing.

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

    • PackagingLog.txt — Файл журнала сгенерирован MATLAB Compiler™.

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

Примечание

Если вы уже создали блок.NET с помощью приложения Library Compiler, можно пропустить этот раздел. Однако, если вы хотите знать, как создать блок.NET из окна команды MATLAB с помощью программируемого подхода, следовать этим инструкциям.

  1. Сохраните путь к makesquare.m файл расположен в matlabroot\toolbox\dotnetbuilder\Examples\VSVersion\NET\MagicSquareExample\MagicSquareComp. Например, при использовании Визуальной версии 15 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 функция. Используйте аргументы значения имени, чтобы добавить файл примера и задать имя сборки.

    buildResults = compiler.build.dotNETAssembly(appFile,...
    'AssemblyName','MagicSquareComp',...
    'SampleGenerationFiles','makesquareSample1.m');

    compiler.build.Results объект buildResults содержит информацию о типе сборки, сгенерированных файлах и опциях сборки.

  4. Этот синтаксис генерирует следующие файлы в папке под названием MagicSquareCompdotNETAssembly в вашей текущей рабочей директории:

    • samples\makesquareSample1.cs —. СЕТЕВОЙ демонстрационный файл драйвера.

    • 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 Compiler.

    • readme.txt — Текстовый файл, который содержит упаковку и интерфейсную информацию.

    • requiredMCRProducts.txt — Текстовый файл, который содержит идентификаторы продукта продуктов, требуемых MATLAB Runtime запустить приложение.

    • unresolvedSymbols.txt — Текстовый файл, который содержит информацию о неразрешенных символах.

    Примечание

    Сгенерированный блок не включает MATLAB Runtime или инсталлятор.

  5. Дополнительные опции могут быть заданы в compiler.build команда при помощи одного или нескольких следующих аргументов значения имени:

    • 'AdditionalFiles' — Путь к дополнительным файлам, чтобы включать в блок.

    • 'AssemblyName'— Имя сгенерированного блока.

    • 'AssemblyVersion'— Версия сгенерированного блока.

    • 'AutoDetectDataFiles' — Отметьте, чтобы автоматически включать файлы данных.

    • 'ClassName' — Имя класса.NET.

    • 'DebugBuild' — Отметьте, чтобы включить отладочные символы.

    • 'EmbedArchive'— Отметьте, чтобы встроить архив блока.

    • 'EnableRemoting'— Отметьте, чтобы управлять типом дистанционной работы.

    • 'OutputDir' — Путь к выходной директории, которая содержит сгенерированные файлы.

    • 'SampleGenerationFiles'— Файлы примера MATLAB раньше генерировали файлы драйвера.NET. Для получения дополнительной информации смотрите Демонстрационное Создание Файла Драйвера.

    • 'StrongNameKeyFile'— Путь к файлу ключа шифрования раньше подписывал совместно используемую сборку.

    • 'Verbose'— Отметьте, чтобы отобразить информацию о прогрессе, указывающую на выход компилятора во время процесса сборки.

Создайте приложение.NET

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

Эти шаги также объяснены в GettingStarted.html файл в for_redistribution_files_only папка. Перед запуском убедитесь, что вы, Установка и Конфигурирует MATLAB Runtime, и что вам установили Visual Studio Microsoft®.

  1. Установите блок.NET от for_redistribution папка, или распределяют файл блока MagicSquareComp.dll к целевой машине.

    Сгенерированные разделяемые библиотеки и файлы поддержки расположены в for_testing папка.

  2. Открытый Microsoft Visual Studio и создает проект. В данном примере создайте Консольное приложение C# под названием MainApp и создайте ссылку на свой файл блока MagicSquareComp.dll.

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

  3. Создайте ссылку на MWArray API. Местоположение API в рамках MATLAB Runtime R2021a:

    matlabroot\MATLAB Runtime\v910\toolbox\dotnetbuilder\bin\<arch>\<version>\MWArray.dll

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

  5. Скопируйте сгенерированный демонстрационный код драйвера.NET makesquareSample1.cs от for_redistribution_files_only\samples папка в проект, и сохраняет его.

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

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

| | |

Похожие темы