使用 NetCoreBeauty 优化 .NET CORE 独立部署目录结构

在将一个 .NET CORE \ .NET 5.0 \ .NET 6.0 程序进行独立部署发布时,会在发布目录产生很多系统类库,导致目录非常不简洁。这给寻找入口程序造成了困难,特别是路遥工具箱这种绿色软件,不会在开始菜单、系统桌面创建快捷方式,如此多的文件直接将小白用户劝退。

68666fa957700798bef7b57bb33bb819.png
独立部署时会产生大量的系统文件,难以找到应用程序的入口。

使用 NetCoreBeauty 优化目录结构

NetCoreBeauty moves .NET Core app runtime components and dependencies into a sub-directory to make it beautiful.

NetCoreBeauty 会将 .NET Core 软件的运行时组件和依赖移动到一个子目录中,让发布文件看起来更简洁漂亮。

aaac9a6f1753cabb9e2b108e556c211c.png
路遥工具箱使用 NetCoreBeauty 优化了目录结构

NetCoreBeauty 的开源地址在:https://github.com/nulastudio/NetCoreBeauty

如何使用 NetCoreBeauty

NetCoreBeauty 只适用于独立部署发布模式的程序。

为项目添加 Nuget 引用:

dotnet add package nulastudio.NetCoreBeauty

编辑项目配置文件(*.csproj)应该和下面的代码类似:

<Project Sdk="Microsoft.NET.Sdk"><PropertyGroup><OutputType>Exe</OutputType><TargetFramework>netcoreapp2.1</TargetFramework><!-- beauty into sub-directory, default is libs, quote with "" if contains space  --><!-- 要移动到字母名称,默认是 libs 目录,如果需要包含空格,请用双引号括起来 --><BeautyLibsDir>libraries</BeautyLibsDir><!-- 设置一些你不想被移动或者不能被移动到子目录的文件名,支持匹配。--><!-- dlls that you don't want to be moved or can not be moved --><!-- <BeautyExcludes>dll1.dll;lib*;...</BeautyExcludes> --><!-- 最终用户不会使用到的文件,可以在这里配置隐藏掉。--><!-- dlls that end users never needed, so hide them --><!-- <BeautyHiddens>hostfxr;hostpolicy;*.deps.json;*.runtimeconfig*.json</BeautyHiddens> --><!-- 如果不想执行移动操作,可以设置为 True --><!-- set to True if you want to disable --><DisableBeauty>False</DisableBeauty><!-- set to True if you don't want to generate NetCoreBeauty flag file --><!-- do not beauty twice since there is no flag file to determine if beauty already --><NoBeautyFlag>False</NoBeautyFlag><ForceBeauty>False</ForceBeauty><!-- <BeautyAfterTasks></BeautyAfterTasks> --><!-- set to True if you want to disable --><DisablePatch>False</DisablePatch><!-- valid values: Error|Detail|Info --><BeautyLogLevel>Error</BeautyLogLevel><!-- 设置仓库镜像,如果你不能链接到 GitHub 的话可以采用该设置。推荐大陆用户打开这个配置。--><!-- set to a repo mirror if you have troble in connecting github --><!-- <GitCDN>https://gitee.com/liesauer/HostFXRPatcher</GitCDN> --><!-- <GitTree>master</GitTree> --></PropertyGroup><ItemGroup><PackageReference Include="nulastudio.NetCoreBeauty" Version="1.2.9.3" /></ItemGroup></Project>

以上中文翻译来由以下公众号提供

在你使用 dotnet publish 命令或者 Visual Studio 发布时,移动工作将自动进行。

官方提供了一个测试项目,可以在这里看到源代码:

https://github.com/nulastudio/NetCoreBeauty/tree/master/NetCoreBeautyNugetTest

路遥工具箱

路遥工具箱是笔者在学习 WPF 时练手做的一个小工具,主要用于解决一些开发过程中常见的功能性需求,并将其自动化。截至目前,本工具已拥有十数项功能。

