ブログの説明

学校に通わないで学んだことを記しています。間違っているところが何かありましたらご指摘下さると幸いです。コメントに対する返信が遅れる可能性があります。その場合は申し訳ありません。

このブログではサイドバーに広告を表示しています。このブログ内の投稿記事を検索するには右上の拡大鏡のアイコンを、アーカイブやラベル付けから投稿記事を閲覧するには左上の三重線のアイコンをクリックして下さい。

数式の表示にはMathJaxを利用させていただいています。数式の表示のためにJavaScriptが有効である必要があります。そうでない場合、訳の分からないLatexのコードが表示されます。幾何学図形やチャートの表示にはHTML5 CanvasやGoogle Chartを使用しています。その表示のためにもJavaScriptが有効である必要があります。

Debian GNU/Linux 10とVisual Studio CodeでC#プログラミングの準備

.NET Coreは.NET Frameworkの後継とされているフレームワークであり、クロスプラットフォームに対応しており、WindowsとLinuxとMacOSで共通に動作するアプリを開発することができる。.NET CoreのソースコードはMITライセンスに基づいて公開されている。

.NET Core 3.1をDebian 10にインストールし、とりあえずVisual Studio CodeでHello World!を表示させるところまでやってみたので、その手順を簡単に書き留める。

ここではAPTによるインストール方法とSnappyによるインストール方法について扱う。これらのパッケージがサポートされていないLinuxディストリビューションの場合は、バイナリ・ファイルを手動でインストールする方法があり、公式サイトでそれが解説されている。

CPUアーキテクチャ
x86_64
カーネル
linux version 4.19.0-9-amd64
インストールされているもの
Debian GNU/Linux 10 (buster)
Visual Studio Code 1.47
インストールするもの
.NET Core SDK 3.1
.NET Core Runtime 3.1またはASP.NET Core Runtime 3.1
C# for Visual Studio Code(拡張機能)

.NET CoreのSDKとランタイムをダウンロードしてインストールすると、それらのライセンス契約に同意したことになるので要注意。

Visual Studio CoreをDebian 10にインストールする手順については、以前に覚え書きしておいたのでそちらを参照あれ。

.NET Core SDKのインストール

ここでは、Debian10へ.NET Core SDK 3.1と.NET Core Runtime 3.1をインストールする手順について書き留める。

XTermなどのターミナル・エミュレータを開く。そしてwgetを使ってpackages-microsoft-prod.debをダウンロードする。

$ wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb

次にpackages-microsoft-prod.debをインストールする。その際にはスーパーユーザー権限が必要なのでsuやsudoを用いてスーパーユーザー権限を得る。

$ su
# apt install ./packages-microsoft-prod.deb

これらの処理によってmicrosoft-prod.gpgというPGP公開鍵のファイルが/etc/apt/trusted.gpg.dディレクトリ内に追加され、リポジトリの設定が記されたファイルであるmicrosoft-prod.listが/etc/apt/sources.list.dディレクトリ内に自動的に設置される。

公開鍵を確認するには次のようにする。

$ apt-key list
(中略)
/etc/apt/trusted.gpg.d/microsoft-prod.gpg
-----------------------------------------
pub   rsa2048 2015-10-28 [SC]
      BC52 8686 B50D 79E3 39D3  721C EB3E 94AD BE12 29CF
uid           [  不明  ] Microsoft (Release signing) <gpgsecurity@microsoft.com>

リポジトリは次のようにして確認できる。

$ cat /etc/apt/sources.list.d/microsoft-prod.list

deb [arch=amd64,arm64,armhf] https://packages.microsoft.com/debian/10/prod buster main

次にAPTをアップデートしてapt-transport-httpsをインストールする。この処理にもスーパーユーザー権限が必要。

# apt update; apt install -y apt-transport-https

aptコマンドのオプションの-yは、インストール時の問いにすべてyesと答えるようにするもの。

これらの処理がうまくいったら、最後にdotnet-sdk-3.1をインストールする。同じくスーパーユーザー権限が必要。

# apt install -y dotnet-sdk-3.1

ランタイムのインストール

ランタイムをインストールしておくと、その環境下でランタイムなしのアプリを実行することができる。

.NET Core Runtime 3.1のインストールは次のようにする。

$ su
# apt update; apt install -y dotnet-runtime-3.1

ASP.NET Coreをサポートしたければ、.NET Core Runtime 3.1の代わりにASP.NET Core Runtime 3.1をインストールする。

$ su
# apt update; apt install -y aspnetcore-runtime-3.1

Snappyによるインストール

Linuxディストリビューションの違いに依存しないパッケージ管理システムであるSnappyを使うことができる。これを利用するためにはsnapdがインストールされている必要がある。

snapdがインストールされていなければ、Debianの公式リポジトリからダウンロードしてインストールする必要がある。例えば、コマンドラインからAPTを使ってインストールする場合には次のようにする。スーパーユーザー権限が必要になるのでsuやsudoを利用する。

$ su
# apt update; apt install snapd

次にウェブ・ブラウザでsnapcraftというサイトに訪れてトップメニューの「Store」を開く。「.net core sdk」と入力して検索する。

検索結果に.NET Core SDKがヒットするはずなので、それを選ぶ。それで開いたウェブ・ページを下方へスクロールして使っているLinuxディストリビューションを選ぶ。ここではDebianを例に挙げているのでDebianを選ぶ。

開いたウェブ・ページにインストール方法が記されている。snapdはすでにインストールしてあるので、APTを使ってdotnet-sdkというsnapパッケージをインストールする。この操作にはスーパーユーザー権限が必要。

$ su
# snap install dotnet-sdk --classic
dotnet-sdk 3.1.302 from Microsoft .NET Core (dotnetcore✓) installed

バージョンを指定してインストールする場合には次のように--channelオプションを利用する。

$ su
# snap install dotnet-sdk --classic --channel=3.1

インストールされたsnapパッケージは通常、/snapディレクトリ下にある。起動ファイルのシンボリック・リンクが/snap/bin内に張られている。シンボリック・リンクの名称はパッケージ名.アプリ名のようになっている。

エイリアスを次のように設定しておくと便利。この操作にもスーパーユーザー権限が必要。

$ su
# snap alias dotnet-sdk.dotnet dotnet

.NET Core 3.1のランタイムをインストールするには次のようにする。スーパーユーザー権限が必要。

$ su
# snap install dotnet-runtime-31
dotnet-runtime-31 3.1.6 from Microsoft .NET Core (dotnetcore✓) installed

snapによってインストールされたパッケージ一覧を表示するには次のようにする。

$ snap list
Name               Version    Rev   Tracking       Publisher    Notes
code               91899dce   39    latest/stable  vscode✓      classic
core               16-2.45.2  9665  latest/stable  canonical✓   core
core18             20200707   1880  latest/stable  canonical✓   base
dotnet-runtime-31  3.1.6      7     latest/stable  dotnetcore✓  -
dotnet-sdk         3.1.302    92    latest/stable  dotnetcore✓  classic

インストールしたsnapパッケージを更新するには次のようにする。スーパーユーザー権限が必要。

$ su
# snap refresh

アンインストールするには次のようにする。スーパーユーザー権限が必要。

$ su
# snap remove dotnet-sdk dotnet-runtime-31
dotnet-sdk removed
dotnet-runtime-31 removed

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

Visual Studio Code上でC#プログラミングをするにあたって、C# for Visual Studio Codeという名の拡張機能をインストールする。

Visual Studio Codeをまず起動する。

メニューバーにある「表示」から「拡張機能」を選ぶと、拡張機能一覧が表示されるフレームと共に検索フォームが現れるので、「C#」として検索をする。

C# for Visual Studio Codeがヒットするはずなのでそれを選ぶ。そして「インストール」ボタンを押してインストールする。

Hello Worldプロジェクト

「ファイル」から「フォルダを開く」を選んで開いたダイアログを使い、適当なディレクトリに新たなディレクトリを作成する。このディレクトリ名がプロジェクト名と名前空間名になる。

ここでは例えばCsharpディレクトリを作成し、その中にHelloWorldディレクトリを作成した。

次に「ターミナル」から「新しいターミナル」を起動し、$プロンプトの後に次のようなコマンドを入力してプロジェクトを初期化する。

$ dotnet new console
The template "Console Application" was created successfully.

Processing post-creation actions...
Running 'dotnet restore' on /home/.../Csharp/HelloWorld/HelloWorld.csproj...
  復元対象のプロジェクトを決定しています...
  /home/.../Csharp/HelloWorld/HelloWorld.csproj を復元しました (171 ms)。

Restore succeeded.

succeededと表示されたらうまくいった証拠。

これによって.csprojという拡張子がついたいくつかのプロジェクトファイルが自動生成されるばかりでなく、Program.csというファイル名でHello World!を表示するためのコードが自動生成される。

Visual Studio Codeのエクスプローラにそれらのファイルやフォルダの一覧が表示される。具体的には、HELLOWORLDタグ以下にobjディレクトリとbinディレクトリとHelloWorld.csprojとProgram.csが表示されているはず。

C#のコードはProgram.csファイルに記述されている。

ターミナルに次のように入力してEnterキーを押すと、Hello World!と表示される。

$ dotnet run
Hello World!

参照サイトのURL

https://docs.microsoft.com/ja-jp/dotnet/

コメント

このブログの人気の投稿

Visual Studio 2019にはC++のためのフォームデザイナーがない件

10の補数と9の補数と2の補数と1の補数

LATEXで数式:指数と順列などで使う添数・添字