備忘録的な

プログラミングや機械学習に関する備忘録

Visual Studio CodeでC#のコンソールアプリを作成する

公式を読めばわかるのですが,毎回ググっているので備忘録としてまとめておきます.

準備

  1. .NET 5.0 SDKをインストールします.
  1. VSCodeを開いてC#拡張をインストールします.

f:id:canard0328:20210807105902p:plain

プロジェクトの作成

VSCodeでCtrl+@でターミナルを開き,以下のように入力するとC#のプロジェクトが作成されます.このとき,プロジェクト名はフォルダ名になります.

dotnet new console

依存パッケージなどがインストールされ,HelloWorldプロジェクトが自動生成されます.また,以下のような警告がでますので,Yesを選択します.
f:id:canard0328:20210807110929p:plain

アプリの実行

dotnet run

デバッグ用のターミナルの設定

  1. 自動生成された,.vscode/launch.jsonを開く
  1. consoleのところをinternalConsoleからintegratedTerminalに変更する

アプリの発行

dotnet publish --configuration Release
    • configurationは-cでも大丈夫です.

bin/Release/net5.0/publishフォルダに出力されたファイル一式を配布することで,作成したアプリを他のPCでも実行することが可能です.(pdbファイルは無くても大丈夫です)

自己完結型アプリを発行する

上記「アプリの発行」で作成したアプリは.NETが入っていないPCでは動きません..NETがないPCでも動作可能なアプリを発行するには以下のようにします.

dotnet publish -c Release -r win-x64

win-x64のところはここを参照して適宜変更します.このやり方ですとbin/Release/net5.0/win-x64/publishフォルダに数百のファイルが出力されます.次はこれをすっきりさせる方法です.

単一ファイルのアプリを発行する

csprojに以下のように追記してから先ほどと同じように自己完結型アプリを発行すると生成されるファイル数がだいぶ減ります(単一にはならないですけど...).

<PropertyGroup>
    <PublishSingleFile>true</PublishSingleFile>
</PropertyGroup>