在將一個 .NET CORE .NET 5.0 .NET 6.0 程序進(jìn)行獨立部署發(fā)布時,會在發(fā)布目錄產(chǎn)生很多系統(tǒng)類庫,導(dǎo)致目錄非常不簡潔。這給尋找入口程序造成了困難,特別是路遙工具箱這種綠色軟件,不會在開始菜單、系統(tǒng)桌面創(chuàng)建快捷方式,如此多的文件直接將小白用戶勸退。
獨立部署時會產(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 會將 .NET Core 軟件的運行時組件和依賴移動到一個子目錄中,讓發(fā)布文件看起來更簡潔漂亮。
路遙工具箱使用 NetCoreBeauty 優(yōu)化了目錄結(jié)構(gòu)
NetCoreBeauty 的開源地址在:https://github.com/nulastudio/NetCoreBeauty
如何使用 NetCoreBeauty
NetCoreBeauty 只適用于獨立部署發(fā)布模式的程序。
為項目添加 Nuget 引用
dotnet add package nulastudio.NetCoreBeauty
<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 --> <!-- 要移動到字母名稱,默認(rèn)是 libs 目錄,如果需要包含空格,請用雙引號括起來 --> <BeautyLibsDir>libraries</BeautyLibsDir> <!-- 設(shè)置一些你不想被移動或者不能被移動到子目錄的文件名,支持匹配。 --> <!-- 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> --> <!-- 如果不想執(zhí)行移動操作,可以設(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è)置倉庫鏡像,如果你不能鏈接到 GitHub 的話可以采用該設(shè)置。推薦大陸用戶打開這個配置。 --> <!-- 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>
以上中文翻譯來由碼農(nóng)很忙提供。
在你使用 dotnet publish 命令或者 Visual Studio 發(fā)布時,移動工作將自動進(jìn)行。
官方提供了一個測試項目,可以在這里看到源代碼:
https://github.com/nulastudio/NetCoreBeauty/tree/master/NetCoreBeautyNugetTest
路遙工具箱
路遙工具箱是筆者在學(xué)習(xí) WPF 時練手做的一個小工具,主要用于解決一些開發(fā)過程中常見的功能性需求,并將其自動化。截至目前,本工具已擁有十?dāng)?shù)項功能。
為了方便最終用戶,筆者在不久前將路遙工具箱設(shè)置為了獨立部署發(fā)布,本文正是筆者對該過程中遇到問題的解決方案記錄。
如果你對路遙工具箱感興趣,可以在這里下載:
本文摘自 :https://www.cnblogs.com/