チュートリアル: Visual Studio Code を使用して .NET コンソール アプリケーションを発行する

このチュートリアルでは、他のユーザーが実行できるコンソール アプリを発行する方法について説明します。 発行では、アプリケーションを実行するために必要なファイルのセットを作成します。 ファイルを配置するには、それをターゲット マシンにコピーします。

.NET CLI はアプリの発行に使用されるため、必要に応じて Visual Studio Code 以外のコード エディターを使ってこのチュートリアルに従うことができます。

必須コンポーネント

アプリの発行

  1. Visual Studio Code を開始します。

  2. Visual Studio Code を使用して .NET コンソール アプリケーションを作成する」で作成した HelloWorld プロジェクト フォルダーを開きます。

  3. メイン メニューから [表示]>[ターミナル] の順に選択します。

    [HelloWorld] フォルダーでターミナルが開きます。

  4. 次のコマンドを実行します。

    dotnet publish --configuration Release
    

    既定のビルド構成は "デバッグ" であるため、このコマンドでは "リリース" ビルド構成を指定します。 リリース ビルド構成の出力には、最小限のシンボリック デバッグ情報が含まれており、完全に最適化されています。

    コマンドの出力は次の例のようになります。

    Microsoft (R) Build Engine version 16.7.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\net6.0\HelloWorld.dll
      HelloWorld -> C:\Projects\HelloWorld\bin\Release\net6.0\publish\
    

ファイルを検査する

この発行プロセスでは、フレームワークに依存する展開が既定で作成されます。これは、.NET ランタイムがインストールされているコンピューターで、発行されたアプリケーションが実行される展開の種類です。 発行されたアプリを実行するには、実行可能ファイルを使用するか、コマンド プロンプトから dotnet HelloWorld.dll コマンドを実行します。

次の手順で、発行プロセスによって作成されるファイルを確認します。

  1. 左側のナビゲーション バーで [エクスプローラー] を選択します。

  2. bin/Release/net6.0/publish を展開します。

    Explorer showing published files

    この図に示すように、発行された出力には次のファイルが含まれます。

    • HelloWorld.deps.json

      このファイルは、アプリケーションのランタイム依存関係ファイルです。 アプリの実行に必要な .NET コンポーネントとライブラリ (アプリケーションが含まれる動的リンク ライブラリを含む) を定義します。 詳細については、「ランタイム構成ファイル」を参照してください。

    • HelloWorld.dll

      これは、フレームワークに依存する展開バージョンのアプリケーションです。 このダイナミック リンク ライブラリを実行するには、コマンド プロンプトで dotnet HelloWorld.dll を入力します。 このアプリの実行方法は、.NET ランタイムがインストールされている任意のプラットフォームで動作します。

    • HelloWorld.exe (Linux では HelloWorld、macOS では作成されません。)

      これは、フレームワークに依存する実行可能ファイル バージョンのアプリケーションです。 ファイルはオペレーティング システム固有のものです。

    • HelloWorld.pdb (配置は省略可能)

      これは、デバッグ シンボル ファイルです。 このファイルはアプリケーションと一緒に配置する必要はありませんが、発行されるバージョンのアプリケーションをデバッグする必要がある場合に保存しておく必要があります。

    • HelloWorld.runtimeconfig.json

      これは、アプリケーションのランタイム構成ファイルです。 ビルドされたアプリケーションの実行対象となる .NET のバージョンを識別します。 構成オプションを追加することもできます。 詳細については、.NET ランタイム構成設定に関する記事を参照してください。

発行済みアプリを実行する

  1. エクスプローラーで、publish フォルダーを右クリック (macOS では Ctrl キーを押しながらクリック) して、 [ターミナルで開く] を選択します。

    Context menu showing Open in Terminal

  2. Windows または Linux では、実行可能ファイルを使用してアプリを実行します。

    1. Windows では、.\HelloWorld.exe を入力して、Enter キーを押します。

    2. Linux では、./HelloWorld を入力して、Enter キーを押します。

    3. プロンプトに応答して名前を入力し、任意のキーを押して終了します。

  3. 任意のプラットフォームで、dotnet コマンドを使用してアプリを実行します。

    1. dotnet HelloWorld.dll」と入力して、Enter キーを押します。

    2. プロンプトに応答して名前を入力し、任意のキーを押して終了します。

その他の技術情報

次の手順

このチュートリアルでは、コンソール アプリを発行しました。 次のチュートリアルでは、クラス ライブラリを作成します。

