【发布时间】:2021-07-09 07:41:22
【问题描述】:
我们有一个 cshtml-View,它像这样调用 ViewComponent:
@await Component.InvokeAsync("WetterAPIViewComponent")
ViewComponent 本身是这样定义的:
[ViewComponent(Name = "WetterAPIViewComponent")]
public class WetterAPIViewComponent : ViewComponent
{
// ...
}
所以它有 ViewComponent 属性,是公共的和非抽象的。
不幸的是,我仍然收到以下错误:
System.InvalidOperationException: '找不到名为'WetterAPIViewComponent' 的视图组件。视图组件必须是公共的非抽象类,不包含任何通用参数,并且要么用“ViewComponentAttribute”装饰,要么具有以“ViewComponent”后缀结尾的类名。视图组件不能用“NonViewComponentAttribute”修饰。'
我在这里做错了什么?
提前致谢
【问题讨论】:
-
可能有点牵强,但错误表明属性 OR 以 ViewComponent 结尾,您似乎两者都有
-
我一开始没有 ViewComponent 属性,它不起作用
-
嗨@xeraphim,无法重现与您相同的问题。尝试清理并重建项目。确保项目中的所有 nuget 包都与 .net core sdk 匹配。
-
谢谢@Rena,清理和重建实际上效果惊人!
-
嗨@xeraphim,我已经发布了答案。记得接受它作为帮助他人的答案。
标签: c# asp.net .net asp.net-core