.NET MAUI Blazor 混合图像未渲染

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

我只是尝试添加图像并将其显示在导航抽屉中,这导致不渲染图像并简单地显示未找到图像的占位符。因此,进一步调查发现,使用“favicon.png”或“dotnet_bot.svg”等默认图像的原始项目中仍然存在该问题。

首先是我的设置:

  • VS22 版本 17.12.0 预览版 1.0
  • 微软 Windows 11 10.0.22631 内部版本 22631
  • 尝试过 .NET 8 和 .NET 9 项目都遇到同样的问题
  • 更新了.NET 8/9 SDK (dotnet-sdk-9.0.100-rc.1.24452.12-win-x64/dotnet-sdk-8.0.401-win-x64)

我的项目目标是 Windows 桌面、Android (API 33/34)、Web。

我用于创建项目的项目模板也存在相同的问题,是

  • .NET MAUI Blazor 混合和 Web 应用程序(这是我的重点)
  • .NET MAUI Blazor-应用程序

正如一开始提到的,我几乎只使用了原始模板项目。仅修改:我在 home.razor 页面中添加了一个“”标签,如下所示:

@page "/"

<h1>Hello, world!</h1>

<img src="../../wwwroot/favicon.png" />
Welcome to your new app.
<img src="../../Resources/Images/dotnet_bot.svg" />

图像默认添加到项目中,没有自定义资源。这些路径由 VS 中的自动建议组成,将鼠标悬停在路径上将在 VS 中显示一个小缩略图,从而验证有效路径。第一个的构建操作是 Content,第二个的构建操作是 MauiImage。运行这些应用程序在“.NET MAUI Blazor-App”模板项目中工作正常,图像在 wwwroot 下标记为“内容”,但对于我重点关注的“.NET MAUI Blazor 混合和 Web 应用程序”模板项目会产生以下输出:

Target Android Target Windows Desktop Target Web

编辑: 我尝试了多种方法,但只能在第二个模板项目上渲染图像。因此,这里有一些关于我在“NET MAUI Blazor Hybrid and Web App”项目失败尝试的一些附加信息:

  • 首先,我更新并整合了我的所有核心内容,还升级到了 .net9
  • 升级并整合所有软件包映像后,桌面和 Android 目标上都显示了此部分修复,我相信此部分修复是因为升级到 .net9,因为一个全新的项目也有此问题!
  • 为了澄清起见,这里是我的解决方案结构(按模板): Solution Structure
  • 它仍然不适用于我的网络项目!

Web 项目通过模板缺少 wwwroot 目录...这可能是一个原因吗?图像不会以这种方式输出...是错误还是我的错? enter image description here

可能任何人都知道我错过了什么愚蠢的东西......这只是一张照片不是吗......?!谢谢!

image maui maui-blazor
1个回答
0
投票

我也在使用 Visual Studio 17.12.0 Preview 2.1,该版本目前的设计似乎是随 .Net 9 一起提供的(这就是该项目模板生成的内容,尽管它似乎很乐意回滚到 .Net) 8

Visual Studio 项目模板 这会生成以下项目 Visual Studio 项目

有趣的事情开始了,因为当图像等位于 Razor 类库 (RCL) 中时,页面将不再接受通常的语法,而是需要以下语法。

.razor 页面语法

有关如何查找静态资产的完整详细信息请参见此处 BlazorWebView 静态资产

即_content/{包 ID}/{路径和文件名}

其中 {PACKAGE ID} 将是项目名称,除非在项目属性中另有设置

项目属性-设置包ID

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