主要内容

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 版本

  • Microsoft® .NET Framework 4.6.2 或更高版本

  • Microsoft .NET 6.01 或更高版本

  • 在 R2023b 之前的版本中: Microsoft .NET Core 2.0 或更高版本以及 .NET 5.02

有关 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 SDKMATLAB Runtime 时,这些数据 API 会安装在您的系统上。有关与这些数据 API 关联的程序集引用位置,请参阅设置 .NET 开发环境

MATLAB Data API for .NET 在 MATLAB Compiler SDK 与 MATLAB Engine 之间共享。有关详细信息,请参阅从 .NET 调用 MATLAB

兼容性

 MWArray APIMATLAB Data API for .NET
.NET 兼容性

  • .NET 6.0 或更高版本(推荐)(请参阅下面的“限制”)

  • .NET Framework 4.6.24.74.7.14.7.24.8(请参阅下面的“限制”)

  • .NET 6.0 或更高版本(推荐)

  • .NET Framework 4.6.24.74.7.14.7.24.8(请参阅下面的“限制”

产品

MATLAB Compiler SDK

  • MATLAB Compiler SDK

  • MATLAB 中的 MATLAB Engine

跨平台

  • .NET Framework

    • 仅 Windows 支持程序集生成以及与 .NET App 集成。

  • .NET 6.0 或更高版本

    • 仅 Windows 支持程序集生成。

    • Windows、Linux 和 macOS 支持与 .NET App 集成。

Windows、Linux 和 macOS 同时支持程序集生成和集成。

限制 (.NET Framework)

  • 已部署的应用程序如果集成使用 .NET Framework 生成的程序集,则只能在 Windows 系统上运行。

  • .NET Framework 没有用于开发的命令行界面。例如,您无法从命令行执行 dotnet newdotnet build

  • 已部署的应用程序如果集成使用 .NET Framework 生成的程序集,则只能在 Windows 系统上运行。

  • .NET Framework 没有用于开发的命令行界面。例如,您无法从命令行执行 dotnet newdotnet build

限制(.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.