當(dāng)前位置:首頁(yè) > IT技術(shù) > Web編程 > 正文

使用 NetCoreBeauty 優(yōu)化 .NET CORE 獨(dú)立部署目錄結(jié)構(gòu)
2022-02-14 14:10:18

在將一個(gè) .NET CORE .NET 5.0 .NET 6.0 程序進(jìn)行獨(dú)立部署發(fā)布時(shí),會(huì)在發(fā)布目錄產(chǎn)生很多系統(tǒng)類庫(kù),導(dǎo)致目錄非常不簡(jiǎn)潔。這給尋找入口程序造成了困難,特別是路遙工具箱這種綠色軟件,不會(huì)在開(kāi)始菜單、系統(tǒng)桌面創(chuàng)建快捷方式,如此多的文件直接將小白用戶勸退。

獨(dú)立部署時(shí)會(huì)產(chǎn)生大量的系統(tǒng)文件,難以找到應(yīng)用程序的入口。

使用 NetCoreBeauty 優(yōu)化目錄結(jié)構(gòu)

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

NetCoreBeauty 會(huì)將 .NET Core 軟件的運(yùn)行時(shí)組件和依賴移動(dòng)到一個(gè)子目錄中,讓發(fā)布文件看起來(lái)更簡(jiǎn)潔漂亮。

路遙工具箱使用 NetCoreBeauty 優(yōu)化了目錄結(jié)構(gòu)

NetCoreBeauty 的開(kāi)源地址在:https://github.com/nulastudio/NetCoreBeauty

如何使用 NetCoreBeauty

NetCoreBeauty 只適用于獨(dú)立部署發(fā)布模式的程序。

為項(xiàng)目添加 Nuget 引用

dotnet add package nulastudio.NetCoreBeauty
編輯項(xiàng)目配置文件(*.csproj)應(yīng)該和下面的代碼類似:
<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  -->
    <!-- 要移動(dòng)到字母名稱,默認(rèn)是 libs 目錄,如果需要包含空格,請(qǐng)用雙引號(hào)括起來(lái) -->
    <BeautyLibsDir>libraries</BeautyLibsDir>
    <!-- 設(shè)置一些你不想被移動(dòng)或者不能被移動(dòng)到子目錄的文件名,支持匹配。 -->
    <!-- dlls that you don't want to be moved or can not be moved -->
    <!-- <BeautyExcludes>dll1.dll;lib*;...</BeautyExcludes> -->
    <!-- 最終用戶不會(huì)使用到的文件,可以在這里配置隱藏掉。 -->
    <!-- dlls that end users never needed, so hide them -->
    <!-- <BeautyHiddens>hostfxr;hostpolicy;*.deps.json;*.runtimeconfig*.json</BeautyHiddens> -->
    <!-- 如果不想執(zhí)行移動(dòng)操作,可以設(shè)置為 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>
    <!-- 設(shè)置倉(cāng)庫(kù)鏡像,如果你不能鏈接到 GitHub 的話可以采用該設(shè)置。推薦大陸用戶打開(kāi)這個(gè)配置。 -->
    <!-- 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>

以上中文翻譯來(lái)由碼農(nóng)很忙提供。

在你使用 dotnet publish 命令或者 Visual Studio 發(fā)布時(shí),移動(dòng)工作將自動(dòng)進(jìn)行。

官方提供了一個(gè)測(cè)試項(xiàng)目,可以在這里看到源代碼:

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

路遙工具箱

路遙工具箱是筆者在學(xué)習(xí) WPF 時(shí)練手做的一個(gè)小工具,主要用于解決一些開(kāi)發(fā)過(guò)程中常見(jiàn)的功能性需求,并將其自動(dòng)化。截至目前,本工具已擁有十?dāng)?shù)項(xiàng)功能。

為了方便最終用戶,筆者在不久前將路遙工具箱設(shè)置為了獨(dú)立部署發(fā)布,本文正是筆者對(duì)該過(guò)程中遇到問(wèn)題的解決方案記錄。

如果你對(duì)路遙工具箱感興趣,可以在這里下載:

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

本文摘自 :https://www.cnblogs.com/

開(kāi)通會(huì)員,享受整站包年服務(wù)立即開(kāi)通 >