.NET 应用程序 部署

news/2024/10/23 3:40:38/

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

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

 


http://www.ppmy.cn/news/1015521.html

相关文章

座舱开发的“道”与“术”

前言: 近年来,随着汽车“新四化”浪潮的兴起,软件定义已成为产业共识,将深度参与到整个汽车的定义、开发验证销售以及服务全过程。一方面确保软件可升级,跨车型、软件甚至跨车企软件重用。另一方面对于硬来讲&#xf…

系统集成项目成本管理

在项目中,成本是指项目活动或其组成部分的货币价值或价格,包括为实施、完成或创造该活动或其组成部分所需资源的货币价值。具体的成本一般包括直接工时、其他百接费用、间接工时、其他间接费用以及采购价格。 项目全过程所耗用的各种成本的总和为项目成本…

C/C++面试总结

一、关键字static、const、extern、volatile作用 1、const 1.修饰常量 用const修饰的变量是不可变的,修饰后的变量只能使用,不能修改。 2.修饰指针 如果const位于*的左侧,eg:const int* a,则const就是用来修饰指针…

《合成孔径雷达成像算法与实现》Figure3.2

代码参数说明:Sf1为书中公式3.19,Sf2为时域信号快速傅里叶表达式,两种频谱表达式所做出的图可看出其区别 代码如下: clc clear all close all%参数设置 TBP 720; %时间带宽积 T 10e-6; %脉冲持续时间%参数计…

【MongoDB】数据库、集合、文档常用CRUD命令

目录 一、数据库操作 1、创建数据库操作 2、查看当前有哪些数据库 3、查看当前在使用哪个数据库 4、删除数据库 二、集合操作 1、查看有哪些集合 2、删除集合 3、创建集合 三、文档基本操作 1、插入数据 2、查询数据 3、删除数据 4、修改数据 四、文档分页查询 …

2023-08-08 LeetCode每日一题(任意子数组和的绝对值的最大值)

2023-08-08每日一题 一、题目编号 1749. 任意子数组和的绝对值的最大值二、题目链接 点击跳转到题目位置 三、题目描述 给你一个整数数组 nums 。一个子数组 [numsl, numsl1, …, numsr-1, numsr] 的 和的绝对值 为 abs(numsl numsl1 … numsr-1 numsr) 。 请你找出 …

【数据结构与算法】十大经典排序算法-快速排序

🌟个人博客:www.hellocode.top 🏰Java知识导航:Java-Navigate 🔥CSDN:HelloCode. 🌞知乎:HelloCode 🌴掘金:HelloCode ⚡如有问题,欢迎指正&#…

Maven 打包生成Windows和Liunx启动文件

新建一个springboot项目。 1、项目结构 2、pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocati…