万博1manbetx支持的平台:视窗®
这个例子展示了如何从MATLAB创建一个。net程序集®函数,并将生成的程序集集成到。net应用程序中。
验证您是否已满足了所有MATLAB编译器SDK™.NET目标要求。有关详细信息,请参见MATLAB编译SDK。net目标要求。
验证你有微软®Visual Studio®安装了。
终端用户必须安装MATLAB运行时以运行应用程序。有关详细信息,请参见安装和配置MATLAB运行时。
出于测试的目的,您可以使用MATLAB的安装来代替MATLAB运行时。
MATLAB函数 |
|
mwarray api参考 |
|
在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程序集中库编译器或者,如果你想使用编程方法从MATLAB命令窗口创建。net程序集,请参见使用compiler.build.dotNETAssembly创建。net Assembly。
在这方面MATLAB应用程序Tab,在最右边应用段,单击箭头。在应用程序部署,点击库编译器。
或者,您可以打开库编译器从MATLAB命令提示符的应用程序。
LibraryCompiler.
在里面类型部分的工具条,单击net程序集。
在里面库编译器app项目窗口,指定要部署的MATLAB应用程序的文件。
在里面导出功能部分的工具条,单击。
在里面添加文件窗口,浏览到示例文件夹,然后选择要包的函数。点击打开。
该函数将添加到导出的函数文件列表中。重复此步骤以在同一应用程序中打包多个文件。
对于本例,选择该文件makesquare.m
。
在里面包装选项段,决定是否包含MATLAB运行时安装程序在生成的应用程序中选择一个选项:
从网页下载运行时—生成一个安装程序来下载MATLAB运行时并将其与已部署的MATLAB应用程序一起安装。您可以指定安装程序的文件名。
运行时包含在包中- 生成包含该应用程序MATLAB运行时安装程序。您可以指定安装程序的文件名。
请注意
您第一次选择此选项,系统会提示您下载此选项MATLAB运行时安装程序。
接下来,定义程序集的名称,并验证类映射。m
您正在应用于您的应用程序的文件。
的库名称字段将自动填充makesquare
作为程序集的名称。重命名它为MagicSquareComp
。在程序集的实现中始终使用相同的名称。
验证中定义的函数makesquare.m
被映射到MagicSquareClass
。双击类以更改类名。
您可以使用项目中的任何MATLAB文件来生成示例。net驱动程序文件。尽管.NET驱动程序文件不是创建程序集所必需的,但您可以使用它们以目标语言将生成的程序集实现到.NET应用程序中,如将。net汇编集成到。net应用程序中。
在里面样本部分,选择创建新样本,然后单击makesquare.m
。将打开MATLAB文件以编辑。
%示例脚本以演示函数y = motorquare(x)的执行x = 0;%初始化xy = modequare(x);
改变x = 0
到x = 5
,保存文件,然后返回到库编译器应用程序。
有关更多信息和限制,请参见驱动文件创建示例。
在里面库编译器应用程序,您可以自定义安装程序,自定义您的应用程序,并添加有关应用程序的更多信息。
图书馆信息—已部署的应用信息。您还可以通过更改应用程序图标和启动屏幕来定制应用程序的外观。生成的安装程序使用此信息填充已安装的应用程序元数据。看到自定义安装程序。
额外的安装选项-生成的安装程序和自定义logo选择的默认安装路径。看到更改安装路径。
您的库运行所需的文件- 生成的应用程序需要运行的其他文件。这些文件包含在生成的应用程序安装程序中。看到在编译项目中管理所需文件。
为您的最终用户安装的文件- 使用应用程序安装的文件。
其他运行时设置- 用于控制生成的可执行文件的特定于平台的选项。看到额外的运行时设置。
当您完成选择您的打包选项,保存您的库编译器项目并生成打包的应用程序。
点击包。
在“保存项目”对话框中,指定保存项目的位置。
在里面包对话框,验证当流程完成时打开输出文件夹被选中。
打包过程完成后,在目标文件夹中检查生成的输出。
生成三个文件夹:for_redistribution
,for_redistribution_files_only
, 和用于检测
。
有关在这些文件夹中生成的文件的详细信息,请参见文件生成后包装MATLAB函数。
日志文件PackagingLog.html
包含包装的结果。
compiler.build.dotNETAssembly
作为替代库编译器应用程序,您可以使用程序化方法创建.NET程序集。如果您已经使用了使用的组装库编译器,请参阅将。net汇编集成到。net应用程序中。
保存到文件的路径makesquare.m
位于
。例如,如果你使用的是Visual Studio版本15,输入:matlabroot.
\工具箱\ dotnetbuilder \ \和例子版本
\ net \ magicsquareexample \ magicsquarecomp
appfile = fullfile(matlabroot,'工具箱',“dotnetbuilder”,'例子',......'vs15',“净”,'magicsquareexample',“MagicSquareComp”,“makesquare.m”);
将以下代码保存在一个名为makesquareSample1.m
:
x = 5;y = modequare(x);
使用该构建.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.
- 可以使用的动态链接库文件使用Mwarray
API。
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应用程序的指南。
打开Microsoft Visual Studio并创建一个c#控制台应用程序(.NET Framework)被称为MainApp
。
如果有必要,删除在项目中创建的任何源代码文件。
添加生成的示例.NET应用程序代码makequaresample1.cs.
从for_redistribution_files_only \样品
文件夹到项目中。
程序列表如下所示。
在Visual Studio中,添加对您的装配文件的引用magicsquarecomp.dll.
位于您生成或安装组件的文件夹中。
添加参考MWArray
API。
如果您的系统上安装了MATLAB |
|
如果MATLAB运行时安装在您的系统上 |
|
去建造,然后配置管理器,并改变平台任何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 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 \ \
LibraryCompiler.
|compiler.build.dotNETAssembly
|MCC.
|deploytool