私はBlazor wasmアプリケーションで作業していて、App.razorファイルにAuthorizeRouteViewコンポーネントを追加すると例外が発生しました。これに関するリソースがほとんどないため、解決にかなりの時間を費やしました。そのため、ここで解決策を共有したいと思います。
エラーメッセージは:
System.InvalidOperationException: 'Microsoft.AspNetCore.Authorization.DefaultAuthorizationPolicyProvider'をアクティブ化しようとしているときに、タイプ 'Microsoft.Extensions.Options.IOptions`1 [Microsoft.AspNetCore.Authorization.AuthorizationOptions]'のサービスを解決できません。
パッケージのバージョン:
<PackageReference Include="Microsoft.AspNetCore.Blazor.Build" Version="3.2.0-preview1.20073.1" PrivateAssets="all" />
<PackageReference Include="Microsoft.AspNetCore.Blazor.DevServer" Version="3.2.0-preview1.20073.1" PrivateAssets="all" />
<PackageReference Include="Microsoft.AspNetCore.Blazor.HttpClient" Version="3.2.0-preview1.20073.1" />
<PackageReference Include="Microsoft.AspNetCore.Components.Authorization" Version="3.1.1" PrivateAssets="all"/>
以下の説明では、Program.csサービスにAddAuthorizationCore()を追加するだけで済みました。
builder.Services.AddAuthorizationCore();
これにより、上記の例外が発生します...
Blazor 3.1プレビュー4で始まったプロジェクトがありますが、この "AddOptions"は必要ありませんでした。次に、それをBlazor 3.2.0プレビュー1に移行しました。すべての推奨事項(スタートアップは不要、program.csのみを使用するなど)を実行し、突然すべてが壊れました。 LYperの回答からのこれらの2行は私の問題を解決しました。ありがとう。なぜ誰か知っていますか?