【问题标题】:AspNetCore OData not working on .NET Core 3.0AspNetCore OData 不适用于 .NET Core 3.0
【发布时间】:2020-01-26 06:37:50
【问题描述】:

我刚刚将 ASP.NET Core 2.2 项目升级到 ASP.NET Core 3.0,但我的 OData 端点拒绝工作。在启动过程中,我收到以下错误:

System.TypeLoadException:“无法从程序集“Microsoft.AspNetCore.Mvc.Core,版本=3.0.0.0,文化=中性,PublicKeyToken=adb9793829ddae60”加载类型“Microsoft.AspNetCore.Mvc.Internal.ActionConstraintCache”。

如何解决这种类型解析问题?

【问题讨论】:

  • 是的,基本上他们在 .net core 3 中内置了 ActionConstraintCache。因此,如果您希望 odata 现在可以工作,只需在 odata 程序集中手动修复它或等到 .net core 3 支持 odata
  • 不过似乎没有明确的时间表。我确实在其中一个报告的问题中看到了关于 Microsoft 没有像他们对 gRPC 那样对 OData 给予那么多爱的长篇大论。
  • 您只需要添加一些技巧即可使其正常工作。看到这个thread
  • @johnny5,谢谢。我审查了该线程和其他喜欢它的人。看来我们必须等待,看看在 .NET Core 3.1 进入 RTM 时是否会准备好一些东西。我没有足够的带宽来想出解决方法。我的团队很小,我们有大量的可交付成果。

标签: asp.net-core odata asp.net-core-3.0


【解决方案1】:

我整天都在努力解决这个错误。终于发现问题了:Odata 根本不兼容.NET Core 3.0。关注this thread 了解更多信息。

【讨论】:

  • 那么,关于这个库何时会升级到 .NET Core 3 有任何消息吗?
  • 我不知道他们(通常是 MS)如何不承认 OData 团队实际上阻止了迁移或升级到 .NET Core 3?自 10 个月以来,OData 团队一直在抱怨 .NET Core 的“硬”变化。很遗憾听到开发人员的生活如此艰难。甚至在几个月前,他们为自己辩护说“.NET Core 仍处于预览版 5 中,发布时还有足够的时间做好准备”。他们在预发布阶段阻止了迁移/更新,现在发布后仍然阻止,仍然是借口。很抱歉浪费了您的时间,我 3 个月前也这样做了。
  • @g.pickardou,希望他们能看到并采取行动。社区中对此的不满情绪似乎在增加。
  • 关于此的任何消息 :)
  • @DživoJelić Odata 团队和 ASP.NET 团队现在正在研究它,并期待在月底发布早期版本:github.com/OData/WebApi/issues/1748#issuecomment-553293774 同时,如果你真的需要它,你可以看看这个:github.com/OData/WebApi/issues/1748#issuecomment-554484326我还没试过。
猜你喜欢
  • 1970-01-01
  • 2020-04-05
  • 2023-01-29
  • 2012-06-08
  • 1970-01-01
  • 2020-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多