このチュートリアルでは、他のユーザーが実行できるようにコンソール アプリを発行する方法について説明します。 発行すると、アプリケーションを実行するために必要なファイルのセットが作成されます。 ファイルをデプロイするには、ファイルをターゲット コンピューターにコピーします。
.NET CLI を使用してアプリを発行します。
前提 条件
- このチュートリアルは、「Visual Studio Codeを使用して .NET コンソール アプリケーションを作成する
で作成するコンソール アプリと連携します。
アプリを発行する
Visual Studio Code を起動します。
Visual Studio Codeを使用して .NET コンソール アプリケーションを作成
で作成した HelloWorld プロジェクト フォルダーを開きます。メイン メニューから [表示]>[ターミナル] の順に選択します。
ターミナルが HelloWorld フォルダーに開きます。
次のコマンドを実行します。
dotnet publish既定のビルド構成は リリースであり、運用環境で実行されている展開済みサイトに適しています。 リリース ビルド構成からの出力には、最小限のシンボリック デバッグ情報があり、完全に最適化されています。
コマンドの出力は、次の例のようになります。
Restore complete (1.1s) HelloWorld net10.0 succeeded (7.8s) → bin\Release\net10.0\publish\ Build succeeded in 10.3s
「Visual Studio Code を使用して .NET コンソール アプリケーションを作成する」で作成した GitHub Codespace を開きます。
HelloWorld.csの先頭に 次のコード行を追加します。
#:property PublishAot=falseこのプロパティ ディレクティブは、ネイティブの事前コンパイル (AOT) を無効にし、アプリは実行時に標準の Just-In-Time (JIT) コンパイラを使用します。 発行された出力はフレームワークに依存します。
ターミナルで、 tutorials フォルダーにいることを確認します。
次のコマンドを実行します。
dotnet publish HelloWorld.csこのコマンドは、独立した実行可能ファイルを作成します。
コマンドの出力は、次の例のようになります。
Restore complete (0.5s) HelloWorld net10.0 succeeded (4.0s) → artifacts\HelloWorld\ Build succeeded in 5.1s
ファイルを検査する
既定では、発行プロセスによってフレームワークに依存する展開が作成されます。これは、.NET ランタイムがインストールされているコンピューターで発行済みアプリケーションが実行される展開の一種です。 発行されたアプリを実行するには、実行可能ファイルを使用するか、コマンド プロンプトから dotnet HelloWorld.dll コマンドを実行します。
次の手順では、発行プロセスによって作成されたファイルを確認します。
左側のナビゲーション バーで Explorer を選択します。
bin/Release/net10.0/publish を展開します。
発行されたファイル を示す
エクスプローラー 図に示すように、発行された出力には次のファイルが含まれています。
HelloWorld.deps.json
これは、アプリケーションのランタイム依存関係ファイルです。 アプリの実行に必要な .NET コンポーネントとライブラリ (アプリケーションを含むダイナミック リンク ライブラリを含む) を定義します。 詳細については、ランタイム構成ファイル
を参照してください。 HelloWorld.dll
これは、フレームワークに依存した展開のアプリケーション バージョンです。 このダイナミック リンク ライブラリを実行するには、コマンド プロンプトで「
dotnet HelloWorld.dll」と入力します。 このアプリの実行方法は、.NET ランタイムがインストールされている任意のプラットフォームで動作します。HelloWorld.exe (Linux または macOSHelloWorld)。
これは、アプリケーションの フレームワークに依存する実行可能ファイル バージョンです。 ファイルはオペレーティング システム固有です。
HelloWorld.pdb(デプロイの場合は省略可能)
これはデバッグ シンボル ファイルです。 このファイルをアプリケーションと共にデプロイする必要はありませんが、発行されたバージョンのアプリケーションをデバッグする必要がある場合は保存する必要があります。
HelloWorld.runtimeconfig.json
これは、アプリケーションのランタイム構成ファイルです。 これは、アプリケーションが実行するためにビルドされた .NET のバージョンを識別します。 構成オプションを追加することもできます。 詳細については、「.NET ランタイム構成設定 を参照してください。
単一ファイル アプリケーションの場合、発行プロセスによって、コンパイル済みのアセンブリ ファイルを含む成果物ディレクトリが作成されます。 発行されたアプリケーションは、 dotnet コマンドを使用して実行できます。
次の手順では、発行プロセスによって作成されたファイルを確認します。
左側のナビゲーション バーで Explorer を選択します。
成果物/HelloWorld を展開します。
発行されたファイル を示す
エクスプローラー 図に示すように、発行された出力には次のファイルが含まれています。
Helloworld
これは、アプリケーションの フレームワークに依存する実行可能ファイル バージョンです。 ファイルはオペレーティング システム固有です。 Codespaces は Linux 上で実行されるため、これは Linux 実行可能ファイルです。
HelloWorld.deps.json
これは、アプリケーションのランタイム依存関係ファイルです。 アプリの実行に必要な .NET コンポーネントとライブラリ (アプリケーションを含むダイナミック リンク ライブラリを含む) を定義します。 詳細については、ランタイム構成ファイル
を参照してください。 HelloWorld.dll
これは、フレームワークに依存した展開のアプリケーション バージョンです。 このダイナミック リンク ライブラリを実行するには、コマンド プロンプトで「
dotnet HelloWorld.dll」と入力します。 このアプリの実行方法は、.NET ランタイムがインストールされている任意のプラットフォームで動作します。HelloWorld.pdb(デプロイの場合は省略可能)
これはデバッグ シンボル ファイルです。 このファイルをアプリケーションと共にデプロイする必要はありませんが、発行されたバージョンのアプリケーションをデバッグする必要がある場合は保存する必要があります。
HelloWorld.runtimeconfig.json
これは、アプリケーションのランタイム構成ファイルです。 これは、アプリケーションが実行するためにビルドされた .NET のバージョンを識別します。 構成オプションを追加することもできます。 詳細については、「.NET ランタイム構成設定 を参照してください。
Codespaces からローカル コンピューターにファイルをダウンロードするには、右クリックして [ ダウンロード... ] を選択します。
発行済みアプリを実行する
エクスプローラーで、publish フォルダーを右クリック (macOS では Ctrl キーを押しながらクリック) して、[ターミナルで開く] を選択します。
Windows または Linux では、実行可能ファイルを使用してアプリを実行します。
Windows では、「
.\HelloWorld.exe」と入力し、キーを押してから、Enterキーを押します。Linux では、「
./HelloWorld」と入力し、キーを押して、Enterします。プロンプトに応答して名前を入力し、Enter キーを押して終了します。
任意のプラットフォームで、
dotnetコマンドを使用してアプリを実行します。「
」と入力し、Enter 押します。 プロンプトに応答して名前を入力し、Enter キーを押して終了します。
エクスプローラーで artifacts/HelloWorld フォルダーを右クリックし、[統合ターミナルで開く] を選択します。
実行可能ファイルを使用してアプリを実行します。 「
./HelloWorld」と入力し、 Enter キーを押します。プロンプトに応答して名前を入力し、Enter キーを押して終了します。
その他のリソース
リソースをクリーンアップする
GitHub は、非アクティブ状態が 30 日後に自動的に Codespace を削除します。 このシリーズのその他のチュートリアルを調べる予定がある場合は、Codespace をプロビジョニングしたままにしておくことができます。
.NET サイトにアクセスして .NET SDK をダウンロードする準備ができたら、Codespace を削除できます。 Codespace を削除するには、ブラウザー ウィンドウを開き、 Codespaces に移動します。 ウィンドウにコードスペースの一覧が表示されます。 learn チュートリアルのコードスペースのエントリで、3 つのドット (...) を選択します。 次に、[削除] を選択します。
次の手順
このチュートリアルでは、コンソール アプリを発行しました。 次のチュートリアルでは、クラス ライブラリを作成します。
Visual Studio Code を使用して .NET クラス ライブラリを作成する
.NET