[.NET8]MacにC# web api開発環境を整える

C#

2023年11月14日に.NET 8 が正式リリースされました。今回はLTSということで、個人開発にも使ってみたいと思い早速環境を準備していきます。

.NET 8の特徴

基本的にはがっつり新機能が追加されたというよりは.NET 7の機能強化版という位置付けです。jsonAPIパフォーマンスの向上、AI関係の機能強化等ありますが、新機能として.NET Aspireのプレビュー版も登場。今回新機能には触れませんが、何よりLTSということで、バージョンアップ先として候補に上がるのではないでしょうか。

色々と.NET coreに関しても色々と興味深い発表がありますが、英語が不得意なので日本語情報が増えてから追いたいと思います。逃げです。

Announcing .NET 8 - .NET Blog
Today Microsoft announced the availability of .NET 8, the latest version of one of the world’s leading programming languages and development platforms.

.NET8環境の準備

基本的には公式ページの手順を追えば問題無いと思います。

macOS に .NET をインストールする - .NET
.NET をインストールできる macOS のバージョンについて説明します。

まずは以下のページでインストーラをダウンロード。OSに対応したものをダウンロードしてくれるはずです。私はM系MacBook Proのため、Arm64Mac版をダウンロードします。

.NET のダウンロード (Linux、macOS、Windows)
Linux、macOS、および Windows で .NET アプリケーションを構築し、実行するための無料ダウンロード。.NET Framework、.NET、および ASP.NET 用のランタイム、SDK、および開発者パック。

起動するとインストーラが実行されます。

特に変更することはありませんでした。インストール完了後、ターミナルを起動し「dotnet」と打って認識されているか確認してください。

プロジェクトの作成

ターミナルにて以下のコマンドを入力して、作成可能なテンプレートを確認します。

dotnet new list

...以下結果。

