从 .NET 8 升级时如何使用 MapStaticAssets

问题描述 投票:0回答:1

在startup.cs文件行升级到.NET 9后的ASP.NET 9 MVC应用程序中

app.UseStaticFiles();

被替换为line

 app.MapStaticAssets();

根据https://learn.microsoft.com/en-us/aspnet/core/fundamentals/static-files?view=aspnetcore-9.0

这会导致编译时错误 CS1929

“IApplicationBuilder”不包含定义 “MapStaticAssets”和最佳扩展方法重载 'StaticAssetsEndpointRouteBuilderExtensions.MapStaticAssets(IEndpointRouteBuilder, string?)' 需要类型的接收器 'Microsoft.AspNetCore.Routing.IEndpointRouteBuilder'

如何使用MapStaticAssets?

c# asp.net-mvc visual-studio asp.net-core .net-9.0
1个回答
0
投票

“IApplicationBuilder”不包含定义 “MapStaticAssets”和最佳扩展方法重载 'StaticAssetsEndpointRouteBuilderExtensions.MapStaticAssets(IEndpointRouteBuilder, string?)' 需要类型的接收器 'Microsoft.AspNetCore.Routing.IEndpointRouteBuilder'

无法重现问题。根据错误信息,问题可能与您的计算机中没有添加.NET 9 SDK和Runtime有关。

因此,您可以检查并尝试以下操作:

  1. 使用最新版本的 Visual Studio 并安装 .NET 9.0 运行时(通过 Visual Studio 安装程序)

    vs install

  2. 检查项目文件,确保使用的是

    .net9.0
    TargetFramework,并将相关包升级到9.0版本。

    package version

  3. 打开根文件夹,删除bin和obj文件夹,然后重建应用程序。

另外,使用MapStaticAssets时,请参考以下代码:

program

最后,如果仍然无法工作,请尝试创建一个新的.NET 9 MVC应用程序并检查它是否工作。

© www.soinside.com 2019 - 2024. All rights reserved.