single.php

C#の[コンソール アプリ]と[コンソールアプリ(.NET Framework)]の違い

C#でコンソールアプリを作成する際に、プロジェクトが2種類あるので選択に迷うことがあります。それぞれについて備忘録的に投稿しています。

C# コンソール アプリ

後述の .NET Framework と比較するために何も書いてないですが[コンソール アプリ]を選択した場合は、.NET Coreをフレームワークとして選択してプロジェクトを作成します。

[コンソール アプリ]を選択した場合、プロジェクト設定はこんな感じ。

最後の追加設定では、.NET Coreのバージョンなどを変更します。

作成したプロジェクトの構成が、こんな感じ。エディターとして編集するのは[Program.cs]になります。

C# コンソール アプリ(.NET Framework)

.NET Framework を選択した場合は、従来のコンソールアプリとしてプロジェクトが作成されます。

[コンソール アプリ(.NET Framework)]を選択した場合、プロジェクト設定はこんな感じ。

[C# コンソール アプリ]とほぼ同じですが、フレームワークをこの画面で変更します。

[追加情報]画面は表示されず、作成したプロジェクトの構成が、こんな感じ。C#では見慣れた[App.config]や[AssemblyInfo.cs]などのファイルが並びます。

プログラム コード

[Program.cs]のコード記載にも違いがあります。

[コンソール アプリ]の場合には、アセンブリを記載する部分や、ネームスペースやクラス、Main関数なども省略されていてシンプルな書き出しになっています。

[コンソール アプリ(.NET Framework)]を選択した場合、こんな感じ。

見慣れた感じで、namespace、class、Main関数などが並んだ構成になっています。

プログラム コード

[Program.cs]のコード記載にも違いがあります。

[コンソール アプリ]の場合には[ターゲット OS]部分がありWindowsの他に、Linuxや macosなどを選択が可能になっています。

[コンソール アプリ(.NET Framework)]の場合は、動作するオペレーティングシステムがWindowsのみなので、シンプルな構成になっています。

まとめ

今回は短い記事ですが、Visual StudioのC#で作成するプロジェクトで[コンソール アプリ]と[コンソール アプリ(.NET Framework)]を選択した場合の違いについて紹介しました。

2つのプロジェクトの違いは、利用するフレームワークが[.NET Core]と[.NET Framework]があります。

つまり、大きな特徴としてWindows以外のオペレーティングシステムで動作させる予定があるのであれば[コンソール アプリ]で作成する利点があります。

逆に[コンソール アプリ(.NET Framework)]の場合は、Windows専用になるデメリットがありますが、豊富なアセンブリを組み込めたり生成される実行ファイルが小さくできるメリットがあります。

C#でコンソールアプリを作成する人の参考になれば幸いです。

スポンサーリンク

最後までご覧いただき、ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です