Visual Studio Code で Web API(C#)を作成

Visual Studio Code 2019 icon by Icons8 C#

Visual Studio Code 2019 icon by Icons8

Visual Studio Code で Web API(C#)のサンプルを作った時(2021-10-16)のメモ。

参考サイト

参考にしたサイトは、基本的にはMS公式サイト

毎度のことながら、手順通りにやっても途中エラーで動かなかったので、備忘録。

 

環境

環境はwindows10 C# .NET5.0でやっています。

準備

まずは準備

  • 日本語がないパスにフォルダを作成
  • Visual Studio Codeのインストール(割愛します)
  • .NET5.0のSDKのインストール
  • Visual Studio上でC# for Visual Studio Codeの拡張機能をインストール

ちなみにVisual Studio Code のバージョンは以下の通り

バージョン: 1.61.1 (system setup)
コミット: c13f1abb110fc756f9b3a6f16670df9cd9d4cf63
日付: 2021-10-14T01:19:42.089Z
Electron: 13.5.1
Chrome: 91.0.4472.164
Node.js: 14.16.0
V8: 9.1.269.39-electron.0
OS: Windows_NT x64 10.0.19043

 

フォルダの作成

日本語を含まないパスでフォルダを作成します。

最近日本語の対応がまたよろしくなくなってきているような気がしますね。

 

.NET 5.0 SDKのインストール

次のリンクより作業PCに対応するインストーラーをダウンロードしてきます。

インストーラー

C# for Visual Studio Codeの拡張機能をインストール

C#でまだコード書いたりしていない場合は拡張機能をインストールします。

 

プロジェクトを作成

Visual Studio Code で次のコマンドを入力してプロジェクトを作成します。

dotnet new webapi -o TodoApi
cd TodoApi
dotnet add package Microsoft.EntityFrameworkCore.InMemory
code -r ../TodoApi

次のコマンドを実行し、HTTPS 開発証明書を信頼します。

dotnet dev-certs https --trust

 

プロジェクトをデバッグとその時のエラー解消方法

ここでエラーが出現します。

これだけではデバッグができませんでした。

ここに書いてあることを参考に解決しました。

結論としては

  • launch.jsonが自動で内容が作成されないので、「構成の追加」を行う。
  • tasks.jsonが作成されていないので作成する。(デバッグ時にエラーメッセージが出て作成するか聞いてくるのでそこで作成する。)

launch.jsonの作成例は次のとおり

{
    "version": "0.2.0",
    "configurations": [
        {
        "name": ".NET Core Launch (console)",
        "type": "coreclr",
        "request": "launch",
        "preLaunchTask": "build",
        "program": "${workspaceFolder}/bin/Debug/net5.0/TodoApi.dll",
        "args": [],
        "cwd": "${workspaceFolder}",
        "stopAtEntry": false,
        "console": "internalConsole"
        }
    ]
}

tasks.jsonの作成例は次のとおり

{
    "version": "2.0.0",
    "tasks": [
    {
        "label": "build",
        "command": "dotnet",
        "type": "shell",
        "args": [
            "build",
            // Ask dotnet build to generate full paths for file names.
            "/property:GenerateFullPaths=true",
            // Do not generate summary otherwise it leads to duplicate errors in Problems panel
            "/consoleloggerparameters:NoSummary"
        ],
        "group": "build",
        "presentation": {
            "reveal": "silent"
        },
            "problemMatcher": "$msCompile"
        }
    ]
}

 

発行方法

Webサイトに発行するためには

Publishフォルダを次のコマンドで作成します。

その後AzureなどのWebサイトに公開する形になります。

dotnet publish -c Release -o ./publish

 

 

コメント

タイトルとURLをコピーしました