我只是尝试添加图像并将其显示在导航抽屉中,这导致不渲染图像并简单地显示未找到图像的占位符。因此,进一步调查发现,使用“favicon.png”或“dotnet_bot.svg”等默认图像的原始项目中仍然存在该问题。
首先是我的设置:
我的项目目标是 Windows 桌面、Android (API 33/34)、Web。
我用于创建项目的项目模板也存在相同的问题,是
正如一开始提到的,我几乎只使用了原始模板项目。仅修改:我在 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 应用程序”模板项目会产生以下输出:
编辑: 我尝试了多种方法,但只能在第二个模板项目上渲染图像。因此,这里有一些关于我在“NET MAUI Blazor Hybrid and Web App”项目失败尝试的一些附加信息:
Web 项目通过模板缺少 wwwroot 目录...这可能是一个原因吗?图像不会以这种方式输出...是错误还是我的错?
可能任何人都知道我错过了什么愚蠢的东西......这只是一张照片不是吗......?!谢谢!
我也在使用 Visual Studio 17.12.0 Preview 2.1,该版本目前的设计似乎是随 .Net 9 一起提供的(这就是该项目模板生成的内容,尽管它似乎很乐意回滚到 .Net) 8)
即
Visual Studio 项目模板 这会生成以下项目 Visual Studio 项目
有趣的事情开始了,因为当图像等位于 Razor 类库 (RCL) 中时,页面将不再接受通常的语法,而是需要以下语法。
有关如何查找静态资产的完整详细信息请参见此处 BlazorWebView 静态资产
即_content/{包 ID}/{路径和文件名}
其中 {PACKAGE ID} 将是项目名称,除非在项目属性中另有设置