【问题标题】:How to upgrade WASM app to NET5 framework? [closed]如何将 WASM 应用升级到 NET5 框架? [关闭]
【发布时间】:2020-11-19 12:27:47
【问题描述】:

我决定将我的一个项目升级到最新的 .NET 版本 (.NET 5)。

它由一个针对 netcoreapp3.1 的 asp.net 核心应用程序 (web api) 和一个针对 netstandard2.1 的 blazor WASM 项目组成。 在两个项目中将 targetframework 更新为 net5.0 后,api 项目工作正常,但 WASM 项目没有。

我应该遵循哪些升级步骤?

附言我有最新的视觉工作室(16.8.1 版)和 dotnet(5.0.100 版)

Blazor 应用中的错误消息:

HTTP 错误 500.33 - ANCM 请求处理程序加载失败
此问题的常见解决方案:
确保您的应用程序引用了 Microsoft.AspNetCore.App。
ANCM 检测到的特定错误:
找不到为进程内应用程序引用的程序集“aspnetcorev2_inprocess.dll”。请确认您的应用程序中引用了 Microsoft.AspNetCore.Server.IIS 或 Microsoft.AspNetCore.App。

【问题讨论】:

    标签: .net-core blazor-webassembly .net-5


    【解决方案1】:

    要升级,您还需要更改一些代码,这是您需要在 WASM 项目上执行的操作:

    在 WASM 项目的.csproj 文件上:

    1. <Project Sdk="Microsoft.NET.Sdk.Web"> 更改为<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">
    2. <TargetFramework>netstandard2.1</TargetFramework> 更改为<TargetFramework>net5.0</TargetFramework>
    3. 删除<RazorLangVersion>3.0</RazorLangVersion>
    4. 删除对Microsoft.AspNetCore.Components.WebAssembly.Build的包引用
    5. 将所有其他软件包更新到最新版本5.0.0

    wwwroot/index.html:

    1. <app>Loading...</app> 更改为<div id="app">Loading...</div>

    Program.Main:

    1. builder.RootComponents.Add<App>("app") 更改为builder.RootComponents.Add<App>("#app")
    2. HttpClient 的注册更改为Scoped,如下所示:
    builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });
    

    在这些更改之后,错误应该消失了。

    阅读更多扩展场景here

    【讨论】:

      猜你喜欢
      • 2023-03-28
      • 2012-03-26
      • 1970-01-01
      • 2012-03-12
      • 2011-12-12
      • 2016-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多