dotnet publish 命令詳細介紹

dotnet publish 命令在線生成工具:https://ut32.com/tool/publish

發佈. NET Core 應用時,除了 IDE 集成的發佈功能外,我們還可以用 dotnet publish命令以達到更精細化操作,dotnet publish可以將應用及其依賴文件打包並放入一個文件夾,以便我們部署至生產環境。

在打包後的文件夾下,我們可以看到

注意,在. NET Core 2.0 之後,dotnet publish已經不再需要先執行 dotnet restore了。

dotnet publish 命令格式

dotnet publish[-h|--help][<PROJECT>][-c|--configuration][-f|--framework][--force][--manifest][--no-build][--no-dependencies][--no-restore][-o|--output][-r|--runtime][--self-contained][-v|--verbosity][--version-suffix]

-h|help

獲取幫助

PROJECT

要發佈的項目,可以是. csproj 文件路徑,也可以是包含. csproj 的文件夾路徑,如果不配置,默認發佈當前目錄下的項目。

-c|--configuration

定義生成配置,有 debug 和 release 兩個選項。不配置的話,默認爲 debug。

-f|--framework

指定目標框架,選項有 netcoreapp2.2,netcoreapp3.0,netcoreapp3.1。如果要發佈與項目文件. csproj 文件TargetFramework不一樣的版本,這裏就需顯示指定一下

--force

重新解析所有依賴,即便你剛執行過 dotnet restore (與刪除 project.assets.json 等效)

--manifest

指定一個或多個目標清單。

--no-build

發佈前不構建

--no-dependencies

只針對根目錄的項目,如果你根目錄項目依賴了項目 A,那麼項目 A 是不會包含進來的。

--no-restore

不執行 restore

-o|--output

輸出目錄,如果不指定位置,默認在當前目錄的 bin 目錄下。如果發佈成Self-Contained ,則在 ./bin/[configuration]/[framework]/[runtime]/publish/ 。否則就在 /bin/[configuration]/[framework]/publish/

-r|--runtime

指定運行時,常見有 linux-x64 win10-x64 等。

-v|--verbosity

配置打包時信息打印級別,可選項有 5 項。
q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]。從名字可以看出,越往後顯示的信息越詳細,如果發佈遇到錯誤,可以更改級別,方便排錯。

--version-suffix

配置版本後綴,比如項目中配置的版本是 1.2.*,如果你指定版本後綴爲 6,那麼發佈後的版本就是 1.2.6

--self-contained

如果目標機器沒有安裝. net core 運行時,可以使用此選項,發佈後可直接運行於目標機器。

出處:https://ut32.com/post/publish_cmd

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/JuYawk78plCZ3ETr3RmeMg