.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
相关推荐
乙酸氧铍4 小时前
【imx6ul 学习笔记】Docker 运行百问网 imx6ul_qemu
linux·docker·arm·qemu·imx6ul
喵叔哟11 小时前
66.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--新增功能--自动记账
微服务·架构·.net
皮蛋sol周11 小时前
嵌入式学习数据结构(二)双向链表 内核链表
linux·数据结构·学习·嵌入式·arm·双向链表
故事不长丨1 天前
C#log4net详解:从入门到精通,配置、实战与框架对比
c#·.net·wpf·log4net·日志·winform·日志系统
fjhcom1 天前
Qwen2.5-0.5B 模型微调与部署完整教程
微调·部署·qwen
梁洪飞1 天前
pmu+power控制+pmic
arm开发·嵌入式硬件·arm
bjzhang751 天前
OneAuthCenter——一款基于 .NET打造的企业级 OAuth 2.0 / OpenID Connect 认证中心
.net·认证中心
步步为营DotNet2 天前
深度解析.NET 中Nullable<T>:灵活处理可能为空值的类型
java·前端·.net
csdn_aspnet2 天前
.NET 10 中的 ASP.NET Core:Blazor、API 和 OpenAPI 的重大更新
后端·asp.net·.net·.net10
TroubleBoy丶2 天前
麒麟V10-ARM架构Docker启动报错
运维·docker·容器·arm·麒麟v10