MATLAB Compiler SDK .NET 目标要求
系统和产品要求
系统依赖项
可以跨 Windows®、Linux® 和 macOS 平台开发和发布包含打包的 MATLAB® 代码的 .NET 应用程序。这意味着可以在这三种平台中的任一平台上进行开发,然后发布到另外两个平台上。 (自 R2023a 起)
在 R2023a 之前的版本中: 只有 Windows 系统才支持使用 MATLAB Compiler SDK™ 生成 .NET 程序集。
产品依赖项
以下产品必须与 MATLAB Compiler SDK 一起安装:
MATLAB
MATLAB Compiler™
使用 MATLAB Compiler SDK 开发并与 .NET 应用程序集成的 .NET 程序集在执行期间需要 MATLAB Runtime。有关详细信息,请参阅下载并安装 MATLAB Runtime。
支持的 Microsoft .NET 版本
有关 MATLAB Compiler SDK 支持的 .NET 版本的最新列表,请参阅 https://www.mathworks.com/support/compilers/current_release/。
您可以从 https://dotnet.microsoft.com/download 下载并安装 .NET SDK。
小心
根据 Microsoft 的声明,.NET Framework 4.8 是推荐使用的最后一个 .NET Framework 版本。对于新的 .NET 开发,Microsoft 推荐使用较新的 .NET 版本,例如 .NET 6.0 或更高版本。
数据 API
MathWorks® 提供以下两个数据 API,用于处理 .NET 应用程序与已部署的 MATLAB 代码之间的数据交换:
MWArray API,适用于 .NET Framework 4.0 或更高版本以及 .NET 6.0 或更高版本。
MATLAB Data API for .NET,适用于 .NET 6.0 或更高版本以及 .NET Framework(有限制)。有关详细信息,请参阅兼容性。
当您安装 MATLAB 和 MATLAB Compiler SDK 或 MATLAB Runtime 时,这些数据 API 会安装在您的系统上。有关与这些数据 API 关联的程序集引用位置,请参阅设置 .NET 开发环境。
MATLAB Data API for .NET 在 MATLAB Compiler SDK 与 MATLAB Engine 之间共享。有关详细信息,请参阅从 .NET 调用 MATLAB。
兼容性
MWArray API | MATLAB Data API for .NET | |
---|---|---|
.NET 兼容性 |
|
|
产品 | MATLAB Compiler SDK |
|
跨平台 |
| Windows、Linux 和 macOS 同时支持程序集生成和集成。 |
限制 (.NET Framework) |
|
|
限制(.NET 6.0 或更高版本) | 仅 Windows 系统支持 .NET 程序集生成。但是,可以在 Linux 和 macOS 系统上完成与 .NET 应用程序的集成。 | |
其他备注 | MathWorks 建议使用 MATLAB Data API for .NET,以便能够在最广泛的平台上实现部署。 |
MathWorks 建议将 MATLAB Data API for .NET 与 .NET 6.0 或更高版本(而不是 .NET Framework)结合使用,这与 Microsoft 关于 .NET Framework 4.8 是最后认可版本的建议一致。采用 .NET 6.0 或更高版本不仅符合 Microsoft 的前瞻性战略,还能充分发挥 MATLAB Data API for .NET 的跨平台开发潜力,并且同时支持程序集生成和集成。
此外,当您使用 MATLAB Data API for .NET 时,MATLAB Runtime 实例与 .NET 应用程序可以在同一进程内运行也可以跨不同进程运行,并且部署的 MATLAB 函数可以同步执行也可以异步执行。而且,该 API 是线程安全的,有助于跨多个线程并发创建和使用数据,而无需使用锁定机制。这会提高性能,特别是在多个线程中对 MATLAB 数据进行大量、密集的操作时。有关选择哪个 API 的详细信息,请参阅选择 .NET 部署选项。
跨平台支持
.NET 版本 | 开发平台 | 要发布到的平台 | 要求 | 可用性(自此版本开始可用) | 支持状态 |
---|---|---|---|---|---|
.NET 6.0 或更高版本 | Windows、Linux 和 macOS | Windows、Linux 和 macOS | 已安装 .NET 6.0 或更高版本 | R2023a | 支持 |
.NET 5.0 | Windows | Windows、Linux 和 macOS | 已安装 .NET 5.0 | R2022a | 自 R2023b 起不再支持 |
.NET Core 2.0 或更高版本 | Windows | Windows、Linux 和 macOS | 已安装 .NET Core 2.0 或更高版本 | R2019b | 自 R2023b 起不再支持 |
注意
跨平台程序集生成和集成需要 .NET 6.0 或更高版本,以前可以通过 .NET 5.0 或 .NET Core 实现。
开发环境
有关如何设置 .NET 开发环境以集成打包的 MATLAB 代码的详细信息,请参阅设置 .NET 开发环境。
MATLAB Compiler SDK .NET 限制
不支持将 MATLAB 对象从 MATLAB 序列化为 .NET 代码。
另请参阅
主题
1 If you use Visual Studio® 2022 (v17.0 or higher) for your .NET development needs, .NET 6.0 SDK is included as part of the installation.
2 Starting in R2023b, .NET Core (all versions) and .NET 5.0 are no longer supported.