インストール - .NET SDK

提供:MochiuWiki : SUSE, EC, PCB
2021年7月12日 (月) 00:02時点におけるWiki (トーク | 投稿記録)による版 (→‎プロジェクトの作成方法)
ナビゲーションに移動 検索に移動

依存関係のライブラリのインストール

パッケージ管理システムからインストール

パッケージ管理システムを使用してインストールする場合、以下のライブラリが自動的にインストールされる。

libicu60_2 libicu-suse65_1 openssl openssl-1_1 libopenssl1_1 krb5


※注意
.NET Core 2.1より以前のバージョンには、以下の依存関係のライブラリもインストールする必要がある。

  • libunwind
  • libuuid


手動でインストール

手動で.NETをインストールする場合および自己完結型ソフトウェアを公開する場合は、以下の依存関係のライブラリをインストールする。

sudo zypper install libicu60_2 libicu-suse65_1 openssl openssl-1_1 libopenssl1_1 krb5
または
sudo zypper install lttng-ust libcurl zlib libicu60_2 libicu-suse65_1 openssl openssl-1_1 libopenssl1_1 krb5


※注意
.NET Core 2.1より以前のバージョンには、以下の依存関係のライブラリもインストールする必要がある。

  • libunwind
  • libuuid



リポジトリの登録

パッケージ管理システムからインストール

.NET SDKをインストールする前に、以下のコマンドを入力して、Microsoftリポジトリキーを登録する。

# openSUSE
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
wget https://packages.microsoft.com/config/opensuse/15/prod.repo
sudo mv prod.repo /etc/zypp/repos.d/microsoft-prod.repo
sudo chown root:root /etc/zypp/repos.d/microsoft-prod.repo
# SLES
sudo rpm -Uvh https://packages.microsoft.com/config/sles/15/packages-microsoft-prod.rpm
sudo ln -s /etc/yum.repos.d/microsoft-prod.repo /etc/zypp/repos.d/microsoft-prod.repo


SUSEを最新の状態にするため、以下のコマンドを入力する。

sudo zypper update


手動でインストール

リポジトリの登録は不要である。


.NET 5 SDKのインストール

.NET SDKを使用すると、.NETを使用したソフトウェアが開発できる。
.NET SDK をインストールする場合は、対応するランタイムをインストールする必要はない。

パッケージ管理システムからインストール

.NET 5 SDKをインストールするには、以下のコマンドを実行する。

sudo zypper install dotnet-sdk-5.0


手動でインストール

まず、Microsoftの公式Webサイトにアクセスして、.Net 5 SDKをダウンロードする。
ダウンロードしたファイルを解凍して、任意のディレクトリに保存する。

tar xf dotnet-sdk-<バージョン名>-linux-x64.tar.gz
mv dotnet-sdk-<バージョン名>-linux-x64 ~/InstallSoftware/Net_5_SDK


次に、~/.profileファイルまたは~/.bashrcファイル等に、環境変数PATHを設定する。

vi ~/.profile


# ~/.profileファイル

PATH="$HOME/InstallSoftware/Net_5_SDK:$PATH"



.NET 5 ランタイムのインストール

パッケージ管理システムからインストール

ASP.NET Core 5 ランタイムを使用すると、ランタイムを提供しない.NETを使用して開発されたソフトウェアが実行できる。
.NETの最も互換性の高いランタイムであるASP.NET Core ランタイムがインストールには、以下のコマンドを実行する。

sudo zypper install aspnetcore-runtime-5.0


ASP.NET Core 5 ランタイムの代替手段として、ASP.NET Core 5を含まない.NET 5 ランタイムをインストールするには、以下のコマンドを実行する。

sudo zypper install dotnet-runtime-5.0


手動でインストール

Microsoftの公式Webサイトにアクセスして、.NET 5 ランタイムをダウンロードする。
ダウンロードしたファイルを解凍して、任意のディレクトリに保存する。

tar xf runtime-<バージョン名>-linux-x64-binaries.tar.gz

mv runtime-<バージョン名>-linux-x64-binaries NET_5_Runtime
mv NET_5_Runtime ~/InstallSoftware


