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

Razor类库加载不同位置视图异常排查(无需扩展IViewLocationExpander)

ASP.NET Core Razor类库插件系统ViewComponent渲染问题排查与解决

问题背景

基于ASP.NET Core的应用实现了插件系统(采用Razor类库),并启用Razor运行时编译。插件内ViewComponent采用自定义结构:

  • Components/SampleComponent.cs(ViewComponent逻辑类)
  • Views/SampleComponent.cshtml(视图文件)

核心问题现象

  • 在SampleComponent.Invoke方法中使用默认返回视图的写法(如return View();),渲染过程无报错,但最终输出内容为空;
  • 尝试使用绝对路径Plugins/{plugin_name}/Views/SampleComponent.cshtml指定视图路径时,应用直接抛出InvalidOperationException,提示找不到视图;
  • 需求:避免通过扩展IViewLocationExpander来解决问题,排查根本原因。

排查过程

  1. EDIT1:视图文件位置修正
    调试阶段发现,需将插件的Views文件夹放置在项目src目录下,而非bin目录,否则运行时无法正确识别视图文件,但修正后空渲染问题仍未解决。

  2. EDIT2:空渲染问题解决
    参考Stack Overflow对应方案,已解决空渲染问题。


内容的提问来源于stack exchange,提问作者luve

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 03:02:34