OpenIdConnect.Net 5.0 blazor webassembly在clean上出现错误:没有适用于Mic



如果我使用Nuget"微软AspNetCore。身份验证。OpenIdConnect";版本=";5.0.0〃;具有Net 5.0 blazor webassembly我在clean上得到以下错误:NETSDK1082没有Microsoft的运行时包。AspNetCore。应用程序可用于指定的RuntimeIdentifier"browser wasm"。

我创建了一个全新的blazor webassembly。Net 5.0项目,如下项目文件所示。当我包含openidconnect引用时,问题就会出现,但如果我删除该引用,问题就会消失。

<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="5.0.0" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="5.0.0" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="5.0.0" PrivateAssets="all" />
<PackageReference Include="System.Net.Http.Json" Version="5.0.0" />
</ItemGroup>
</Project>

您可以尝试将项目文件更改为以下文件:

<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<RuntimeIdentifier>browser-wasm</RuntimeIdentifier>
<UseBlazorWebAssembly>true</UseBlazorWebAssembly>
</PropertyGroup>

如果它不起作用,你可以在这个线程中看到更多的细节。

您的问题与OpenIddict无关,是因为您试图引用一个不应该在Blazor上使用的包Microsoft.AspNetCore.Authentication.OpenIdConnect

这是一个纯粹的服务器端包,不能在Blazor上工作,Blazor有自己的OIDC身份验证堆栈:https://www.nuget.org/packages/Microsoft.AspNetCore.Components.WebAssembly.Authentication/

最新更新