共用方式為


教學課程:使用Visual StudioCode發佈 .NET 控制台應用程式

本教學課程示範如何發佈主控台應用程式,以便其他使用者執行它。 發佈會建立執行應用程式所需的一組檔案。 若要部署檔案,請將檔案複製到目標計算機。

.NET CLI 可用來發佈應用程式,因此如果您想要的話,您可以使用 Visual Studio Code 以外的程式碼編輯器來遵循本教學課程。

先決條件

發佈應用程式

  1. 啟動 Visual Studio Code。

  2. 開啟您在 使用 Visual Studio Code建立 .NET 控制台應用程式中所建立 HelloWorld 項目資料夾。

  3. 從主功能表中選擇 檢視>終端機

    終端機會在 HelloWorld 目錄中開啟。

  4. 執行下列命令:

    dotnet publish
    

    默認建構組態是 Release,適用於在生產環境中執行的已部署的網站。 發行版組建設定的輸出含有最小的符號偵錯資訊,並已完全優化。

    命令輸出類似於下列範例:

    Microsoft (R) Build Engine version 17.8.0+b89cb5fde for .NET
    Copyright (C) Microsoft Corporation. All rights reserved.
      Determining projects to restore...
      All projects are up-to-date for restore.
      HelloWorld -> C:\Projects\HelloWorld\bin\Release\net8.0\HelloWorld.dll
      HelloWorld -> C:\Projects\HelloWorld\bin\Release\net8.0\publish\
    

檢查檔案

根據預設,發佈程式會建立架構相依部署,這是一種部署類型,其中已發行的應用程式會在已安裝 .NET 運行時間的計算機上執行。 若要執行已發佈的應用程式,您可以使用可執行檔,或從命令提示字元執行 dotnet HelloWorld.dll 命令。

在下列步驟中,您將查看發行程式所建立的檔案。

  1. 選取左側導覽列中的 瀏覽器

  2. 展開 bin/Release/net8.0/publish

    瀏覽器顯示已發行檔案

    如下圖所示,已發佈的輸出包含下列檔案:

    • HelloWorld.deps.json

      這是應用程式的運行時間相依性檔案。 它會定義執行應用程式所需的 .NET 元件和連結庫(包括包含您應用程式的動態連結庫)。 如需詳細資訊,請參閱 運行時間組態檔。

    • HelloWorld.dll

      這是 架構相依部署的應用程式 版本。 若要執行此動態連結庫,請在命令提示字元中輸入 dotnet HelloWorld.dll。 執行應用程式的這個方法可在已安裝 .NET 運行時間的任何平台上運作。

    • HelloWorld.exeLinux 或 macOS 上的 HelloWorld。)

      這是應用程式 版本的 架構相依可執行檔。 檔案是操作系統特定的。

    • HelloWorld.pdb (部署時可選用)

      這是偵錯符號檔案。 您不需要將這個檔案與應用程式一起部署,但您應該保存它,以便在需要偵錯您應用程式的發行版本時使用。

    • HelloWorld.runtimeconfig.json

      這是應用程式的運行時間組態檔。 它會識別應用程式建置用來執行之 .NET 的版本。 您也可以將組態選項新增至其中。 如需詳細資訊,請參閱.NET 運行時間組態設定。

執行已發佈的應用程式

  1. Explorer中,以滑鼠右鍵按兩下 [發佈] 資料夾(Ctrl-click on macOS),然後 選取 [在整合式終端機中開啟]

    顯示 [終端機] 中開啟的 [操作] 功能表

  2. 在 Windows 或 Linux 上,使用可執行檔執行應用程式。

    1. 在 Windows 上,輸入 .\HelloWorld.exe,然後按 Enter

    2. 在 Linux 上,輸入 ./HelloWorld,然後按 Enter

    3. 輸入名稱以回應提示,然後按 Enter 結束。

  3. 在任何平臺上,使用 dotnet 命令執行應用程式:

    1. 輸入 dotnet HelloWorld.dll,然後按 Enter

    2. 輸入名稱以回應提示,然後按 Enter 結束。

其他資源

後續步驟

在本教學課程中,您已發布一個主控台應用程式。 在下一個教學課程中,您會建立類別庫。