【问题标题】:ResourceManager not being instantiated by DI in ASP.NET Core Razor PagesResourceManager 在 ASP.NET Core Razor 页面中没有被 DI 实例化
【发布时间】:2021-08-08 02:43:25
【问题描述】:

我有一个包含 30 多个项目的大型复杂解决方案,我正在从 ASP.NET MVC 4.72 迁移到 ASP.NET Core 5。

当返回 Home/Index 视图时,Microsoft 的 RazorPagePropertyActivator.cs 类中出现问题。

红色框包含 _propertyActivators 数组,其中包含页面的属性。

绿色框包含该数组前 3 个值的 PropertyInfo 值。

请注意,前 2 个属性(因为完整的类名显示公司数据而被隐藏)列出了 FeatureFlag 和 CssViewHelper 属性的正确类型。 但是,第三个值(在浅蓝色框中)将 ResourceManager 映射到 System.Object。

黄色框中显示的异常是当 DI 系统尝试为 ResourceManager 提供具体实例化类时发生的情况。

有人知道为什么 ASP.NET Core 会尝试提供 System.Object 作为 ResourceManager 的类吗?我在我们的代码中找不到任何可以解释它的东西。在这一点上,我对任何和所有关于调查领域的疯狂想法或建议持开放态度!

【问题讨论】:

    标签: asp.net .net razor dependency-injection .net-5


    【解决方案1】:

    我将问题缩小到尝试在 _ViewImports.cshtml 中注入动态对象。

    我在这里跟进了一个更具体的问题: ASP.NET Core 5 How to Inject Dynamic Typed Object in _ViewImports.cshtml

    【讨论】:

      猜你喜欢
      • 2021-05-07
      • 2018-03-06
      • 2019-03-09
      • 2020-08-22
      • 2017-07-28
      • 1970-01-01
      • 2021-07-04
      • 1970-01-01
      • 2020-06-03
      相关资源
      最近更新 更多