C# .NETCore5中的MicrosoftOData-将OData添加到服务中会抛出一个缺少的using指令,但包仍然存在
我正在.NETCore5.0中开发。() 我用VisualStudio中最简单的API项目回到了绝对最低限度 今年早些时候,我在我的项目中使用了它,它运行在.NETCore5.0上。请参见上面的教程 在这个项目中,我创建了一个新项目。然后我去NuGet获取包“Microsoft.AspNet.OData”版本7.4.1 然后,我将以下内容添加到启动文件中C# .NETCore5中的MicrosoftOData-将OData添加到服务中会抛出一个缺少的using指令,但包仍然存在,c#,.net-core,odata,microsoft-odata,C#,.net Core,Odata,Microsoft Odata,我正在.NETCore5.0中开发。() 我用VisualStudio中最简单的API项目回到了绝对最低限度 今年早些时候,我在我的项目中使用了它,它运行在.NETCore5.0上。请参见上面的教程 在这个项目中,我创建了一个新项目。然后我去NuGet获取包“Microsoft.AspNet.OData”版本7.4.1 然后,我将以下内容添加到启动文件中 public void ConfigureServices(IServiceCollection services) { // Add
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddCors();
services.AddControllers();
services.AddOData(); //THIS ONE
}
我添加了“services.AddOData”并抛出了错误
错误CS1061“IServiceCollection”不包含“AddOData”的定义,并且找不到接受“IServiceCollection”类型的第一个参数的可访问扩展方法“AddOData”(是否缺少using指令或程序集引用?).JobsLedger.API C:\Users/../JobsLedger.API\Startup.cs 35 Active
我已经添加了此服务所需的软件包。几个月前我就让它工作了
您是否需要添加新的软件包
我做错了什么?或者这是一个我不知道的“突破性变化”如果您使用的是.net5.0,它需要odata 8.0预览版 根据本文,在rc2中,Sam Xu做了一个突破性的改变 “AddOData已从ISerivceCollection上的扩展更改为IMvc(核心)生成器上的扩展。 首先调用AddControllers(),然后调用AddOData(),迁移很容易。“
您是否使用Microsoft.AspNet.OData.Extensions添加了
代码>在你的Startup.cs中?我解决了这个问题,回到了我原来的项目实际构建的地方,然后再次升级包。这一次它现在构建了,是的,我注意到我确实在上面建议的using语句中已经有了建议。您不应该使用Microsoft.AspNetCore.OData
?注意:8.0版预览版有一些突破性的更改
services.AddControllers()
.AddOData(opt => opt.AddModel("odata", GetEdmModel()));