このチュートリアルでは、他のユーザーが実行できるコンソール アプリを発行する方法について説明します。 発行では、アプリケーションを実行するために必要なファイルのセットを作成します。 ファイルを配置するには、それをターゲット マシンにコピーします。

.NET CLI はアプリの発行に使用されるため、必要に応じて Visual Studio Code 以外のコード エディターを使ってこのチュートリアルに従うことができます。

必須コンポーネント

アプリの発行

  1. Visual Studio Code を開始します。

  2. Visual Studio Code を使用して .NET コンソール アプリケーションを作成する」で作成した HelloWorld プロジェクト フォルダーを開きます。

  3. メイン メニューから [表示]>[ターミナル] の順に選択します。

    [HelloWorld] フォルダーでターミナルが開きます。

  4. 次のコマンドを実行します。

    dotnet publish --configuration Release
    

    既定のビルド構成は "デバッグ" であるため、このコマンドでは "リリース" ビルド構成を指定します。 リリース ビルド構成の出力には、最小限のシンボリック デバッグ情報が含まれており、完全に最適化されています。

    コマンドの出力は次の例のようになります。

    Microsoft (R) Build Engine version 16.7.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\net5.0\HelloWorld.dll
      HelloWorld -> C:\Projects\HelloWorld\bin\Release\net5.0\publish\
    

ファイルを検査する

この発行プロセスでは、フレームワークに依存する展開が既定で作成されます。これは、.NET ランタイムがインストールされているコンピューターで、発行されたアプリケーションが実行される展開の種類です。 発行されたアプリを実行するには、実行可能ファイルを使用するか、コマンド プロンプトから dotnet HelloWorld.dll コマンドを実行します。

次の手順で、発行プロセスによって作成されるファイルを確認します。

  1. 左側のナビゲーション バーで [エクスプローラー] を選択します。

  2. bin/Release/net5.0/publish を展開します。

    Explorer showing published files

    この図に示すように、発行された出力には次のファイルが含まれます。

    • HelloWorld.deps.json

      このファイルは、アプリケーションのランタイム依存関係ファイルです。 アプリの実行に必要な .NET コンポーネントとライブラリ (アプリケーションが含まれる動的リンク ライブラリを含む) を定義します。 詳細については、「ランタイム構成ファイル」を参照してください。

    • HelloWorld.dll

      これは、フレームワークに依存する展開バージョンのアプリケーションです。 このダイナミック リンク ライブラリを実行するには、コマンド プロンプトでdotnet HelloWorld.dll を入力します。 このアプリの実行方法は、.NET ランタイムがインストールされている任意のプラットフォームで動作します。

    • HelloWorld.exe (Linux では HelloWorld、macOS では作成されません。)

      これは、フレームワークに依存する実行可能ファイル バージョンのアプリケーションです。 ファイルはオペレーティング システム固有のものです。

    • HelloWorld.pdb (配置は省略可能)

      これは、デバッグ シンボル ファイルです。 このファイルはアプリケーションと一緒に配置する必要はありませんが、発行されるバージョンのアプリケーションをデバッグする必要がある場合に保存しておく必要があります。

    • HelloWorld.runtimeconfig.json

      これは、アプリケーションのランタイム構成ファイルです。 ビルドされたアプリケーションの実行対象となる .NET のバージョンを識別します。 構成オプションを追加することもできます。 詳細については、.NET ランタイム構成設定に関する記事を参照してください。

発行済みアプリを実行する

  1. エクスプローラーで、publish フォルダーを右クリック (macOS では Ctrl キーを押しながらクリック) して、 [ターミナルで開く] を選択します。

    Context menu showing Open in Terminal

  2. Windows または Linux では、実行可能ファイルを使用してアプリを実行します。

    1. Windows では、.\HelloWorld.exe を入力して、Enter キーを押します。

    2. Linux では、./HelloWorld を入力して、Enter キーを押します。

    3. プロンプトに応答して名前を入力し、任意のキーを押して終了します。

  3. 任意のプラットフォームで、dotnet コマンドを使用してアプリを実行します。

    1. dotnet HelloWorld.dll」と入力して、Enter キーを押します。

    2. プロンプトに応答して名前を入力し、任意のキーを押して終了します。

その他の技術情報

次の手順

このチュートリアルでは、コンソール アプリを発行しました。 次のチュートリアルでは、クラス ライブラリを作成します。

このチュートリアルは、.NET 5 と .NET 6 でのみ使用できます。 ページ上部のこれらのオプションのいずれかを選択します。