Visual Studio Code で C# コンソールアプリケーションのデバッグとExeを生成
Visual Studio Code ができる子なので、開発環境をよせていってます。
C#のちょっとした検証とかを行うのに Visual Studio 立ち上げるのは重いので、Visual Studio Code でできるといい感じ。昔のSharpDevelopみたいに。って、今でもあるか。
ということで、以下を参考に構築する。
https://docs.microsoft.com/ja-jp/dotnet/csharp/getting-started/with-visual-studio-code
1. .NET Coreのインストール
1.1 .NET Core
https://docs.microsoft.com/ja-jp/dotnet/core/
Visual Studio CodeでC#を使うには、.NET Core SDK を使用する必要があるようだ。
.NET Core とは、すべての.NETランタイムで実行できることを目的としたAPIの正式仕様である .NET標準ライブラリを実装した、クロスプラットフォーム(Windows,macOs,Linux) で、オープンソース(MIT,apache2 ライセンス) な開発プラットフォーム。
.NET標準ライブラリ を通して、.NET Framework、Xamarin、Mono と互換性があり、Microsoftによってサポートされている。
自己完結型の展開 として、.NET Core ライブラリ、.NET Core ランタイムすべてをアプリケーションに含んで展開を行うことが可能となっている。
1.2 ダウンロードとインストール
https://www.microsoft.com/net/download/core
上記からSDKをダウンロードしてインストール。
2. C# 拡張機能のインストール
https://marketplace.visualstudio.com/items?itemName=ms-vscode.csharp
Visual Studio Codeを起動し、以下を実行
- Ctrl + p
- ext install csharp
- インストール
3. コンソールプロジェクトの作成
3.1 Visual Studio Code で、以下のキーを押下し端末を起動する。
Ctrl + @
3.2 コンソールプロジェクトの作成
PS C:\workspaces\vscode\cslesson> dotnet new cnsole
Hello world プロジェクトが作成された。
3.3 ビルドに必要な.NET Core パッケージにアクセス
PS C:\workspaces\vscode\cslesson> dotnet restore
4.実行
PS C:\workspaces\vscode\cslesson> dotnet run
実行された!
5.デバッグ
ブレークポイントをはったり、ステップ実行をする。
「Required assets to build and debug are missing from ‘{app name}’. Add them?」と聞かれるので、Yes を選択する。
F5 でデバッグ実行。
左端から、虫のアイコンを押して、上部の 再生ボタンから、「.NET Core launch(console)」の実行でもよい。歯車アイコンから、起動パラメータなどの設定も可能。
https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger.md
6.展開
Deployint .NET Core apps with command-line interface (CLI) tools
6.1 コンソール Exe アプリケーションを作成する。
プロジェクトファイル .csproj を開き、RuntimeIdentifiers に、対象ターゲットを指定する。
<PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>netcoreapp1.1</TargetFramework> <RuntimeIdentifiers>win10-x64</RuntimeIdentifiers> </PropertyGroup>
6.2 ビルド
> dotnet restore
デバッグビルド
> dotnet build
ターゲットを指定してビルド
> dotnet publish -c Release -r win10-x64
/bin/Release/netcoreapp1.1/win10-x64/ 以下に EXEが生成された。
実行してみる。
OK!