0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

最速で.NETにVSCodeで入門してみた。

Last updated at Posted at 2024-06-13

.NETダウンロード

公式ダウンロードページにアクセスすべし。すぐにインストールが完了する。必要なのは500MBほど。

C# Dev Kitをインストールする

VSCodeのエクステンションC# Dev Kitをインストールする。
image.png
これでVS Codeでの.Netの環境を整えてくれる。

Hello world!まで

VSCodeでMacならcmd+Shift+Pでパネルを開く。
image.png
.Net: New Projectを選択。
image.png
Console Appを選択し、プロジェクト名(私の場合はConsoleApp1)を入力すると自動的にファイル達が生成される。

コードはProgram.csにかかれる

実行

dotnet run

で実行!Hello worldが表示される。

Packageをインストールする

Microsoftの公式チュートリアルによると、Password generatorというものを練習例としているのでやってみる。
.NetのパッケージマネージャーはNuGetというものらしい。
https://www.nuget.org/
これにアクセスしてPassword generatorを検索する。

using PasswordGenerator;

var pwd = new Password();
var password = pwd.Next();
Console.WriteLine(password.ToString());
  1. using PasswordGenerator;
    この行は、PasswordGeneratorという名前空間を使用していることを示している。これにより、PasswordGenerator内のクラスやメソッドをコード内で使用することが可能となる。

  2. var pwd = new Password();
    この行は、Passwordクラスの新しいインスタンスを作成し、それをpwdという変数に代入している。Passwordクラスはパスワードを生成する機能を持っていると考えられる。

  3. var password = pwd.Next();
    この行は、pwdオブジェクトのNextメソッドを呼び出し、その結果をpasswordという変数に代入している。Nextメソッドは次のパスワードを生成するメソッドであると考えられる。

  4. Console.WriteLine(password.ToString());
    この行は、passwordオブジェクトを文字列に変換し(もし既に文字列でない場合)、それをコンソールに出力している。

ディレクトリ構造

一番気になったのがディレクトリ構造。普段pythonやTypescriptなので初見「なにこれ。。」って感じでした。

image.png
image.png

調べた結果を以下に記します。

もちろんです。以下にである調で解説いたします。

概要

  1. ConsoleApp1 フォルダ:

    • これはメインのプロジェクトディレクトリである。
  2. bin/Debug/net8.0 フォルダ:

    • ConsoleApp1: ビルド後に生成された実行可能ファイルである。
    • ConsoleApp1.deps.json: アプリケーションに必要な依存関係を含むファイルである。
    • ConsoleApp1.dll: プロジェクトのコンパイル後の出力である .NET アセンブリである。
    • ConsoleApp1.pdb: デバッグ用の情報が含まれているファイルである。
    • ConsoleApp1.runtimeconfig.json: アプリケーションのランタイム設定を含むファイルである。
    • PasswordGenerator.dll: NuGet を通じてインストールされた PasswordGenerator パッケージのコンパイル後の出力である。
  3. obj/Debug フォルダ:

    • これはビルドプロセス中に使用される中間ファイルを含むフォルダである。
    • ConsoleApp1.csproj.nuget.dgspec.json: NuGet パッケージ情報が含まれている。
    • ConsoleApp1.csproj.nuget.g.props および ConsoleApp1.csproj.nuget.g.targets: これらのファイルには NuGet パッケージのビルドプロパティおよびターゲットが含まれている。
    • project.assets.json: プロジェクトの依存関係およびアセット情報が含まれている。
    • project.nuget.cache: NuGet によって使用されるキャッシュファイルである。
  4. ConsoleApp1.csproj:

    • これはプロジェクトファイルで、プロジェクトの設定、依存関係、およびビルド設定を定義するものである。
  5. Program.cs:

    • これはアプリケーションのコードが含まれているメインの C# ソースファイルである。
  6. MyFirstConsoleApp.sln:

    • これはソリューションファイルで、複数のプロジェクトを含むソリューション全体に関する情報が含まれている。

他のプログラミング言語との主な違い

  1. bin および obj フォルダ:

    • bin フォルダには、ビルドプロセスの出力(実行可能ファイルや DLL)が含まれている。
    • obj フォルダには、ビルドプロセス中に使用される中間ファイルが含まれている。これにより、ビルドパフォーマンスが向上し、ビルドごとに再生成する必要がなくなる。
  2. csproj ファイル:

    • .csproj ファイルは、XML を使用してプロジェクト設定、コンパイラオプション、プロジェクト参照、NuGet パッケージ参照などを定義するプロジェクトファイルである。JavaScript の package.json や Python の requirements.txt と似ているが、より詳細に設定できる。
  3. NuGet パッケージ:

    • NuGet は .NET のパッケージマネージャーである。PasswordGenerator のようなパッケージをインストールすると、そのパッケージと依存関係がプロジェクトにダウンロードされ、プロジェクトの設定に参照が追加される。

以上

参考資料

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?