インストール - .NET SDK

提供:MochiuWiki : SUSE, EC, PCB
2021年6月27日 (日) 07:24時点におけるWiki (トーク | 投稿記録)による版 (→‎.NET 5 SDKのインストール)
ナビゲーションに移動 検索に移動

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

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

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

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

sudo zypper install aspnetcore-runtime-5.0


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

sudo zypper install dotnet-runtime-5.0


手動でインストール

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

tar xf runtime-<バージョン名>-linux-x64-binaries.tar.gz
mv runtime-<バージョン名>-linux-x64-binaries~/InstallSoftware/Net_5_Runtime


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

vi ~/.profile


# ~/.profileファイル

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



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

.NET Core SDKと.NET Core Runtimeをインストールするため、以下のコマンドを入力する。

sudo zypper install dotnet-sdk-3.1
sudo zypper install dotnet-runtime-3.1


もし、ASP.NETランタイムも必要ならば、それもインストールする。
※ASP.NET CoreのSDKは、.NET Core SDKに含まれているので注意すること。

sudo zypper install aspnetcore-runtime-3.1


dotnetコマンドが環境変数PATHに含まれているかどうか確認する。

which dotnet



プロジェクトの作成方法

以下のコマンドを入力すると、現在のカレントディレクトリにプロジェクトとスケルトンコードが自動生成される。

dotnet new console --output sample1


プロジェクトをコンパイル(同時に実行)する時は、プロジェクト下のディレクトリに移動して以下のコマンドを入力する。

dotnet run --project sample1



.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