主要内容

生成.NET程序集和构建.NET应用程序

万博1manbetx支持的平台:视窗®

这个例子展示了如何从MATLAB创建一个。net程序集®函数,并将生成的程序集集成到。net应用程序中。

先决条件

  • 验证您是否已满足了所有MATLAB编译器SDK™.NET目标要求。有关详细信息,请参见MATLAB编译SDK。net目标要求

  • 验证你有微软®Visual Studio®安装了。

  • 终端用户必须安装MATLAB运行时以运行应用程序。有关详细信息,请参见安装和配置MATLAB运行时

    出于测试的目的,您可以使用MATLAB的安装来代替MATLAB运行时

文件

MATLAB函数 matlabroot.\工具箱\ dotnetbuilder \ \和例子版本\ \ MagicSquareExample \ MagicSquareComp净\ makesquare.m
mwarray api参考 matlabroot.\ help \ dotnetbuilder \ mwarrayapi

创建函数马铃薯草

在MATLAB中,检查要包的MATLAB代码。对于这个例子,打开makesquare.m

功能y = modequare(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 21 3 11 11 18 25 2 9

使用库编译程序创建。net程序集

控件将函数打包到。net程序集中库编译器或者,如果你想使用编程方法从MATLAB命令窗口创建。net程序集,请参见使用compiler.build.dotNETAssembly创建。net Assembly

  1. 在这方面MATLAB应用程序Tab,在最右边应用段,单击箭头。在应用程序部署,点击库编译器

    或者,您可以打开库编译器从MATLAB命令提示符的应用程序。

    LibraryCompiler.

    编译器选项卡,打开库编译器应用程序

  2. 在里面类型部分的工具条,单击net程序集

    在里面库编译器app项目窗口,指定要部署的MATLAB应用程序的文件。

    1. 在里面导出功能部分的工具条,单击向项目添加导出函数

    2. 在里面添加文件窗口,浏览到示例文件夹,然后选择要包的函数。点击打开

    该函数将添加到导出的函数文件列表中。重复此步骤以在同一应用程序中打包多个文件。

    对于本例,选择该文件makesquare.m

  3. 在里面包装选项段,决定是否包含MATLAB运行时安装程序在生成的应用程序中选择一个选项:

    • 从网页下载运行时—生成一个安装程序来下载MATLAB运行时并将其与已部署的MATLAB应用程序一起安装。您可以指定安装程序的文件名。

    • 运行时包含在包中- 生成包含该应用程序MATLAB运行时安装程序。您可以指定安装程序的文件名。

      请注意

      您第一次选择此选项,系统会提示您下载此选项MATLAB运行时安装程序。

指定装配文件设置

接下来,定义程序集的名称,并验证类映射。m您正在应用于您的应用程序的文件。

  1. 库名称字段将自动填充makesquare作为程序集的名称。重命名它为MagicSquareComp。在程序集的实现中始终使用相同的名称。

  2. 验证中定义的函数makesquare.m被映射到MagicSquareClass。双击类以更改类名。

创建示例驱动程序文件

您可以使用项目中的任何MATLAB文件来生成示例。net驱动程序文件。尽管.NET驱动程序文件不是创建程序集所必需的,但您可以使用它们以目标语言将生成的程序集实现到.NET应用程序中,如将。net汇编集成到。net应用程序中

在里面样本部分,选择创建新样本,然后单击makesquare.m。将打开MATLAB文件以编辑。

%示例脚本以演示函数y = motorquare(x)的执行x = 0;%初始化xy = modequare(x);

改变x = 0x = 5,保存文件,然后返回到库编译器应用程序。

有关更多信息和限制,请参见驱动文件创建示例

自定义应用程序及其外观

在里面库编译器应用程序,您可以自定义安装程序,自定义您的应用程序,并添加有关应用程序的更多信息。

  • 图书馆信息—已部署的应用信息。您还可以通过更改应用程序图标和启动屏幕来定制应用程序的外观。生成的安装程序使用此信息填充已安装的应用程序元数据。看到自定义安装程序

  • 额外的安装选项-生成的安装程序和自定义logo选择的默认安装路径。看到更改安装路径

  • 您的库运行所需的文件- 生成的应用程序需要运行的其他文件。这些文件包含在生成的应用程序安装程序中。看到在编译项目中管理所需文件

  • 为您的最终用户安装的文件- 使用应用程序安装的文件。

    看到指定要使用应用程序安装的文件

  • 其他运行时设置- 用于控制生成的可执行文件的特定于平台的选项。看到额外的运行时设置

    用于自定义应用程序的库编译器应用程序中的字段

包装

当您完成选择您的打包选项,保存您的库编译器项目并生成打包的应用程序。

  1. 点击

    在“保存项目”对话框中,指定保存项目的位置。

  2. 在里面对话框,验证当流程完成时打开输出文件夹被选中。

    打包过程完成后,在目标文件夹中检查生成的输出。

    • 生成三个文件夹:for_redistributionfor_redistribution_files_only, 和用于检测

      有关在这些文件夹中生成的文件的详细信息,请参见文件生成后包装MATLAB函数

    • 日志文件PackagingLog.html包含包装的结果。

使用.NET组件使用compiler.build.dotNETAssembly

作为替代库编译器应用程序,您可以使用程序化方法创建.NET程序集。如果您已经使用了使用的组装库编译器,请参阅将。net汇编集成到。net应用程序中

  1. 保存到文件的路径makesquare.m位于matlabroot.\工具箱\ dotnetbuilder \ \和例子版本\ net \ magicsquareexample \ magicsquarecomp。例如,如果你使用的是Visual Studio版本15,输入:

    appfile = fullfile(matlabroot,'工具箱'“dotnetbuilder”'例子'......'vs15'“净”'magicsquareexample'“MagicSquareComp”“makesquare.m”);
  2. 将以下代码保存在一个名为makesquareSample1.m

    x = 5;y = modequare(x);

  3. 使用该构建.NET程序集compiler.build.dotNETAssembly函数。使用名称-值参数指定程序集名称、类名称和示例文件。

    buildresults = compiler.build.dotnetAssembly(appfile,......'ompertname'“MagicSquareComp”......“名称”“MagicSquareClass”......“SampleGenerationFiles”'makequaresample1.m');

    Compiler.Build.Results.对象buildResults包含关于生成类型、生成文件和生成选项的信息。

    该函数在名为MagicSquareCompdotNETAssembly在当前工作目录中:

    • 样品\ makesquareSample1.cs- . net样例驱动文件。

    • gettingstarted.html.- HTML文件,包含从命令行编译。net驱动程序应用程序的步骤。

    • magicsquarecomp.dll.- 可以使用的动态链接库文件使用MwarrayAPI。

    • magicsquarecomp.xml.- 包含文档的XML文件Mwarray组装。

    • magicsquarecomp_overview.html.- 包含访问程序集的需求的HTML文件,并使用该文件使用Mwarray类的层次结构。

    • MagicSquareCompNative.dll-可以使用本地API访问的动态链接库文件。

    • MagicSquareCompNative.xml-包含本机程序集文档的XML文件。

    • MagicSquareCompVersion.cs-包含版本信息的c#文件。

    • mccexcludedfiles.log.-日志文件,其中包含应用程序中未包含的工具箱函数的列表。有关不支持的函数的信息,请参见万博1manbetxMATLAB编译器限制

    • 固定—包含封装和接口信息的文本文件。

    • requiredMCRs manbetx 845Products.txt—包含所需产品的产品id的文本文件s manbetx 845MATLAB运行时以运行应用程序。

    • unremolvedsymbols.txt.- 包含有关未解决符号的信息的文本文件。

    请注意

    生成的组件不包括MATLAB运行时或安装人员。使用使用的安装程序buildResults对象,参见compiler.package.installer.

    属性中可以指定其他选项compiler.build命令使用以下一个或多个以下名称值参数:

    • “AdditionalFiles”- 要包含在装配中的附加文件的路径。

    • 'ompertname'—生成程序集的名称。

    • “AssemblyVersion”-生成程序集的版本。

    • 'autodeTectdatafiles'—自动包含数据文件的标志。

    • “名称”- .NET类的名称。

    • “DebugBuild”-启用调试符号的标志。

    • “EmbedArchive”-嵌入程序集存档的标志。

    • 'EnablereMoting'- 要控制远程处理类型的标志。

    • “OutputDir”—生成文件所在的输出目录的路径。

    • “SampleGenerationFiles”-用于生成。net驱动文件的MATLAB示例文件。有关更多信息,请参见驱动文件创建示例

    • “StrongNameKeyFile”—用于对共享程序集签名的加密密钥文件的路径。

    • “详细”- 标志显示在构建过程中指示编译器输出的进度信息。

将。net汇编集成到。net应用程序中

创建。net程序集之后,就可以将其集成到任何。net应用程序中。这个示例使用了在打包过程中生成的示例. net应用程序代码。您可以使用这个示例。net应用程序代码作为编写自己的。net应用程序的指南。

  1. 打开Microsoft Visual Studio并创建一个c#控制台应用程序(.NET Framework)被称为MainApp

  2. 如果有必要,删除在项目中创建的任何源代码文件。

  3. 添加生成的示例.NET应用程序代码makequaresample1.cs.for_redistribution_files_only \样品文件夹到项目中。

    程序列表如下所示。

    makequaresample1.cs.

  4. 在Visual Studio中,添加对您的装配文件的引用magicsquarecomp.dll.位于您生成或安装组件的文件夹中。

  5. 添加参考MWArrayAPI。

    如果您的系统上安装了MATLAB matlabroot.\ toolbox \ dotnetbuilder \ bin \ win64 \\ MWArray.dll
    如果MATLAB运行时安装在您的系统上 < MATLAB_RUNTIME_INSTALL_DIR >\ toolbox \ dotnetbuilder \ bin \ win64 \\ MWArray.dll

  6. 建造,然后配置管理器,并改变平台任何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 21 3 11 11 18 25 2 9

请注意

这个例子展示了如何从一个样例c#应用程序调用。net程序集。从Visual Basic调用程序集®应用程序,使用Microsoft Visual Studio项目文件MagicSquareVBApp.vbproj和Visual Basic文件MagicSquareApp.vb位于

matlabroot.\工具箱\ dotnetbuilder \ \和例子版本净\ MagicSquareExample \ MagicSquareVBApp \ \

另请参阅

|||

相关话题