次に、~/.profileファイルまたは~/.bashrcファイル等に、環境変数PATHを設定する。

vi ~/.profile


# ~/.profileファイル

PATH="$HOME/InstallSoftware/NET_5_Runtime:$PATH"



.NET Core 3.1 SDKのインストール

.NET Core 3.1 SDKを使用すると、.NETを使用したソフトウェアが開発できる。
.NET Core 3.1 SDKをインストールする場合は、対応するランタイムをインストールする必要はない。

パッケージ管理システムからインストール

.NET Core 3.1 SDKをインストールするには、以下のコマンドを入力する。

sudo zypper install dotnet-sdk-3.1


.NET Core 3.1 ランタイムのみをインストールするには、以下のコマンドを実行する。

sudo zypper install dotnet-runtime-3.1


もし、ASP.NET Core ランタイムも必要ならば、それもインストールする。

※注意
ASP.NET CoreのSDKは、.NET Core SDKに含まれているので注意すること。

sudo zypper install aspnetcore-runtime-3.1


手動でインストール

まず、Microsoftの公式Webサイトにアクセスして、.NET Core 3.1 SDKをダウンロードする。
ダウンロードしたファイルを解凍して、任意のディレクトリに保存する。

tar xf sdk-<バージョン名>-linux-x64-binaries.tar.gz

mv sdk-<バージョン名>-linux-x64-binaries NETCore_3_1_SDK
mv NETCore_3_1_SDK ~/InstallSoftware


次に、~/.profileファイルまたは~/.bashrcファイル等に、環境変数PATHを設定する。

vi ~/.profile


# ~/.profileファイル

PATH="$HOME/InstallSoftware/NETCore_3_1_SDK:$PATH"


.NET Core 3.1 ランタイムをインストールする場合も同様、Microsoftの公式Webサイトにアクセスして、.NET Core 3.1 ランタイムをダウンロードする。
ダウンロードしたファイルを解凍して、任意のディレクトリに保存する。

tar xf runtime-<バージョン名>-linux-x64-binaries.tar.gz

mv runtime-<バージョン名>-linux-x64-binaries NETCore_3_1_Runtime
mv NETCore_3_1_Runtime ~/InstallSoftware


次に、~/.profileファイルまたは~/.bashrcファイル等に、環境変数PATHを設定する。

vi ~/.profile


# ~/.profileファイル

PATH="$HOME/InstallSoftware/NETCore_3_1_Runtime:$PATH"



複数のバージョンのインストール (手動)

.NET Foundationが提供するdotnet-install.shファイルを使用して、.NETの複数のバージョンをインストールできる。
dotnet-install.shファイルのドキュメントは、以下に示すMicrosoft公式Webサイトにある。
https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-install-script

以下の例では、"current"チャネルにある最新バージョンを、~/InstallSoftware/NET_SDKディレクトリにインストールしている。

./dotnet-install.sh --install-dir /home/<ユーザ名>/InstallSoftware/NET_SDK -channel Current -version latest


また、-Dryrunオプションを付加して、インストールをシミュレートすることを推奨する。

インストールの完了後、利用可能な.NET SDKを確認することができる。

dotnet --list-sdks


dotnet --version



複数のバージョンのアンインストール (手動)

dotnet-install.shファイルを使用してインストールした.NETをアンインストール手順を記載する。
自動化された.NET Uninstall Toolは、まだLinuxをサポートしていないため、手動でアンインストールする必要がある。

まず、インストールされている.NETのバージョンを表示する。

dotnet --list-sdks


次に、任意の.NET SDKをアンインストールする。

SDK_VERSION="5.0.100"
DOTNET_UNINSTALL_PATH="/home/<ユーザ名>/InstallSoftware/NET_SDK"

sudo rm -rf $DOTNET_UNINSTALL_PATH/sdk/$SDK_VERSION


dotnet-install.shファイルを使用してインストールしている場合、dotnetホストと共有パッケージもインストールされるが、
バージョンによっては、追加でアンインストールしなければならない場合もある。

以下の例では、.NET SDK(sdk、host、shared)を完全にアンインストールしている。