为了方便最终用户,笔者在不久前将路遥工具箱设置为了独立部署发布,本文正是笔者对该过程中遇到问题的解决方案记录。

如果你对路遥工具箱感兴趣,可以在这里下载:

https://www.coderbusy.com/luyao-toolkit

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/291442.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ios之最简单的程序

1、构建学生对象并且打印相关信息 代码&#xff1a;#import <UIKit/UIKit.h> #import "AppDelegate.h"interface Student : NSObject //变量 property NSString *name; property int age; property float score;//method -(void)show;endimplementation Studen…

网站前端_EasyUI.基础入门.0009.使用EasyUI Layout组件的最佳姿势?

1. 基础布局<div id"l" class"easyui-layout" data-options"width:500,height:250"><div data-options"region:north,title:north,height:50"></div><div data-options"region:west,title:west,width:100&q…

MySQL数据库如何管理与维护_mysql数据库的管理与维护

mysql数据库的管理与维护云服务器(Elastic Compute Service&#xff0c;简称ECS)是阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS(Infrastructure as a Service)级别云计算服务。云服务器ECS免去了您采购IT硬件的前期准备&#xff0c;让您像使用水、电、天然气等公共资源一样…

[转载]Javascript异步编程的4种方法

NodeJs的最大特性就是"异步" 目前在NodeJs里实现异步的方法中&#xff0c;使用“回调”是最常见的。 其实还有其他4种实现异步的方法&#xff1a; 在此以做记录 --- http://www.ruanyifeng.com/blog/2012/12/asynchronous%EF%BC%BFjavascript.html --- 你可能知道&am…

继 SpringBoot 3.0,Elasticsearch8.0 官宣:拥抱 Java 17

大家好&#xff0c;我是君哥。新版任你发&#xff0c;我用 Java 8&#xff0c;这可能是当下 Java 开发者的真实写照。不过时代可能真的要抛弃 Java 8&#xff0c;全面拥抱 Java 17 了。Spring Boot 3.0前些天&#xff0c;相信小伙伴们都注意到了&#xff0c;SpringBoot 发布了 …

文件下载

2019独角兽企业重金招聘Python工程师标准>>> public String downloadFile() {try {if (id ! null && !"".equals(id) && !"null".equals(id)) {ResourceFile rf resourceFile.getResourceFile(id);filename new String(rf.ge…

ios之Xcode工程中添加文件常用快捷键

1、Xcode某个工程中添加文件 有两种方式&#xff1a; 方式一&#xff1a;“command”&#xff0b;“n”&#xff0c;弹出添加文件对话框。 方式二&#xff1a;在需要添加文件的工程目录下右键&#xff0c;选择“New File…”。 以上方式Xcode会弹出下面的对话框&#xff1…

想说爱你不容易 | 使用最小 WEB API 实现文件上传(Swagger 支持)

前言上回&#xff0c;我们使用最小 WEB API 实现文件上传功能&#xff08;《想说爱你不容易 | 使用最小 WEB API 实现文件上传》&#xff09;&#xff0c;虽然客户端访问是正常的&#xff0c;但是当打开 Swagger 页面时&#xff0c;发现是这样的&#xff1a;没法使用 Swagger 页…

sql多表查询之一:Where 和 On的秘密

原文 sql多表查询之一&#xff1a;Where 和 On的秘密 对于还在SQL初级阶段的朋友来说&#xff0c;sql多表查询问题是一个比较有趣也容易出错的技术。什么时候会用到sql多表查询呢&#xff1f;是在两张或两张以上表单中通过某几个字段进行互联管理的时候&#xff0c;这就不得不说…

C#中类的override和virtual

欢迎您成为我的读者&#xff0c;希望这篇文章能给你一些帮助。前言昨天和大家一起学习类的派生&#xff0c;知道派生类和基类的区别。今天咱们一起看看派生类和基类的虚方法和覆写方法是如何使用的。我们使用基类引用访问派生类对象时&#xff0c;得到的是基类的成员。当使用虚…

内存中压缩图片

首先该文章是总结, 不是原创, 是通过看网上其他大神的文章和自己的一些实践总结出来的.一.图片的存在形式1.文件形式(即以二进制形式存在于硬盘上)2.流的形式(即以二进制形式存在于内存中)3.Bitmap形式这三种形式的区别: 文件形式和流的形式对图片体积大小并没有影响,也就是说,…

使用C# 探索 ML.NET 中的不同机器学习任务

什么是 ML.NET&#xff1f;ML.NET 是 Microsoft 开源的针对 .NET 应用程序的 跨平台机器学习库&#xff0c;允许您使用 C#、F# 或任何其他 .NET 语言执行机器学习任务。此外&#xff0c;ML.NET 支持在其他机器学习框架中构建的模型&#xff0c;如TensorFlow&#xff0c;ONNX&am…

【JavaWeb学习笔记】15 - jQuery

目录 零、官方文档 一、jQuery基本介绍 1.基本介绍 2.原理图 二、JQuery入门使用 1.下载JQuery 2.jQuery快速入门 三、jQuery对象 1.什么是jQuery对象? 2.DOM对象转换成jQuery对象 3.jQuery对象转成DOM对象 四、jQuery选择器 1.jQuery选择器介绍 2.基本选择器 3…

转义字符

2019独角兽企业重金招聘Python工程师标准>>> &quot; 这是HTML语言中的表示引号&#xff08;"&#xff09;的字符实体 常用表&#xff1a; No.文字表記10進表記16進表記文字 Comment001&quot;&#x22;""" quotation mark APL quote0…

JSP使用JSON传递数据,注意避免中文乱码

JSP传递数据时不方便使用Java中的对象类型&#xff0c;一般使用JSON来传递对象。 在使用JSON时&#xff0c;前端js如下&#xff0c;注意指定dataType&#xff1a; var htmlobj $.ajax({ url:"chat.do",type:"POST", data:{sayingContent:$("#textarea…

【求助】AIX5.3主机下 memcached的内存使用异常

2019独角兽企业重金招聘Python工程师标准>>> AIX5.3主机下 memcached 内存增长到256M后&#xff0c;就不增长了&#xff08;实际启动时设置的内存>2G&#xff09;&#xff1b; 测试发现在windows、Linux DLXEL02 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:39 EDT…

MASA Framework - DDD设计(1)

DDD领域驱动设计是一个有关软件开发的方法论&#xff0c;它提出基于领域开发的开发模式&#xff0c;基于DDD理论&#xff0c;我们可以设计出高质量的软件模型。它围绕业务概念构建领域模型来控制业务的复杂度&#xff0c;解决软件难以理解和演化的问题。微服务微服务是一种架构…

linux第二课

linux第二课关机 halt shutdown重启 reboot运行终端 gnome-terminalsystem-config-date 日期与时间firefox http://www.baidu.com 火狐打开百度gedit 文件名 文本编辑器转载于:https://blog.51cto.com/2732951/1899825

mysql的indata文件_【数据分析】MySQL之不能导入本地文件“Loading local data is disable;”...

今天在使用"利用MySQL的命令行进行CSV文件的导入"时&#xff0c;遇到了这样一个问题&#xff1a;提示本地文件无法导入&#xff0c;必须要"同时获得客户端和服务器端的许可"。很难受&#xff0c;于是上网搜了一下教程&#xff0c;最后综合了以下这几个网站…

经典语录和思考总结

研发类  科学研究&#xff0c;搞设计的 技术类  工程技术&#xff0c;搞实施的 管理类  工商管理&#xff0c;人为管理&#xff0c;。。。 功成名就 成功并不是一蹴而就的&#xff0c;成功分为“成”和“功”两个阶段&#xff0c;只有积累“功”&#xff0c;才能促使“成…