56
47

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

C# を触ってみたいけど自分の環境に .NET の SDK 入れるの何か嫌だという人向けハローワールド

Last updated at Posted at 2020-03-23

以下の記事が思ったよりバズっててびっくりしたので気をよくして、これをきっかけに C# ちょっと気になるなという人向けの最初の、本当に最初に触ってみるための一歩を書いてみようと思います。

C# で出来ること一覧

コンソールアプリをブラウザーでお試し

この記事を書いた後に岩永さんから教えてもらいました。(知らなかったです)

Try .NET というのがあるんですね。補完も効いていい感じ。

image.png

英語ですが、これを使ったチュートリアルもありました。

Hello World - Introduction to C# interactive C# tutorial

本当にコンソールアプリで触ってみたいとかなら、これでもよさそう。

ローカルの VS Code で試してみたくて Web アプリも試したいという人は以下の VS Code + リモート開発をどうぞ。

Docker と VSCode を入れる

大体の人が既に入れてるよね?今回は、以下の 2 つが入ってることを前提に進めます。

VSCode のリモート開発拡張機能を入れる

まだ、プレビューなんですが Visual Studio Code のリモート開発拡張機能を入れます。

Remote Development

これを入れると Docker コンテナに繋いでホストマシンの VS Code でコード書いたりできます。

Hello world

  1. 適当な空のフォルダーを VS Code で開きます

  2. コマンドパレットから Remote-Containers: Add Development Container Configuration Files... を叩きます
    image.png

  3. 色々な言語などのリストが出てくるので C# .NET Core 3.1 を選びます
    image.png

  4. リモート開発用の構成ファイルが追加されます。

  5. .devcontainer/devcontainer.json"extensions":"ms-vscode.csharp" とありますが、これを "ms-dotnettools.csharp" に変更します。
    image.png

  6. コマンドパレットから Remote-Containers: Reopen in Container を実行します
       image.png

    • 初回は docker pull とか走るので時間がかかります。
  7. しばらくすると、コンテナーが立ち上がって VS Code のリモート開発機能でつながった状態になります

  8. ターミナルで dotnet -version とすると以下のような結果になるはずです。

    root@7d5755714aa7:/workspaces/VSCodeCSharp# dotnet --version
    3.1.100
    
  9. ターミナルで dotnet new console -o HelloWorld と打ち込んでプロジェクトを生成します。

  10. ターミナルで code -r HelloWorld を入力して HelloWorld フォルダーを開きます。

  11. コマンドパレットから .NET: Generate Assets for Build and Debug を実行するとデバッグやビルドに必要な tasks.jsonlaunch.json が追加されます。
    image.png

  12. この状態で、F5 を押すとデバッグできます。
    image.png

後は、C# を勉強するだけ!参考サイトは公式と、鉄板のサイトとしては岩永さんのサイトがあります。

この他にも Microsoft Learn という自己学習用のサイトにも C# のコースがあります。

この Microsoft Learn の C# のラーニングパスの何処かに変数宣言での var は使うな的なことが書いてありますが、個人的には var 使う派なので、そこは許せない。(個人の感想)

Web アプリもいけます

このコンテナ上で Web アプリの開発とデバッグも行けます。試しに ASP.NET Core Razor Pages でやってみましょう。
コンテナの作業フォルダーのルートに戻って以下のコマンドを実行します。

# dotnet new webapp -o HelloRazor

そして code -r HelloRazor コマンドでフォルダーを開きましょう。コンソールの時と同じ手順で tasks.jsonlaunch.json を追加します。そして、F5 で実行すると自動でポートフォワーディングの設定まで追加してくれて、ホストマシン側のブラウザーでコンテナー内の Web アプリが開きます。

image.png

まとめ

Visual Studio Code のリモート開発機能を使えばサクッと C# を始めることが出来ます。
とりあえず自前環境に .NET Core SDK は入れたくないけど、C# ちょっと触ってみたいなという人向けの 1 つの選択肢としてどうぞ!

56
47
1

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
56
47

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?