Entity Framework Core: トラブルシューティング
プロジェクトが「スタートアッププロジェクト」フィールドに表示されない
目的のプロジェクトが次の要件を満たしていることを確認します。
Microsoft.EntityFrameworkCore.DesignまたはMicrosoft.EntityFrameworkCore.ToolsNuGet パッケージがインストールされています。プロジェクトのターゲットフレームワークは少なくとも
netcoreapp3.1.です
dotnet ef ツールをグローバルにインストールしてもターミナルから動作しません。
次のメッセージが表示された場合:
.dotnet/tools フォルダーが PATH 環境変数に含まれていることを確認してください。 詳細については、この トラブルシューティングガイドを参照してください。
Windows では、「修復」オプションを使用して .NET SDK インストーラーを実行することもできます。
Linux または macOS では、「データベースの更新」、「移行の追加」、その他のコマンドは使用できません。
症状
EF Core のビジュアルインターフェースを使用するとき、特に Rider が Snap パッケージとしてインストールされている場合に、 コマンドが見つかりませんまたは そのようなファイル、又はディレクトリはありませんエラーが発生します。
根本的な問題
Linux デスクトップから起動すると、Rider はターミナル構成で設定された環境変数を読み込めない場合があり、その結果、dotnet 実行可能ファイルと dotnet-ef グローバルツールが見つからなくなり、スタンドアロンターミナルでコマンドが正しく動作してもビジュアルインターフェースでエラーが発生します。
ソリューション
システムが 前提条件を満たしていることを確認してください。
グラフィカルセッションで読み込まれるユーザープロファイルファイルに、次の行を追加してください。 ほとんどの Linux ディストリビューションや macOS では
~/.profileですが、他のシェルでは~/.bashrcfor Bash や~/.zshrcfor Zsh など、異なる構成ファイルを使用する場合があります。 ファイルが存在する場合は、そのファイルの末尾に行を追加してください。存在しない場合は、ファイルを作成してください。export PATH="$HOME/.dotnet:$HOME/.dotnet/tools:$PATH"この行をプロファイルに追加すると、その環境を継承するターミナルとアプリケーションが .NET SDK とそのツールにアクセスできるようになります。
変更を有効にするには、セッションからログアウトして再度ログインするか、コンピューターを再起動してください。
IDE スクリプトコンソールを開いて、Rider の
PATHを確認します。 Ctrl+Shift+A を押して「IDE スクリプトコンソール」を検索し、以下を実行します。System.getenv("PATH");/home/username/.dotnetと/home/username/.dotnet/toolsがパスに表示されていることが確認できます。