.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
相关推荐
独小乐5 小时前
018.使用I2C总线EEPROM|千篇笔记实现嵌入式全栈/裸机篇
linux·笔记·单片机·嵌入式硬件·arm·信息与通信
宁&沉沦9 小时前
前端开发者学 .NET:零基础到部署上线
.net
我是唐青枫9 小时前
C#.NET ObjectPool 深入解析:对象复用、池化策略与使用边界
c#·.net
宁&沉沦10 小时前
.NET 常见文件与扩展名含义(速查)
.net
色空大师11 小时前
【Linux-安装nginx】
linux·运维·前端·nginx·部署
叫我黎大侠12 小时前
.NET 实战:调用千问视觉模型实现 OCR(车票识别完整教程)
阿里云·ai·c#·ocr·asp.net·.net·.netcore
唐青枫12 小时前
C#.NET ValueTaskSource 深入解析:零分配异步、ManualResetValueTaskSourceCore 与使用边界
c#·.net
公子小六12 小时前
基于.NET的Windows窗体编程之WinForms事件简介
windows·microsoft·c#·.net