テンプレート名      短い名前                    言語        タグ                      
------------------  --------------------------  ----------  --------------------------
API コントローラー  apicontroller               [C#]        Web/ASP.NET               
ASP.NET Core (空)   web                         [C#],F#     Web/Empty                 
ASP.NET Core gR...  grpc                        [C#]        Web/gRPC/API/Service      
ASP.NET Core We...  webapi                      [C#],F#     Web/Web API/API/Service   
ASP.NET Core We...  webapiaot                   [C#]        Web/Web API/API/Service   
ASP.NET Core We...  webapp,razor                [C#]        Web/MVC/Razor Pages       
ASP.NET Core We...  mvc                         [C#],F#     Web/MVC                   
Blazor Web アプリ   blazor                      [C#]        Web/Blazor/WebAssembly    
Blazor WebAssem...  blazorwasm                  [C#]        Web/Blazor/WebAssembly/PWA
....

(BlazorのPWA版とかあるんですね。。。)
このような感じで様々なテンプレートが表示されますが、今回はASP.NET Core Web APIです。

dotnet new webapi -n TestApi
cd TestApi
dotnet restore
dotnet run

するとプロジェクトが作成され実行されます。ポート番号は出力で確認し、URLにアクセスしてください。

http://localhost:5140/weatherforecast

※ルートにアクセスしても404になります。必ず「/weatherforecast」にアクセスしてください。

問題無いことが確認できたらvsCodeでフォルダを開きましょう。

vsCodeの設定

このままではvsCodeといえどC#環境が整っていないので、初期設定を行います。
この時点でvsCodeでプロジェクトフォルダを開くと、SDK関係でエラーが発生するかと思いますが気にしないでください。

まずは拡張機能の「C#」をインストール。また、「C# dev kit」もおすすめされるので入れておきましょう。dev kitはおそらく開発の終了が宣言されたVisual Studio for Macを意識してのことでしょうか。

このままだとvsCodeでSDKのパスを認識できませんので、Macの環境設定にパスを通します。

Finderを開き、隠しファイルを表示します。自分の環境では.zshrcに編集を加えることでパスが通るので、以下を追加しました。

/usr/local/share/dotnet


ex.
export PATH="...別のパス:/usr/local/share/dotnet"

※蛇足ですが環境変数は「:」で区切ります。

変更後、vsCodeを再起動してSDKパスエラーの通知が表示されないか確認してください。
まだ発生する場合はMacを再起動してみましょう。

終わり

こんな感じで最小構成のapi環境を準備することができました。.NETといえど、PHPやnodeレベルで開発環境構築は簡単なことが伝わりましたでしょうか?ぜひC#での開発、考えてみてください。

レンタルサーバはConohaWINGが最強にオススメ!

muchilogでは今までいろんなレンタルサーバやSaaSを使ってきましたが、今では全てをConohaWINGにて運営しています。

■今まで使ってきたサービス一覧
・さくらレンタルサーバ(ベーシックプラン)
・カゴヤ
・Azure
・AWS

今ではこのブログは勿論、webサービスのバックエンドやアプリのサーバ機能もConohaWINGで動かしています。
そんなConohaWINGのメリットをいくつか紹介します!

【国内最速No.1】高性能レンタルサーバーConoHa WING

無料で最大2個の独自ドメインが使える!

サイト運営に必要な独自ドメインをなんと無料で取得することが可能です!これだけでも月100円以上は運営費が節約できます。

優れた速度と安定感

私がAzureやさくらを解約した大きな理由はこれ。Conohaは非常に安定して稼働しており、ダウンタイムがほぼ発生しません。発生した場合は潔くお知らせしてくれます。
また、このブログは勿論、バックエンドとして動いてるプログラムも処理速度が大幅に向上しました(体感で倍速以上)。 Azure等のSaaSからレンタルサーバに移行するって普通考えられませんよね?しかし実際に大きなメリットを感じているのです。

頻繁に開催されるキャンペーン

ConohaWINGは半額に迫るようなキャンペーンを頻繁に開催しています。このキャンペーンによって、性能的には業界トップクラスであるにも関わらず、 月額料金換算で最安値クラスで使えるのです。
基本的に長期一括契約の方がお得になるため、muchilogでは最長で契約することをオススメします。価格と性能のバランスを考えれば他に乗り換えることも考えれられませんし。

レンタルサーバは必須です!

web系のプログラミング学習を進める際には、レンタルサーバの契約は必須と思ってください。ローカルの環境と本番環境で動作が違うことは良くありますし、ポートフォリオを公開するのも大切です。

学習や制作に集中するためにも、満足度、速度、安定度全てのレベルが高いConohaWINGを最強にオススメします!

web系サービス開発会社に転職したい!

muchilogではIT系へ転職したいという方には「自社サービスを運営しているweb系企業」への転職をおすすめしています。

web系は「自由な社風」「成長できる環境」「ホワイトな労働条件」であることが多いからです。

そんなweb系企業への転職を確実にするためのプログラミングスクールが登場しました。


RUNTEQ

RUNTEQはただのスクールじゃない!

RUNTEQはweb系の開発会社。開発会社が運営するスクールなので必要とされる技術力は勿論習得可能。しかしそれだけではないのです。

特にweb系で転職・就職活動を行う際にはポートフォリオを求められることがあります。ポートフォリオとは自分自身の作品のことで、技術力や企画力を示すものです。

RUNTEQではポートフォリオの作成を企画段階からサポートしてくれます!

他のプログラミングスクールでは提携企業の派遣やアルバイトとして就職するしかなかったりもしますが、RUNTEQはあなたの市場価値を高める方法まで教えてくれるということですね。

また、RUNTEQが扱う教材はどれも第一線で当たり前に使われている技術。特に未経験者の独学ではどうしてもスキルセットに穴が出来てしまいます。その点RUNTEQは確実に現場力を養えます。

そして2020年2月〜2021年12月までの内定者の98%がweb系企業に内定しています。これはRUNTEQの指導力とサポートが優れていることの証拠でしょう。

まずは無料説明会に申し込んではいかがでしょうか?

RUNTEQ


C# web
muchiをフォローする
MUCHILOG
タイトルとURLをコピーしました