.NET 应用程序 部署

news/2024/7/24 15:08:28/

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

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…

小程序如何使用防抖和节流?

防抖&#xff08;Debounce&#xff09;和节流&#xff08;Throttle&#xff09;都是用来优化函数执行频率的技术&#xff0c;特别在处理用户输入、滚动等频繁触发的情况下&#xff0c;它们可以有效减少函数的执行次数&#xff0c;从而提升性能和用户体验。但它们的工作方式和应…

【产品设计】消息通知系统设计

消息通知可以将内容实时送达用户手机页面&#xff0c;但是泛滥的消息通知会引起用户的反感&#xff0c;也违背了这个设计的初衷。 消息通知可以及时地将状态、内容的更新触达到用户&#xff0c;用户则可以根据收到的消息做后续判断。但是如果没有及时将重要消息触达到用户或者滥…

Unity 中检测射线穿过的所有的物体

在开发中 有个需求&#xff0c;射线要检测所有穿过的物体。 代码如下&#xff1a; using UnityEngine;public class HitCollider : MonoBehaviour {public float raycastDistance Mathf.Infinity;// Update is called once per framevoid Update(){Ray ray Camera.main.Scre…

WordPress获取文章所属分类名称或别名方法

最近在开发WordPress主题的时候&#xff0c;想要获取到文章所属分类名称或别名&#xff0c;想了半天没想到&#xff0c;于是去百度了下&#xff0c;马上就得到答案了。 非常简单&#xff0c;WordPress本身自带一个函数可以调出分类别名和链接&#xff1a; <?php the_cate…

C语言--结构体指针

结构体指针变量 引入&#xff1a; 指针就是地址&#xff0c;指针变量就是存放地址的变量 int a; int *p; p&a; 结构体也是变量 变量访问有两种方式&#xff1a;1.变量名 2.地址 struct Test t; struct Test *P; p&t; 通过结构体指针访问结构体&#xff1a;用’->来访…

2208. 将数组和减半的最少操作次数

2208. 将数组和减半的最少操作次数 给你一个正整数数组 nums 。每一次操作中&#xff0c;你可以从 nums 中选择 任意 一个数并将它减小到 恰好 一半。&#xff08;注意&#xff0c;在后续操作中你可以对减半过的数继续执行操作&#xff09; 请你返回将 nums 数组和 至少 减少一…

第五次作业 运维高级 构建 LVS-DR 集群和配置nginx负载均衡

1、基于 CentOS 7 构建 LVS-DR 群集。 LVS-DR模式工作原理 首先&#xff0c;来自客户端计算机CIP的请求被发送到Director的VIP。然后Director使用相同的VIP目的IP地址将请求发送到集群节点或真实服务器。然后&#xff0c;集群某个节点将回复该数据包&#xff0c;并将该数据包…

05 并发编程挑战,上下文切换问题,死锁问题,受限于硬件和软件的资源问题

JAVA多线程 并发编程上下文切换如何减少上下文切换减少上下文切换实战 死锁资源限制的挑战什么是资源限制资源限制引发的问题如何解决资源限制的问题在资源限制情况下进行并发编程 并发编程 有的并发程序写得不严谨&#xff0c;在并发下如果出现问题&#xff0c;定位起来会比较…

java的junit之异常测试、参数化测试、超时测试

1.对可能抛出的异常进行测试 异常本身是方法签名的一部分测试错误的输入是否导致特定的异常 summary 测试异常可以使用Test(expectedExceptio.class)对可能发生的每种类型的异常进行测试 2.参数化测试 如果待测试的输入和输出是一组数据&#xff1a; 可以把测试数据组织起…

Python数据类型相关问题

问题1:Python的基本数据类型 问题2:Python的可变数据类型和不可变数据类型 问题3:列表(list)和元组(tuple)的区别 问题4:集合(set)是怎样的一种数据类型,何时使用? 问题5:Python如何实现tuple和list的转换? 问题6:Python中基本数据结构的操作 问题7:列举字符串…

vue 路由页面跳转

从index.vue跳转到data.vue index.vue <el-table-column label"客户数" align"center" :show-overflow-tooltip"true"><template slot-scope"scope"><router-link :to"/system/enterprise-data/index/ scope.ro…

Mysql8.0变更特性

性能翻倍 账户与安全 用户的创建和授权 在MySQL之前的版本&#xff0c;创建用户和给创建的用户授权可以一条语句执行完成&#xff1a; grant all privileges on *.* to test% identified by suibowenkuangtu6;在MySQL 8中&#xff0c;创建用户和授权需要分开执行&#xff0c…