本页面提供的是上一版软件的文档。当前版本中已删除对应的英文页面。
从命令行打包 .NET 程序集
您可以使用以下任一命令在 MATLAB® 提示符或系统提示符下打包 .NET 程序集。
deploytool
调用库编译器应用程序来创建编译器工程。mcc
调用 MATLAB Compiler™ 在命令提示符下创建可部署的应用程序。
使用 deploytool
执行编译器工程
deploytool
命令有两个标志,可以调用其中一个编译器 App 来打包已经存在的工程,而无需打开窗口。
-build
- 调用正确的编译器应用程序来构建工程但不生成安装程序。project_name
-package
- 调用正确的编译器应用程序来构建工程并生成安装程序。project_name
例如,deploytool -package magicsquare
生成 magicsquare
工程定义的二进制文件,并将其打包成可分发给他人的安装程序。
使用 mcc
创建 .NET 程序集
mcc
命令调用 MATLABCompiler 在命令提示符下创建 .NET 程序集,并在打包应用程序时提供细级别的控制。它不会将结果打包在安装程序中。
以下命令定义了完整的 mcc
命令语法以及用于创建 .NET 程序集的所有必需和可选参量。括号表示语法的可选部分。
mcc -W 'dotnet:
[component_name
,class_name
, 0.0|framework_version
, Private|Encryption_Key_Path,local|remote' file1
[file2
...fileN
]class{
[class_name
:file1
[,file2
,...,fileN
]},...-d
output_dir_path
] -T link:lib
.NET 捆绑包
您可以简化用于创建 .NET 程序集的命令行。为此,请使用名为 dotnet
的捆绑包。使用此捆绑包仍然需要您传入 -W
参量文本字符串的五个部分(包括 local|remote
);但是,您不必指定 -T
选项。
以下示例创建一个名为 mycomponent
的 .NET 程序集,其中包含一个名为 myclass
的 .NET 类以及方法 foo
和 bar
。
mcc -B 'dotnet:mycomponent,myclass,2.0, encryption_keyfile_path,local' foo.m bar.m
在此示例中,编译器使用 .NET Framework 2.0 版本将组件打包成共享程序集,并使用 encryption_keyfile_path
中指定的密钥文件对共享组件进行签名。
创建 .NET 命名空间
下面的示例从两个 MATLAB 文件 foo.m
和 bar.m
创建一个 .NET 程序集。
mcc -B 'dotnet:mycompany.mygroup.mycomponent,myclass,0.0,Private,local' foo.m bar.m
该示例创建一个名为 mycomponent
的 .NET 程序集,该程序集具有以下命名空间:mycompany.mygroup
。该组件包含一个 .NET 类 myclass
,其中包含方法 foo
和 bar
。
要使用 myclass
,请在代码中放置以下语句:
using mycompany.mygroup;
向程序集添加多个类
下面的示例创建一个包含多个类的 .NET 程序集。此示例使用 mcc
命令的可选 class{...}
参量。
mcc -B 'dotnet:mycompany.mycomponent,myclass,2.0,Private,local' foo.m bar.m class{myclass2:foo2.m,bar2.m}
该示例创建一个名为 mycomponent
的 .NET 程序集,其中包含两个类:
myclass
有方法foo
和bar
myclass2
有方法foo2
和bar2
请参阅 NET.isNETSupported
来检查是否支持 Microsoft® .NET 框架的版本。
编译器应用程序和命令行之间的差异
您可以使用编译器 App、compiler.build
函数或 mcc
命令行界面执行相同的功能。编译器 App 中使用的交互式菜单和对话框构建了根据您的规范自定义的 mcc
命令。因此,您的 MATLAB 代码的处理方式与使用 mcc
打包代码的方式相同。
如果您知道要部署的应用程序类型的命令并且不需要安装程序,则执行 compiler.build
或 mcc
比执行编译器应用程序工作流更快。
编译器 App 的优点包括:
您可以使用单个直观的界面执行相关的部署任务。
您可以在方便的工程文件中维护相关信息。
您的工程状态在会话之间保持不变。
您可以从预填充的菜单中加载以前存储的编译器工程。
您可以打包应用程序以便分发。
另请参阅
mcc
| deploytool