11
11

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 5 years have passed since last update.

VSCodeと.NETCore2.2でWebAPIプロジェクトを作成

Posted at

概要

  • ソリューションの作成(ついで)
  • WebAPIプロジェクトの作成
  • 実行

環境

  • LinuxMint 19.1
  • .NET Core 2.2
  • VSCode 1.33

実際に私が作業している環境の構築については以下を参照してください。

ソリューションの作成

複数のプロジェクトの管理ができるソリューション(sln)が作成できるようなのでついでにそれもやってみます。
image.png
空のリポジトリを作ったところからスタートです。

ソリューション作成コマンド
$ dotnet new sln

image.png
フォルダ名と同名のslnファイルが作成されました。

WebApiSample.sln
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26124.0
MinimumVisualStudioVersion = 15.0.26124.0
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|Any CPU = Debug|Any CPU
		Debug|x64 = Debug|x64
		Debug|x86 = Debug|x86
		Release|Any CPU = Release|Any CPU
		Release|x64 = Release|x64
		Release|x86 = Release|x86
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
EndGlobal

内容はこんな感じ

WebAPIプロジェクトの作成

webapiフォルダを作成してその中にプロジェクトを作成します。

WebAPI作成コマンド
$ mkdir webapi
$ cd webapi
$ dotnet new webapi

image.png
これでプロジェクトの作成はできましたがこれだけだとソリューションにこのプロジェクトが追加されないのでdotnet slnコマンドでslnファイルに作成したプロジェクトを追加します。

プロジェクトの追加
$ dotnet sln ../WebApiSample.sln add webapi.csproj
WebApiSample.sln
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "webapi", "webapi\webapi.csproj", "{D7546FD5-E5E5-4903-A12B-4F3C589A2D57}"

WebApiSample.slnを見てみると追加したプロジェクトの情報が色々と増えているようです。(上記以外にも結構増えていました)

$ cd ../でslnがあるフォルダに移動してdotnet buildを実行してみます。

build
$ dotnet build
.NET Core 向け Microsoft (R) Build Engine バージョン 16.0.450+ga8dc7f1d34
Copyright (C) Microsoft Corporation.All rights reserved.

  /home/(ユーザー名)/VSCode/github/WebApiSample/webapi/webapi.csproj の復元が 67.63 ms で完了しました。
  webapi -> /home/(ユーザー名)/VSCode/github/WebApiSample/webapi/bin/Debug/netcoreapp2.2/webapi.dll

ビルドに成功しました。
    0 個の警告
    0 エラー

経過時間 00:00:05.61

slnに追加されているプロジェクトが一括でビルドできるようになりました。
プロジェクト1つだけではあまり意味はないですが後々クラスライブラリとか追加するのが簡単にできそうです。

実行

ちゃんとプロジェクトが読み込めていれば「デバッグの開始」時にlaunch.jsonを作ってくれるみたいです。
デバッグができるかどうか確認するためにValuesControllerのGetメソッドにブレークポイントを設定して実行してみます。

ValuesController.cs
        // GET api/values
        [HttpGet]
        public ActionResult<IEnumerable<string>> Get()
        {
            return new string[] { "value1", "value2" }; //←ココにブレークポイントを設定
        }

「デバッグの開始」で実行するとブラウザが立ち上がってhttps://localhost:5001/にアクセスしようとします。(ブラウザの証明書エラーがでた場合は無視して続行してください)
.NET CoreのWebAPIテンプレートではこのURLにはなにもないので404エラーのページが表示されます。
image.png

ブラウザのアドレスバーにhttps://localhost:5001/api/valuesを入力してアクセスしてみます。
image.png
ブレークポイントで停止しました。デバッグはうまく動いているようです。
そのままF5で続行します。
ブラウザに["value1","value2"]が表示されました。
ここまでできれば後は好きなようにAPIを作ってサーバーに乗っけるだけですね。

最後に

Linuxに.NETCoreとVSCodeいれてWebAPIプロジェクトを作るところまでやってみました。
メモ書きレベルのものではありますが役に立てれば幸いです。

近いうちに.NETCore3.0が正式リリースされると思うのでそのときにバージョンアップする際のこととかで何かネタがあれば書くかも?

11
11
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
11
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?