備註
下列顯示使用 Unix 的命令行範例。
dotnet pack如這裡所示的命令在 Windows 上的運作方式相同。
.NET Standard 和 .NET Core 連結庫預期會以 NuGet 套件的形式散發。 事實上,這正是所有 .NET Standard 函式庫的分發和使用方式。 使用 dotnet pack 命令是最容易完成的方式。
假設您剛剛撰寫了一個很棒的新程式庫,並且想要透過 NuGet 發佈。 您可以使用跨平臺工具來建立 NuGet 套件,以確實執行此動作! 下列範例假設 SuperAwesomeLibrary 針對netstandard1.0作為目標。
如果您有可轉移的相依性,也就是相依於另一個套件的專案,請務必先使用 dotnet restore 命令還原整個方案的套件,再建立 NuGet 套件。 若無法這麼做,會導致 dotnet pack 命令無法正常運作。
您不必執行 dotnet restore,因為其會由需要進行還原的所有命令隱含執行,例如 dotnet new、dotnet build、dotnet run、dotnet test、dotnet publish 和 dotnet pack。 若要停用隱含還原,請使用 --no-restore 選項。
dotnet restore 命令在適合進行明確還原的特定案例中仍可派上用場,例如 Azure DevOps Services 中的持續整合組建,或在需要明確控制何時進行還原的組建系統中。
若要了解如何管理 NuGet 套件源,請參閱 dotnet restore 文件。
確保套件還原之後,您可以移動到函式庫所在的目錄:
cd src/SuperAwesomeLibrary
然後,它只是命令行中的單一命令:
dotnet pack
您的 /bin/Debug 資料夾現在看起來會像這樣:
$ ls bin/Debug
netstandard1.0/
SuperAwesomeLibrary.1.0.0.nupkg
SuperAwesomeLibrary.1.0.0.symbols.nupkg
這會產生可進行偵錯的套件。 如果您想要使用發行二進位檔建置 NuGet 套件,只需要新增 --configuration (或 -c) 參數,並使用 release 作為自變數。
dotnet pack --configuration release
您的 /bin 資料夾現在會有一個 發行 資料夾,其中包含具有發行二進位檔的 NuGet 套件:
$ ls bin/release
netstandard1.0/
SuperAwesomeLibrary.1.0.0.nupkg
SuperAwesomeLibrary.1.0.0.symbols.nupkg
現在您已擁有發行 NuGet 套件所需的檔案!
不要混淆dotnet pack與dotnet publish
請務必注意,在任何時間點都不牽涉到 dotnet publish 命令。
dotnet publish 指令是用於在相同封裝中部署應用程式及其所有相依性,而不是用來生成可透過 NuGet 散佈和取用的 NuGet 套件。