2
2

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.

UbuntuでC#のアプリを開発する

Last updated at Posted at 2021-05-03

はじめに

C#のアプリを開発するための環境をUbuntu20.04.2LTSサーバ上につくります。MacからVS Codeを使用してUbuntuにリモート接続します。
WindowsでWSLにインストールしたUbuntuに「Remote - WSL」で接続すれば、同じ方法で、Windows側のVS Codeで開発とデバッグができます。
VS Codeの操作の詳細は記載していません。VS Codeにすでに慣れている方を対象としています。

用意するもの

Ubuntu20.04.2LTS サーバ
Mac
VS Code

SSHでサーバに接続

VS Codeに「Remote - SSH」拡張機能をインストールします。
UbuntuサーバにVS Codeから「Remote - SSH」で接続します。

Ubuntu20.04.2LTS サーバのセットアップ

今回は、UbuntuサーバをMacのVM上(parallels desktop)に作成しました。
クラウドでも実マシンでも要領は同じだと思います。

VS Codeのターミナルから以下のコマンドを実行します。

.Net 5.0をapt-getでインストールできるようにします。

wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb

.Net 5.0 SDKをインストールします。

sudo apt-get update
sudo apt-get install -y apt-transport-https
sudo apt-get install -y dotnet-sdk-5.0

VS Code

次に、Ubuntuサーバでデバッグ等が行えるように、C#の拡張機能をインストールします。リモート接続した状態で、「C# ms-dotnettools.csharp」を表示すると、図のようにinstall in SSH: xxx.xxx.xxx.xxxと表示されます。この状態で、インストールすると拡張機能がUbuntu側にインストールされます。Mac側には必要ありません。
スクリーンショット 2021-05-02 18.20.43.png

プロジェクトの作成

VS Codeのターミナルから以下のコマンドを実行してプロジェクト作成します。

dotnet new console --name CSharpTest

ここで、フォルダを開いている場合は、一旦フォルダを閉じて、CSharpTestフォルダを開きます。
次に、メニューからTerminal->Run Build Taskを選択すると、右下にC#の拡張機能がビルドの設定を作成するかどうか聞いてくるので、Yesを選択します。

スクリーンショット 2021-05-03 15.34.20.png

プロジェクトフォルダ(この例では、CSharpTest)に、.vscodeフォルダが作成され、その中に、ビルド(tasks.json)と実行(launch.json)の設定ファイルが作成されます。
うまくいかなかった場合、.vscodeフォルダを削除して、sshを切断してからやり直します。
また、プロジェクトのフォルダを開いた状態で行わないと、.vscodeが変な場所に作成されてしまってうまくいかないことがあります。

スクリーンショット 2021-05-03 15.36.37.png

#ビルドとデバッグ

三角マークに虫のアイコンがあるボタンを押すと Runボタンが表示されます。

スクリーンショット 2021-05-03 15.49.59.png
なぜか、.NET Core Launch(console)が2つ表示されていますが同じものです。(バグ?)
Launchが選択されていることを確認します。
スクリーンショット 2021-05-03 15.49.54.png
Runボタンを押すとデバッグ実行されます。
ブレークポイントを設定しておくと、ブレークポイントで停止します。
スクリーンショット 2021-05-03 15.54.56.png

まとめ

サーバサイドのプログラムをMacのVS Codeから開発、デバッグできるようになりました。
VS Codeは便利で大好きなのですが、うまくいかないとなかなか解決できずにハマってしまうので、いろいろ使い方をまとめていきたいと思います。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?