【问题标题】:OpenIdConnect .Net 5.0 blazor webassembly gives error on clean: no runtime pack for Microsoft.AspNetCore.AppOpenIdConnect .Net 5.0 blazor webassembly 在清理时出现错误:Microsoft.AspNetCore.App 没有运行时包
【发布时间】:2021-03-07 13:46:36
【问题描述】:

如果我使用 Nuget "Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="5.0.0" 使用 .Net 5.0 blazor webassembly 我在清理时收到以下错误:NETSDK1082 没有可用于指定 RuntimeIdentifier 'browser-wasm' 的 Microsoft.AspNetCore.App 运行时包。

我在下面的项目文件中创建了一个全新的 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>

【问题讨论】:

  • 我已经尝试启动一个新的 blazor webassembly .Net 5.0 项目并且可以重现该问题

标签: asp.net-core openid-connect blazor-webassembly


【解决方案1】:

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

<Project Sdk="Microsoft.NET.Sdk.Web">

<PropertyGroup>
    <TargetFramework>net5.0</TargetFramework>
    <RuntimeIdentifier>browser-wasm</RuntimeIdentifier>
    <UseBlazorWebAssembly>true</UseBlazorWebAssembly>
</PropertyGroup>

如果不起作用,您可以在此thread 中查看更多详细信息。

【讨论】:

  • 是的,我试过那个线程,但它仍然不起作用。我也有点不愿意从最新的微软推荐中退后一步。
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 2022-07-19
    • 1970-01-01
    • 2023-01-29
    • 2021-03-15
    • 1970-01-01
    • 2013-08-16
    • 2016-11-28
    • 2013-11-14
    • 2017-02-28
    相关资源
    最近更新 更多