.NET 应用程序 部署

**硬件支持型号 点击 查看 硬件支持 详情**

DTU701 产品详情

DTU702 产品详情

DTU801 产品详情

DTU802 产品详情

DTU902 产品详情

G5501 产品详情

本文内容

在设备上部署 dotnet应用,与任何其他平台的部署相同,可以2种方式:

  1. 依赖于框架的应用

  2. 独立应用

2种方式各有优势

依赖于框架的应用,需要设备安装SDK包或者运行库,独立应用则不需要安装,每一个dotnet应用程序或进程,同时共享该运行库

依赖于框架的应用,只需要目标DLL部署 ,独立应用 需要 整个部署(其中包含独立的运行库),所有独立部署,每一个dotnet应用程序或进程,运行库是独立的。

发布 方式也不一样,.NET 应用程序发布概述

部署 依赖于框架的应用

开发环境种的DLLs 拷贝到安装又.NET Runtime的设备中,即可。DotNet安装 参考相应的文档。

多个应用程序,共享Runtime库。

使用dotnet --version命令,查看设备安装版本与开发版本是否匹配:

复制代码
dotnet --version

发布

  1. 根据开发环境,将应用发布到开发计算机上,如下所示。

    • 如果使用的是 Visual Studio,请将应用部署到本地文件夹。 发布之前,请在"发布配置文件摘要"中选择"编辑",然后选择"设置"选项卡。确保将"部署模式"设置为"依赖于框架",并将"目标运行时"设置为"可移植" 。

    • 如果使用的是 .NET CLI,请使用 dotnet publish 命令。 不需要其他参数。

  2. 使用 SFTP 客户端(如 scp),将文件从开发计算机上的发布位置 复制 到 设备的 文件夹中。

  3. 在设备的提示符(本地或 SSH)运行应用。

    假设HelloWorld.dll 是应用的入口点,运行程序:

    复制代码
    dotnet HelloWorld.dll

部署独立应用

独立运行,即将DLL和Runtime一起打包,每一个APP 都是独立的运行环境,不共享库。

发布

  1. 根据开发环境,将应用发布到开发计算机上,如下所示。

    • 如果使用的是 Visual Studio,请将应用部署到本地文件夹。 发布之前,请在"发布配置文件摘要"中选择"编辑",然后选择"设置"选项卡。确保将"部署模式"设置为"独立",并将"目标运行时"设置为"linux-arm64"。

    • 如果使用的是 .NET CLI,请将 --runtime linux-arm64--self-contained 参数与 dotnet publish 命令结合使用:

      复制代码
      dotnet publish --runtime linux-arm64 --self-contained

    如果使用 32 位 OS,则需要面向 linux-arm 运行时。

  2. 使用 SFTP 客户端(如 scp),将文件从开发计算机上的发布位置复制 设备 文件夹中。

  3. 在设备的提示符(本地或 SSH)运行应用。

    1). 为可执行文件提供执行权限(其中 HelloWorld 是可执行文件的名称)。

    复制代码
    chmod +x HelloWorld

    2). 运行可执行文件:

    复制代码
    ./HelloWorld
相关推荐
追雨潮27 分钟前
BGE-M3 多语言向量模型实战:.NET C# 从原理到落地
开发语言·c#·.net
武藤一雄4 小时前
C#万字详解 栈与托管堆 的底层逻辑
windows·microsoft·c#·.net·.netcore
波波0074 小时前
.NET真的被上海信创排除在外?
.net
武藤一雄5 小时前
深入拆解.NET内存管理:从GC机制到高性能内存优化
windows·microsoft·c#·.net·wpf·.netcore·内存管理
江沉晚呤时5 小时前
深入理解 Akka.NET:高并发与分布式系统的利器
开发语言·c#·.net
江沉晚呤时6 小时前
C# 高级多态揭秘:从虚函数表到性能优化实战
开发语言·c#·.net
追雨潮6 小时前
CLIP 多模态搜索实战:.NET + Python 跨语言图片检索
开发语言·python·.net
追雨潮7 小时前
从内存到 ES:.NET 企业级向量检索架构演进之路
elasticsearch·架构·.net
无风听海7 小时前
.NET10之HttpContext.RequestServices 深入解析
.net·asp.net core