「.NET」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(→‎手動による複数バージョンのインストール: add === Uninstall manually installed version ===)
8行目: 8行目:
 
== インストール ==
 
== インストール ==
   
.NET Core で管理されるアプリケーションを実行したいだけの場合は {{Pkg|dotnet-runtime}} パッケージを[[インストール]]してください。
+
.NET Core マネージドアプリケーションを実行したいだけの場合は {{Pkg|dotnet-runtime}} パッケージを[[インストール]]してください。
   
 
.NET Core でアプリをビルドする場合は {{Pkg|dotnet-sdk}} パッケージもインストールしてください。
 
.NET Core でアプリをビルドする場合は {{Pkg|dotnet-sdk}} パッケージもインストールしてください。
18行目: 18行目:
 
=== 手動による複数バージョンのインストール ===
 
=== 手動による複数バージョンのインストール ===
   
You can install multiple versions of the .NET Core SDK or runtime side by side by using the [https://dot.net/v1/dotnet-install.sh dotnet-install.sh] script provided by the .NET Foundation. You can find the documentation of the script [https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-install-script here].
+
.NET Foundation が提供する [https://dot.net/v1/dotnet-install.sh dotnet-install.sh] スクリプトを使用して、.NET Core SDK またはランタイムの複数のバージョンをインストールできます。スクリプトのドキュメントは[https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-install-script ここ]にあります。
   
  +
例えば、以下のコマンドは、{{ic|/usr/share/dotnet}} の "current" チャネルにある最新バージョンをインストールします:
For instance, this command would install the latest version found in the "current" channel in {{ic|/usr/share/dotnet}}:
 
   
 
# ./dotnet-install.sh --install-dir /usr/share/dotnet -channel Current -version latest
 
# ./dotnet-install.sh --install-dir /usr/share/dotnet -channel Current -version latest
   
  +
{{ic|-Dryrun}} を使用して、最初にインストールをシミュレートすることをお勧めします。
You may want to simulate the installation first by using the {{ic|-Dryrun}} flag.
 
   
  +
インストールしたら、利用可能な SDK を確認できます:
Once installed, you can verify the SDKs available:
 
   
 
$ dotnet --list-sdks
 
$ dotnet --list-sdks
34行目: 34行目:
 
3.0.103
 
3.0.103
   
  +
=== 手動でインストールしたバージョンをアンインストールする ===
=== Uninstall manually installed version ===
 
   
You may want to remove outdated versions installed with {{ic|dotnet-install.sh}}. The automated [https://docs.microsoft.com/en-us/dotnet/core/additional-tools/uninstall-tool .NET Uninstall Tool] does still not support Linux, so the desinstallation has to be done manually.
+
{{ic|dotnet-install.sh}} でインストールした古いバージョンは削除することをお勧めします。自動化された [https://docs.microsoft.com/en-us/dotnet/core/additional-tools/uninstall-tool .NET Uninstall Tool] はまだ Linux をサポートしていないため、削除は手動で行う必要があります。
   
 
{{hc|$ dotnet --list-sdks|
 
{{hc|$ dotnet --list-sdks|
43行目: 43行目:
 
}}
 
}}
   
  +
sdk のアンインストール:
Desinstallation of the sdk:
 
   
 
$ SDK_VERSION="5.0.100"
 
$ SDK_VERSION="5.0.100"
49行目: 49行目:
 
# rm -rf $DOTNET_UNINSTALL_PATH/sdk/$SDK_VERSION
 
# rm -rf $DOTNET_UNINSTALL_PATH/sdk/$SDK_VERSION
   
  +
{{ic|dotnet-install.sh}} を使用すると、dotnet ホストと共有パッケージもインストールされますが、リリースによっては追加で削除しなければならない場合もあります。
Using {{ic|dotnet-install.sh}} also dotnet host and shared packages are getting installed, which may have to get removed additionally depending on the release.
 
   
Complete deinstallation of the .NET Version (sdk, host, shared):
+
.NETバージョン ( sdk, host, shared ) の完全なアンインストール:
   
 
$ SDK_VERSION="5.0.100"
 
$ SDK_VERSION="5.0.100"

2021年5月25日 (火) 12:00時点における版

.NET Core は Microsoft 製の新しいオープンソース C#, Visual Basic, F# ソフトウェアフレームワークです。先行の .NET Framework と異なり、クロスプラットフォームで動作し近代的なアプリケーションに適した設計が行われています。

インストール

.NET Core マネージドアプリケーションを実行したいだけの場合は dotnet-runtime パッケージをインストールしてください。

.NET Core でアプリをビルドする場合は dotnet-sdk パッケージもインストールしてください。

Microsoft は .NET Core アプリをビルド・デバッグするときは Electron ベースのオープンソース IDE である Visual Studio Code を使うことを推奨しています。

ヒント: PATH~/.dotnet/tools を追加してください。追加しない場合は、 dotnetツールはシェルから使うことができません。

手動による複数バージョンのインストール

.NET Foundation が提供する dotnet-install.sh スクリプトを使用して、.NET Core SDK またはランタイムの複数のバージョンをインストールできます。スクリプトのドキュメントはここにあります。

例えば、以下のコマンドは、/usr/share/dotnet の "current" チャネルにある最新バージョンをインストールします:

# ./dotnet-install.sh --install-dir /usr/share/dotnet -channel Current -version latest

-Dryrun を使用して、最初にインストールをシミュレートすることをお勧めします。

インストールしたら、利用可能な SDK を確認できます:

$ dotnet --list-sdks                                                                 
2.2.108 [/usr/share/dotnet/sdk]
3.0.103 [/usr/share/dotnet/sdk]
$ dotnet --version
3.0.103

手動でインストールしたバージョンをアンインストールする

dotnet-install.sh でインストールした古いバージョンは削除することをお勧めします。自動化された .NET Uninstall Tool はまだ Linux をサポートしていないため、削除は手動で行う必要があります。

$ dotnet --list-sdks
5.0.100 [/usr/share/dotnet/sdk]
5.0.102 [/usr/share/dotnet/sdk]

sdk のアンインストール:

$ SDK_VERSION="5.0.100"
$ DOTNET_UNINSTALL_PATH="/usr/share/dotnet"
# rm -rf $DOTNET_UNINSTALL_PATH/sdk/$SDK_VERSION

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

.NETバージョン ( sdk, host, shared ) の完全なアンインストール:

$ SDK_VERSION="5.0.100"
$ DOTNET_VERSION="5.0.0"
$ DOTNET_UNINSTALL_PATH="/usr/share/dotnet"
# rm -rf $DOTNET_UNINSTALL_PATH/sdk/$SDK_VERSION
# rm -rf $DOTNET_UNINSTALL_PATH/shared/Microsoft.NETCore.App/$DOTNET_VERSION
# rm -rf $DOTNET_UNINSTALL_PATH/shared/Microsoft.AspNetCore.All/$DOTNET_VERSION
# rm -rf $DOTNET_UNINSTALL_PATH/shared/Microsoft.AspNetCore.App/$DOTNET_VERSION
# rm -rf $DOTNET_UNINSTALL_PATH/host/fxr/$DOTNET_VERSION

AURによる複数バージョンのインストール

Some of the AUR dotnet packages are made to be installed alongside each other. Only one host package (dotnet-host-binAUR or dotnet-host) is needed containing the command-line tool and you can install any of the available SDKs and Runtimes (latest packages of all major versions) next to it. List of compatible packages:

PowerShell Core のインストール

You can install PowerShell Core as a "global" tool also [1] [2]

# dotnet tool install --global PowerShell

to update to current version

# dotnet tool update --global PowerShell

テレメトリ

テレメトリはデフォルトで有効になっていますが、環境変数の設定により無効にできます。DOTNET_CLI_TELEMETRY_OPTOUT=1

トラブルシューティング

It was not possible to find any compatible framework version

If you get the following error when you try to run a newly created project, you no longer need to set a DOTNET_ROOT variable as described in the solutions of various GitHub issues. Arch's dotnet package (as of 3.1) installs it to the Microsoft recommended location of /usr/share/dotnet.

$ dotnet run
It was not possible to find any compatible framework version
The framework 'Microsoft.AspNetCore.App', version '3.1.0' was not found.
  - No frameworks were found.

You can resolve the problem by installing the specified framework and/or SDK.

The specified framework can be found at:
  - https://aka.ms/dotnet-core-applaunch?framework=Microsoft.AspNetCore.App&framework_version=3.1.0&arch=x64&rid=arch-x64

This is caused because the runtime is shipped as a separate package in Arch. You just need to make sure you have the aspnet-runtime package installed as well.

"the required library libhostfxr.so could not be found" error

Some of the dotnet SDK tools (for example libman, dotnet-watch etc.) may expect you to have the environment variable DOTNET_ROOT pre-configured. If it's not, an error like this one could be observed: [3]

A fatal error occurred, the required library libhostfxr.so could not be found.
If this is a self-contained application, that library should exist in [/home/my_user/.dotnet/tools/.store/microsoft.web.librarymanager.cli/1.0.172/microsoft.web.librarymanager.cli/1.0.172/tools/netcoreapp2.1/any/].
If this is a framework-dependent application, install the runtime in the default location [/usr/share/dotnet] or use the DOTNET_ROOT environment variable to specify the runtime location.

The workaround is to manually export DOTNET_ROOT in your shell:

~/.bashrc
export DOTNET_ROOT=/opt/dotnet

SDK specified could not be found

This is believed to caused by a conflict between the Mono and MSBuild SDK libs and the dotnet core ones. To fix this export the path manually in your shell (replacing the version number as necessary) e.g:

~/.bashrc
export MSBuildSDKsPath=$( echo /usr/share/dotnet/sdk/3.*/Sdks );

参照