SDK_VERSION="5.0.100"
DOTNET_VERSION="5.0.0"
DOTNET_UNINSTALL_PATH="/home/<ユーザ名>/InstallSoftware/NET_SDK"

sudo rm -rf $DOTNET_UNINSTALL_PATH/sdk/$SDK_VERSION
sudo rm -rf $DOTNET_UNINSTALL_PATH/shared/Microsoft.NETCore.App/$DOTNET_VERSION
sudo rm -rf $DOTNET_UNINSTALL_PATH/shared/Microsoft.AspNetCore.All/$DOTNET_VERSION
sudo rm -rf $DOTNET_UNINSTALL_PATH/shared/Microsoft.AspNetCore.App/$DOTNET_VERSION
sudo rm -rf $DOTNET_UNINSTALL_PATH/host/fxr/$DOTNET_VERSION



.NET Core SDKとランタイムの保存場所

.NET Core SDKとランタイムの親ディレクトリは、dotnet --list-sdksコマンドおよびdotnet --list-runtimesコマンドからの出力に一覧表示される。


.NET Coreをアンインストールする方法

.NET Core 2.1以降では、パッケージマネージャー(yumやapt-get、zypper等)を使用してアップグレードする場合、.NET Core SDKをアンインストールする必要はない。
パッケージマネージャーのupdateコマンドやrefreshコマンドでは、新しいバージョンが正常にインストールされると、古いバージョンが自動的に削除されるからである。

パッケージマネージャーを使用して.NET Coreをインストールした場合は、それと同じパッケージマネージャーを使用して、.NET Core SDKまたはランタイムをアンインストールする。

まず、.NET Core SDKと依存ファイルをアンインストールするため、以下のコマンドを実行する。

sudo zypper remove dotnet-sdk-3.1
sudo zypper remove libunwind libicu libuuid


次に、登録したリポジトリを削除する場合は、以下のコマンドを実行する。(削除は必須ではない)

sudo zypper remove /etc/yum.repos.d/microsoft-prod.repo


GPG鍵も含めて削除する場合は、以下のコマンドを実行する。(削除は必須ではない)

sudo rpm -qa gpg-pubkey \* --qf "%{version}-%{release} %{summary}\n" | grep microsoft


上記の検索結果に、********-******** gpg(Microsoft (Release signing) <gpgsecurity@microsoft.com>)のようなリストが表示される。(アスタリスクの箇所がGPG鍵である)
このGPG鍵を使用して、以下のコマンドを実行する。

sudo rpm -e --allmatches gpg-pubkey-xxxxxxxx-xxxxxxxx



C#プロジェクトの作成

C#_Linuxという名前の.NETコンソールプロジェクトを作成する。

  1. VS Codeのメインメニューから、[ファイル] - [フォルダを開く]を選択する。
  2. [フォルダを開く]ダイアログから、C#_Linuxディレクトリを作成して、[フォルダを選択]を選択する。
    このディレクトリ名がプロジェクト名と名前空間名になる。
  3. VS Codeのメインメニューから、[表示] - [端末]を選択する。
  4. VS Codeのメイン画面下部に、[ターミナル]タブが表示される。
  5. [ターミナル]タブにおいて、以下のコマンドを実行する。
    dotnet new console
  6. ワークスペースから、Program.csファイルを開く。
    初めて、.csファイルを開く場合、OmniSharpがエディタに読み込まれる。
  7. VS Codeの右下に、ソフトウェアのビルドとデバッグに不足しているアセットを追加するメッセージが表示されるため、[Yes]ボタンを選択する。



C#プロジェクトのデバッグ

デバッグコンソールは、実行中のプログラムのターミナル入力を受け付けないため、
デバッグ中において、ターミナル入力を許可するには、統合ターミナルまたは外部ターミナルを使用する。

まず、.vscode/launch.jsonファイルを開く。
consoleを、internalConsoleからintegratedTerminalに変更する。

 # VS Codeの統合ターミナルを使用する場合
 "console": "integratedTerminal",
 
 # VS Codeの外部ターミナルを使用する場合
 "console": "externalTerminal",


.csファイルの任意のステップにおいて、[F9]キーを押下してブレークポイントを張る。

[F5]キーを押下して、C#プロジェクトをデバッグする。