1. ホーム
  2. .net-core

[解決済み] EXEを出力する.NET Coreコンソールアプリケーションを構築する

2022-03-21 03:25:57

質問

.NET Core 1.0をターゲットとしたコンソールアプリケーションのプロジェクトで、ビルド中に.exeを出力させる方法がわかりません。プロジェクトはデバッグで問題なく実行されます。

プロジェクトを公開しようとしましたが、それもうまくいきません。EXE ファイルがプラットフォーム固有であることは理にかなっていますが、何か方法があるはずです。検索しても、project.jsonを使用する古い.NET Coreバージョンへの参照しか見つかりませんでした。

ビルドやパブリッシュをすると、いつもこれだけです。

解決方法は?

デバッグ用には、DLLファイルを使用することができます。を使って実行することができます。 dotnet ConsoleApp2.dll . EXE ファイルを生成したい場合は、自己完結型のアプリケーションを生成する必要があります。

自己完結型のアプリケーション(WindowsではEXE)を生成するには、ターゲットランタイム(ターゲットとするOSに固有のもの)を指定する必要があります。

プリ.NET Core 2.0のみ : まず、.csproj ファイルに対象のランタイム識別子を追加します( 対応RID一覧 ):

<PropertyGroup>
    <RuntimeIdentifiers>win10-x64;ubuntu.16.10-x64</RuntimeIdentifiers>
</PropertyGroup>

.NET Core 2.0から上記の手順が不要になりました。 .

そして、アプリケーションを公開する際に、希望のランタイムを設定します。

dotnet publish -c Release -r win10-x64
dotnet publish -c Release -r ubuntu.16.10-x64