升级到 net5.0 后 Blazor WebAssembly 项目出错

问题描述

按照此处的升级说明进行操作后;

Migrate Core 3.1 to 5.0

在我的 Blazor WebAssembly 项目上(作为 .Server 项目、.Shared 项目和 .Client 项目运行)。

除了我在解决方案中引用另一个项目时,一切似乎都进展顺利。我希望客户端引用 .Shared 和另一个类库(这是在 3.1 之前使用的)。我收到以下错误

错误 BLAZORSDK1001 该项目引用了 ASP.NET Core 共享 框架,Blazor WebAssembly 应用程序不支持该框架。消除 框架引用(如果直接引用)或包 添加框架引用的引用。

我的Client.csproj有以下内容

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

<PropertyGroup>
    <TargetFramework>net5.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <packagereference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="5.0.6" />
    <packagereference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="5.0.6" PrivateAssets="all" />
    <packagereference Include="blazor.extensions.logging" Version="2.0.4" />
    <packagereference Include="blazored.LocalStorage" Version="4.1.1" />
    <packagereference Include="Blazorise.Bootstrap" Version="0.9.3.6" />
    <packagereference Include="Blazorise.Components" Version="0.9.3.6" />
    <packagereference Include="Blazorise.DataGrid" Version="0.9.3.6" />
    <packagereference Include="Blazorise.Icons.FontAwesome" Version="0.9.3.6" />
    <packagereference Include="Blazorise.Sidebar" Version="0.9.3.6" />
    <packagereference Include="Microsoft.AspNetCore.Components" Version="5.0.6" />
    <packagereference Include="Microsoft.AspNetCore.Components.Authorization" Version="5.0.6" />
    <packagereference Include="Microsoft.AspNetCore.WebUtilities" Version="2.2.0" />
    <packagereference Include="Newtonsoft.Json" Version="13.0.1" />
    <packagereference Include="System.IdentityModel.Tokens.Jwt" Version="6.11.1" />
    <packagereference Include="Toolbelt.Blazor.HttpClientInterceptor" Version="9.2.1" />
  </ItemGroup>

  <ItemGroup>
    <Folder Include="wwwroot\images\" />
    <Folder Include="wwwroot\tinymce\" />
  </ItemGroup>

  <!-- When publishing,swap service-worker.published.js in place of service-worker.js -->
  <ItemGroup Condition="'$(DesignTimeBuild)' != 'true'">
    <Content Remove="wwwroot\service-worker.js" />
    <Content Update="wwwroot\service-worker.published.js" Link="wwwroot\service-worker.js" />
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\Blazor.Shared\Blazor.Shared.csproj" />
    <ProjectReference Include="..\Core.Search\Core.Search.csproj" />
    <ProjectReference Include="..\Core\Core.csproj" />
  </ItemGroup>
  <ItemGroup>
    <Content Update="wwwroot\favicon.ico">
      <ExcludeFromSingleFile>true</ExcludeFromSingleFile>
      <copyToPublishDirectory>PreserveNewest</copyToPublishDirectory>
    </Content>
    <Content Update="wwwroot\manifest.json">
      <ExcludeFromSingleFile>true</ExcludeFromSingleFile>
      <copyToPublishDirectory>PreserveNewest</copyToPublishDirectory>
    </Content>
    <Content Update="wwwroot\service-worker.js">
      <ExcludeFromSingleFile>true</ExcludeFromSingleFile>
      <copyToPublishDirectory>PreserveNewest</copyToPublishDirectory>
    </Content>
    <Content Update="wwwroot\service-worker.published.js">
      <ExcludeFromSingleFile>true</ExcludeFromSingleFile>
      <copyToPublishDirectory>PreserveNewest</copyToPublishDirectory>
    </Content>
  </ItemGroup>
  
</Project>

和引用项目的 .csproj 是;

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

<PropertyGroup>
    <TargetFramework>net5.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <packagereference Include="fluentvalidation.aspnetcore" Version="8.6.2" />
    <packagereference Include="microsoft.aspnetcore.identity" Version="2.2.0" />
    <packagereference Include="Microsoft.Extensions.Identity.Stores" Version="3.1.7" />
    <packagereference Include="microsoft.identitymodel.tokens" Version="6.7.1" />
  </ItemGroup>

</Project>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)