![.NET SDK をインストールした後、`dotnet` コマンドを実行すると、「コマンドを読み込めませんでした」というエラーが表示されるのはなぜですか?](https://rvso.com/image/1073522/.NET%20SDK%20%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%97%E3%81%9F%E5%BE%8C%E3%80%81%60dotnet%60%20%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E3%81%A8%E3%80%81%E3%80%8C%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%82%92%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%82%81%E3%81%BE%E3%81%9B%E3%82%93%E3%81%A7%E3%81%97%E3%81%9F%E3%80%8D%E3%81%A8%E3%81%84%E3%81%86%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%8C%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%82%8B%E3%81%AE%E3%81%AF%E3%81%AA%E3%81%9C%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
私は公式指示最新バージョンの .NET SDK をインストールします。「パッケージ マネージャー (Microsoft フィード)」方式を選択しました。これらの手順を完了して を実行するとdotnet --version
、次の出力が表示されます。
The command could not be loaded, possibly because:
* You intended to execute a .NET application:
The application '--version' does not exist.
* You intended to execute a .NET SDK command:
No .NET SDKs were found.
Download a .NET SDK:
https://aka.ms/dotnet/download
Learn about SDK resolution:
https://aka.ms/dotnet/sdk-not-found
私は両方の Web ページを読みましたが、解決策は示されていません。1 つは、.NET SDK のインストール プロセスの最初に戻ります。もう 1 つは、主にアプリケーションの実行時に SDK 解決がどのように機能するかについて説明しています。しかし、これは CLI ツールには役立ちませんdotnet
。
dotnet --info
を実行すると、SDK がインストールされていないと判断される次の出力が得られるのは興味深いことです。
Host:
Version: 7.0.9
Architecture: x64
Commit: 8e9a17b221
.NET SDKs installed:
No SDKs were found.
.NET runtimes installed:
Microsoft.AspNetCore.App 7.0.9 [/usr/lib/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 7.0.9 [/usr/lib/dotnet/shared/Microsoft.NETCore.App]
Other architectures found:
None
Environment variables:
DOTNET_ROOT [/usr/lib/dotnet]
global.json file:
Not found
Learn more:
https://aka.ms/dotnet/info
Download .NET:
https://aka.ms/dotnet/download
これは奇妙だと思います。なぜなら、APT を使用してインストールしたパッケージを確認すると、公式のインストール手順に従った後、実際に SDK の 1 つのバージョン (7.0.109) がインストールされたように見える出力が表示されるからです。
$ sudo apt list --installed | grep dotnet
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
dotnet-apphost-pack-7.0/jammy-updates,jammy-security,now 7.0.109-0ubuntu1~22.04.1 amd64 [installed,automatic]
dotnet-host-7.0/jammy-updates,jammy-security,now 7.0.109-0ubuntu1~22.04.1 amd64 [installed,automatic]
dotnet-hostfxr-7.0/jammy-updates,jammy-security,now 7.0.109-0ubuntu1~22.04.1 amd64 [installed,automatic]
dotnet-runtime-7.0/jammy-updates,jammy-security,now 7.0.109-0ubuntu1~22.04.1 amd64 [installed,automatic]
dotnet-sdk-7.0/jammy,now 7.0.306-1 amd64 [installed]
dotnet-targeting-pack-7.0/jammy-updates,jammy-security,now 7.0.109-0ubuntu1~22.04.1 amd64 [installed,automatic]
答え1
私の問題は、MicrosoftフィードパッケージとUbuntuフィードパッケージを組み合わせて.NET SDKバージョン7をインストールしたことでした。これについては、APT トラブルシューティング手順私は WSL 経由で 22.04 を使用していたので、この問題が私にも発生しました。
私の解決策は、何らかの理由で Microsoft フィードに依存していない人向けに推奨されているアプローチに従うことでした。つまり、システムから Microsoft フィードを完全に削除し、Ubuntu フィードを使用してインストールするための手順に従うというものでした。これを実行すると、dotnet --info
インストールされた SDK が出力に表示されます。
.NET SDK:
Version: 7.0.109
Commit: 3e9283a8e9
Runtime Environment:
OS Name: ubuntu
OS Version: 23.04
OS Platform: Linux
RID: ubuntu.23.04-x64
Base Path: /usr/lib/dotnet/sdk/7.0.109/
Host:
Version: 7.0.9
Architecture: x64
Commit: 8e9a17b221
.NET SDKs installed:
7.0.109 [/usr/lib/dotnet/sdk]
.NET runtimes installed:
Microsoft.AspNetCore.App 7.0.9 [/usr/lib/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 7.0.9 [/usr/lib/dotnet/shared/Microsoft.NETCore.App]
Other architectures found:
None
Environment variables:
DOTNET_ROOT [/usr/lib/dotnet]
global.json file:
Not found
Learn more:
https://aka.ms/dotnet/info
Download .NET:
https://aka.ms/dotnet/download
私は 22.04 を使用していましたが、最新の非プレビュー バージョンの SDK (現在のところ 7) をインストールして使用したかったので、まず 23.04 にアップグレードする必要がありました。これは、サードパーティの Web サイトで見つけた手順に従って実行しましたsudo do-release-upgrade
。この操作を実行すると、構成ファイルを調整して再試行しない限り、アップグレード可能な最新バージョンが既に実行されているというメッセージが表示されました。そのため、指示に従って再度アップグレードを試行し、23.04 を実行して上記の手順を実行し、.NET SDK 7 をインストールしました。