si2*_*030 5 c# odata .net-core microsoft-odata
我正在 .net core 5.0 中开发。(Sam Xu 有一个关于迁移到 dotnet core 5 的教程)
我已经回到了 Visual Studio 中最简单的 API 项目的绝对最低限度。
今年早些时候,我在我的项目中进行了这项工作,它在 .net core 5.0 上运行。请参阅上面的教程。
在这个项目中,我创建了一个新项目。然后我去NuGet获取包“Microsoft.AspNet.OData”版本7.4.1
然后我将以下内容添加到启动文件中。
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddCors();
services.AddControllers();
services.AddOData(); //THIS ONE
}
Run Code Online (Sandbox Code Playgroud)
我添加了“services.AddOData”并抛出了错误,
错误 CS1061“IServiceCollection”不包含“AddOData”的定义,并且找不到接受“IServiceCollection”类型的第一个参数的可访问扩展方法“AddOData”(您是否缺少 using 指令或程序集引用?) JobsLedger.API C:\Users/.../JobsLedger.API\Startup.cs 35 活动
我已经添加了此服务所需的包。现在我几个月前就开始工作了。
是否有需要添加的新包?
我做错了什么,还是这是我不知道的“重大变化”?
如果您使用的是 .net5.0,则需要 odata 8.0 预览版。
在 rc2 中,根据这篇文章https://devblogs.microsoft.com/odata/attribute-routing-in-asp-net-core-odata-8-0-rc/,Sam Xu 做了一个突破性的改变。
“AddOData 从 ISeivceCollection 上的扩展更改为 IMvc(Core)Builder 上的扩展。 通过先调用 AddControllers(),然后调用 AddOData(),迁移很容易。 ”
services.AddControllers()
.AddOData(opt => opt.AddModel("odata", GetEdmModel()));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1383 次 |
最近记录: |