MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
インストール - .NET SDKのソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
インストール - .NET SDK
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 依存関係のライブラリのインストール == ==== パッケージ管理システムからインストール ==== パッケージ管理システムを使用してインストールする場合、以下のライブラリが自動的にインストールされる。<br> libicu60_2 libicu-suse65_1 openssl openssl-1_1 libopenssl1_1 krb5 <br> <u>※注意</u><br> <u>.NET Core 2.1より以前のバージョンには、以下の依存関係のライブラリもインストールする必要がある。<br></u><br> * libunwind * libuuid <br> ==== 手動でインストール ==== 手動で.NETをインストールする場合および自己完結型ソフトウェアを公開する場合は、以下の依存関係のライブラリをインストールする。<br> 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 <br> <u>※注意</u><br> <u>.NET Core 2.1より以前のバージョンには、以下の依存関係のライブラリもインストールする必要がある。<br></u><br> * libunwind * libuuid <br><br> == リポジトリの登録 == ==== パッケージ管理システムからインストール ==== .NET SDKをインストールする前に、以下のコマンドを入力して、Microsoftリポジトリキーを登録する。<br> # 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 <br> SUSEを最新の状態にするため、以下のコマンドを入力する。<br> sudo zypper update <br> ==== 手動でインストール ==== リポジトリの登録は不要である。<br> <br><br> == .NET 5 SDKのインストール == .NET SDKを使用すると、.NETを使用したソフトウェアが開発できる。<br> <u>.NET SDK をインストールする場合は、対応するランタイムをインストールする必要はない。</u><br> <br> ==== パッケージ管理システムからインストール ==== .NET 5 SDKをインストールするには、以下のコマンドを実行する。<br> sudo zypper install dotnet-sdk-5.0 <br> ==== 手動でインストール ==== まず、[https://dotnet.microsoft.com/download/dotnet Microsoftの公式Webサイト]にアクセスして、.Net 5 SDKをダウンロードする。<br> ダウンロードしたファイルを解凍して、任意のディレクトリに保存する。<br> tar xf dotnet-sdk-<バージョン名>-linux-x64.tar.gz mv dotnet-sdk-<バージョン名>-linux-x64 ~/InstallSoftware/Net_5_SDK <br> 次に、~/.profileファイルまたは~/.bashrcファイル等に、環境変数PATHを設定する。<br> vi ~/.profile <br> # ~/.profileファイル PATH="$HOME/InstallSoftware/Net_5_SDK:$PATH" <br><br> == .NET 5 ランタイムのインストール == ==== パッケージ管理システムからインストール ==== ASP.NET Core 5 ランタイムを使用すると、ランタイムを提供しない.NETを使用して開発されたソフトウェアが実行できる。<br> .NETの最も互換性の高いランタイムであるASP.NET Core ランタイムがインストールには、以下のコマンドを実行する。<br> sudo zypper install aspnetcore-runtime-5.0 <br> ASP.NET Core 5 ランタイムの代替手段として、ASP.NET Core 5を含まない.NET 5 ランタイムをインストールするには、以下のコマンドを実行する。<br> sudo zypper install dotnet-runtime-5.0 <br> ==== 手動でインストール ==== [https://dotnet.microsoft.com/download/dotnet Microsoftの公式Webサイト]にアクセスして、.NET 5 ランタイムをダウンロードする。<br> ダウンロードしたファイルを解凍して、任意のディレクトリに保存する。<br> tar xf runtime-<バージョン名>-linux-x64-binaries.tar.gz mv runtime-<バージョン名>-linux-x64-binaries NET_5_Runtime mv NET_5_Runtime ~/InstallSoftware <br> 次に、~/.profileファイルまたは~/.bashrcファイル等に、環境変数PATHを設定する。<br> vi ~/.profile <br> # ~/.profileファイル PATH="$HOME/InstallSoftware/NET_5_Runtime:$PATH" <br><br> == .NET Core 3.1 SDKのインストール == .NET Core 3.1 SDKを使用すると、.NETを使用したソフトウェアが開発できる。<br> <u>.NET Core 3.1 SDKをインストールする場合は、対応するランタイムをインストールする必要はない。</u><br> <br> ==== パッケージ管理システムからインストール ==== .NET Core 3.1 SDKをインストールするには、以下のコマンドを入力する。<br> sudo zypper install dotnet-sdk-3.1 <br> .NET Core 3.1 ランタイムのみをインストールするには、以下のコマンドを実行する。<br> sudo zypper install dotnet-runtime-3.1 <br> もし、ASP.NET Core ランタイムも必要ならば、それもインストールする。<br> <br> <u>※注意</u><br> <u>ASP.NET CoreのSDKは、.NET Core SDKに含まれているので注意すること。</u><br> sudo zypper install aspnetcore-runtime-3.1 <br> ==== 手動でインストール ==== まず、[https://dotnet.microsoft.com/download/dotnet Microsoftの公式Webサイト]にアクセスして、.NET Core 3.1 SDKをダウンロードする。<br> ダウンロードしたファイルを解凍して、任意のディレクトリに保存する。<br> tar xf sdk-<バージョン名>-linux-x64-binaries.tar.gz mv sdk-<バージョン名>-linux-x64-binaries NETCore_3_1_SDK mv NETCore_3_1_SDK ~/InstallSoftware <br> 次に、~/.profileファイルまたは~/.bashrcファイル等に、環境変数PATHを設定する。<br> vi ~/.profile <br> # ~/.profileファイル PATH="$HOME/InstallSoftware/NETCore_3_1_SDK:$PATH" <br> .NET Core 3.1 ランタイムをインストールする場合も同様、[https://dotnet.microsoft.com/download/dotnet Microsoftの公式Webサイト]にアクセスして、.NET Core 3.1 ランタイムをダウンロードする。<br> ダウンロードしたファイルを解凍して、任意のディレクトリに保存する。<br> tar xf runtime-<バージョン名>-linux-x64-binaries.tar.gz mv runtime-<バージョン名>-linux-x64-binaries NETCore_3_1_Runtime mv NETCore_3_1_Runtime ~/InstallSoftware <br> 次に、~/.profileファイルまたは~/.bashrcファイル等に、環境変数PATHを設定する。<br> vi ~/.profile <br> # ~/.profileファイル PATH="$HOME/InstallSoftware/NETCore_3_1_Runtime:$PATH" <br><br> == 複数のバージョンのインストール (手動) == .NET Foundationが提供する[https://dot.net/v1/dotnet-install.sh dotnet-install.sh]ファイルを使用して、.NETの複数のバージョンをインストールできる。<br> dotnet-install.shファイルのドキュメントは、以下に示すMicrosoft公式Webサイトにある。<br> https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-install-script<br> <br> 以下の例では、"current"チャネルにある最新バージョンを、~/InstallSoftware/NET_SDKディレクトリにインストールしている。<br> ./dotnet-install.sh --install-dir /home/<ユーザ名>/InstallSoftware/NET_SDK -channel Current -version latest <br> 以下の例では、"current"チャネルにある.NET SDK バージョン5.0.403を、~/InstallSoftware/NET_SDKディレクトリにインストールしている。<br> ./dotnet-install.sh --install-dir /home/<ユーザ名>/InstallSoftware/NET_SDK -channel Current -version 5.0.403 <br> また、インストールする前に<code>-Dryrun</code>オプションまたは<code>--dry-run</code>オプションを付加して、インストールをシミュレートすることを推奨する。<br> ./dotnet-install.sh -Dryrun --install-dir /home/<ユーザ名>/InstallSoftware/NET_SDK -channel Current -version latest <br> インストールの完了後、利用可能な.NET SDKを確認することができる。<br> dotnet --list-sdks <br> dotnet --version <br><br> == 複数のバージョンのアンインストール (手動) == dotnet-install.shファイルを使用してインストールした.NETをアンインストール手順を記載する。<br> <u>自動化された.NET Uninstall Toolは、まだLinuxをサポートしていないため、手動でアンインストールする必要がある。</u><br> <br> まず、インストールされている.NETのバージョンを表示する。<br> dotnet --list-sdks <br> 次に、任意の.NET SDKをアンインストールする。<br> SDK_VERSION="5.0.100" DOTNET_UNINSTALL_PATH="/home/<ユーザ名>/InstallSoftware/NET_SDK" sudo rm -rf $DOTNET_UNINSTALL_PATH/sdk/$SDK_VERSION <br> dotnet-install.shファイルを使用してインストールしている場合、dotnetホストと共有パッケージもインストールされるが、<br> バージョンによっては、追加でアンインストールしなければならない場合もある。<br> <br> 以下の例では、.NET SDK(sdk、host、shared)を完全にアンインストールしている。<br> 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 <br><br> == .NETランタイムまたは.NET SDKの設定 == .NETランタイムを使用したソフトウェアを実行する場合、環境変数<code>DOTNET_ROOT</code>にdotnet実行ファイルがあるディレクトリのフルパスを指定する必要がある。<br> 既に、環境変数<code>PATH</code>にdotnet実行ファイルがあるディレクトリのパスを追加している場合は、以下のように、~/.profileファイル等に追記する。 <syntaxhighlight lang="sh"> # Adding PATH environment variable export PATH="<.NETランタイムまたは.NET SDKのインストールディレクトリ>:${PATH}" # Setting .NET Runtime or .NET SDK Directory export DOTNET_ROOT="<.NETランタイムまたは.NET SDKのインストールディレクトリ> 例. {HOME}/InstallSoftware/NET_5_SDK>" </syntaxhighlight> <br><br> == .NET Core SDKとランタイムの保存場所 == .NET Core SDKとランタイムの親ディレクトリは、<code>dotnet --list-sdks</code>コマンドおよび<code>dotnet --list-runtimes</code>コマンドからの出力に一覧表示される。<br> <br><br> == .NET Coreをアンインストールする方法 == .NET Core 2.1以降では、パッケージマネージャー(yumやapt-get、zypper等)を使用してアップグレードする場合、.NET Core SDKをアンインストールする必要はない。<br> パッケージマネージャーのupdateコマンドやrefreshコマンドでは、新しいバージョンが正常にインストールされると、古いバージョンが自動的に削除されるからである。<br> <br> パッケージマネージャーを使用して.NET Coreをインストールした場合は、それと同じパッケージマネージャーを使用して、.NET Core SDKまたはランタイムをアンインストールする。<br> <br> まず、.NET Core SDKと依存ファイルをアンインストールするため、以下のコマンドを実行する。<br> sudo zypper remove dotnet-sdk-3.1 sudo zypper remove libunwind libicu libuuid <br> 次に、登録したリポジトリを削除する場合は、以下のコマンドを実行する。(削除は必須ではない)<br> sudo zypper remove /etc/yum.repos.d/microsoft-prod.repo <br> GPG鍵も含めて削除する場合は、以下のコマンドを実行する。(削除は必須ではない)<br> sudo rpm -qa gpg-pubkey \* --qf "%{version}-%{release} %{summary}\n" | grep microsoft <br> 上記の検索結果に、********-******** gpg(Microsoft (Release signing) <gpgsecurity@microsoft.com>)のようなリストが表示される。(アスタリスクの箇所がGPG鍵である)<br> このGPG鍵を使用して、以下のコマンドを実行する。 sudo rpm -e --allmatches gpg-pubkey-xxxxxxxx-xxxxxxxx <br><br> == C#プロジェクトの作成 == C#_Linuxという名前の.NETコンソールプロジェクトを作成する。<br> <br> # VS Codeのメインメニューから、[ファイル] - [フォルダを開く]を選択する。 # [フォルダを開く]ダイアログから、C#_Linuxディレクトリを作成して、[フォルダを選択]を選択する。<br>このディレクトリ名がプロジェクト名と名前空間名になる。 # VS Codeのメインメニューから、[表示] - [端末]を選択する。 # VS Codeのメイン画面下部に、[ターミナル]タブが表示される。 # [ターミナル]タブにおいて、以下のコマンドを実行する。 #: <code>dotnet new console</code> #: または #: <code>dotnet new console --output C#_Sample01</code> # ワークスペースから、Program.csファイルを開く。<br>初めて、.csファイルを開く場合、OmniSharpがエディタに読み込まれる。 # VS Codeの右下に、ソフトウェアのビルドとデバッグに不足しているアセットを追加するメッセージが表示されるため、[Yes]ボタンを選択する。 <br> C#プロジェクトをビルドおよび実行を同時に行う場合、C#プロジェクトのディレクトリに移動して、以下のコマンドを実行する。<br> dotnet run --project C#_Sample01 <br><br> == C#プロジェクトのデバッグ == デバッグコンソールは、実行中のプログラムのターミナル入力を受け付けないため、<br> デバッグ中において、ターミナル入力を許可するには、統合ターミナルまたは外部ターミナルを使用する。<br> <br> まず、.vscode/launch.jsonファイルを開く。<br> <code>console</code>を、<code>internalConsole</code>から<code>integratedTerminal</code>に変更する。<br> <syntaxhighlight lang="json"> # VS Codeの統合ターミナルを使用する場合 "console": "integratedTerminal", # VS Codeの外部ターミナルを使用する場合 "console": "externalTerminal", </syntaxhighlight> <br> .csファイルの任意のステップにおいて、[F9]キーを押下してブレークポイントを張る。<br> <br> [F5]キーを押下して、C#プロジェクトをデバッグする。<br> <br><br> == C#プロジェクトのリリース == C#のcsproj拡張子のファイルが存在するディレクトリにおいて、以下のコマンドを実行する。<br> dotnet publish -c:Release -r:<ターゲットプラットフォーム> -p:PublishReadyToRun=true -p:PublishSingleFile=true --self-contained:false <br> 以下に、各オプションの意味を記載する。<br> * <code>-c:Release</code> *: リリースビルド * <code>-r:<ターゲットプラットフォーム></code> ** ターゲットプラットフォームは以下の通りである。 **: win10-x64 … ターゲットをWindows 10 x64にする。 **: win10-x86 … ターゲットをWindows 10 x86にする。 **: linux-x64 … ターゲットをLinux x64にする。 **: linux-x86 … ターゲットをLinux x86にする。 * <code>-p:PublishReadyToRun=true</code> *: 事前コンパイル方式にする。(初回から起動速度が速くなる) * <code>-p:PublishSingleFile=true</code> *: 出力ファイルを1つのexeファイルにまとめる。 * <code>--self-contained:false</code> *: 実行ファイルに.NETランタイムを含めない。 <br> また、C#プロジェクトの.vscodeディレクトリにtasks.jsonファイルを作成して、以下の設定を追加してもよい。<br> <syntaxhighlight lang="js"> // tasks.json // ...略 // リリースビルド "args": [ "publish", "-c:Release", "-r:<ターゲットプラットフォーム>", "-p:PublishReadyToRun=true", "-p:PublishSingleFile=true", "--self-contained:false", ], // デバッグビルド //"args": [ // "publish", // "-c:Debug", // "-r:<ターゲットプラットフォーム>", // "-p:PublishReadyToRun=true", // "-p:PublishSingleFile=true", // "--self-contained:false", //], // ...略 </syntaxhighlight> <br> リリースする実行ファイルにデバッグ情報を付加しない場合は、C#プロジェクトのcsproj拡張子のファイルに以下の設定を追記する。(推奨)<br> <syntaxhighlight lang="xml"> <PropertyGroup> // ...略 <DebugType Condition="'$(Configuration)' == 'Release'">none</DebugType> // ...略 </PropertyGroup> </syntaxhighlight> <br><br> == VS Codeの拡張機能 == VS Codeでは、拡張機能をインストールすることにより、C#の機能を強化することができる。<br> <br> C#の開発におけるVS Codeの拡張機能を以下に示す。<br> * [https://marketplace.visualstudio.com/items?itemName=ms-vscode.csharp C#] *: この拡張機能は、シンタックスハイライティング、インテリセンス、定義への移動、すべての参照の検索などを追加します。また、C#アプリケーションのデバッグをサポートします。 *: デバッグについては、[https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger.md .NET Coreデバッガの設定方法]を参照することを推奨する。 *: <br> * [https://marketplace.visualstudio.com/items?itemName=jchannon.csharpextensions C# Extensions] *: C#のクラスやインターフェースを簡単に追加できる機能である。 *: この拡張機能は、クラスやインターフェイスのための新しいファイルの作成およびプロジェクトの名前空間を設定等を自動で行う。 *: <br> * [https://marketplace.visualstudio.com/items?itemName=jorgeserrano.vscode-csharp-snippets C# Snippets] *: C#のコードスニペットを多数収録している。 *: <br> * [https://marketplace.visualstudio.com/items?itemName=k--kato.docomment C# XML Documentation Comments] *: ソースコードにXMLコメントを追加する時、より快適な操作性を実現する機能である。 <br> ASP.NET Coreの開発におけるVS Codeの拡張機能を以下に示す。<br> * [https://marketplace.visualstudio.com/items?itemName=rahulsahay.Csharp-ASPNETCore ASP.NET Core Snippets] *: ASP.NET Coreのコントローラやアクションを簡単に構築するためのスニペットを収録している。 *: <br> * [https://marketplace.visualstudio.com/items?itemName=wilderminds.wilderminds-aspnetcore-snippets WilderMinds社のASP.NET Core Snippets] *: ASP.NET Core Snippetsの代わりに、よく似たスニペットセットを収録している。 *: <br> * [https://marketplace.visualstudio.com/items?itemName=schneiderpat.aspnet-helper ASP.NET Helper] *: Razorのビューページ内にIntellisenseを追加する。 *: <br> * [https://marketplace.visualstudio.com/items?itemName=abusaidm.html-snippets HTML Snippets] *: HTMLスニペットに加えて、HTMLシンタックスハイライトのサポートを追加する。 *: ちなみに、VS Codeには[https://code.visualstudio.com/docs/languages/html#_emmet-snippets Emmet]が内蔵されており、HTMLのコーディングが非常に速くなる。 *: <br> * [https://marketplace.visualstudio.com/items?itemName=Zignd.html-css-class-completion IntelliSense for CSS class names] *: プロジェクト内のCSSクラス定義に基づいて、HTMLのclass属性にCSSクラス名を補完する。 <br> その他<br> * [https://marketplace.visualstudio.com/items?itemName=donjayamanne.git-extension-pack Git Extension Pack] *: Gitにおける5つの拡張機能をインストールする拡張機能である。 <br><br> __FORCETOC__ [[カテゴリ:SUSE]]
インストール - .NET SDK
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse