You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET MAUI Blazor项目路径错误:文件超出应用包范围求助

修复.NET MAUI Blazor组件路径超出应用包范围的错误

问题背景

开发.NET MAUI Blazor项目的NativeClients模块时,Razor组件存放于HikaridoConnect.Shared项目的Pages文件夹,MAUI项目路径为HikaridoConnect.NativeClients\HikaridoConnect.NativeClients,遇到以下错误:

Error: The path '../../../../../../../work/1/s/HikaridoConnect.Shared/Components/MediaComponent/MediaTabPanel.razor' would result in a file outside of the app bundle and cannot be used.

解决方案

1. 修正组件引用的相对路径

  • 梳理项目层级:MAUI项目根目录到HikaridoConnect.Shared项目的正确相对路径应为../../HikaridoConnect.Shared(假设两个项目处于同级目录下),将错误的多层../路径替换为正确的短路径。
  • 推荐方式:避免手动写相对路径,通过命名空间引用组件。在MediaTabPanel.razor顶部添加命名空间指令:
    @namespace HikaridoConnect.Shared.Components.MediaComponent
    
    然后在MAUI项目的_Imports.razor中导入该命名空间:
    @using HikaridoConnect.Shared.Components.MediaComponent
    
    之后直接使用<MediaTabPanel />即可引用组件,无需写文件路径。

2. 检查并调整项目文件配置

  • 在HikaridoConnect.Shared.csproj中,确保Razor组件被标记为可共享的组件类型:
    <ItemGroup>
      <Component Include="Components/**/*.razor" />
      <Component Include="Pages/**/*.razor" />
    </ItemGroup>
    
  • 在MAUI项目的.csproj中,确认已正确引用Shared项目:
    <ItemGroup>
      <ProjectReference Include="..\..\HikaridoConnect.Shared\HikaridoConnect.Shared.csproj" />
    </ItemGroup>
    
  • 移除MAUI项目中任何手动添加的、路径错误的Content或EmbeddedResource引用,避免冲突。

3. 清理重建项目

执行以下命令清理缓存并重新构建:

dotnet clean
dotnet restore
dotnet build

内容的提问来源于stack exchange,提问作者Ahune ajé o ahe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 11:03:32