Asp.net core $Metadata url返回404和Microsoft.AspNetCore.OData 8.0.0-rc2
从Asp.net core $Metadata url返回404和Microsoft.AspNetCore.OData 8.0.0-rc2,asp.net-core,odata,.net-5,Asp.net Core,Odata,.net 5,从7.5.8更新到Microsoft.AspNetCore.OData到8.0.0-rc2后,~/OData/$metadataurl不再工作,它只返回404-未找到。 在我提交bug之前,我的配置是否有误 我遵循和更新了中的文档 这是我为7.5.8编写的原始Startup.cs: 公共类启动 { public void配置服务(IServiceCollection服务) { services.AddRouting(); services.AddOData(); } public void配置(
7.5.8
更新到Microsoft.AspNetCore.OData
到8.0.0-rc2
后,~/OData/$metadata
url不再工作,它只返回404-未找到。
在我提交bug之前,我的配置是否有误
我遵循和更新了中的文档
这是我为7.5.8
编写的原始Startup.cs
:
公共类启动
{
public void配置服务(IServiceCollection服务)
{
services.AddRouting();
services.AddOData();
}
public void配置(IApplicationBuilder应用程序、IWebHostEnvironment环境)
{
app.UseRouting();
app.UseEndpoints(端点=>
{
MapODataRoute(“odata”,“odata”,GetEdmModel());
});
}
}
这里是我为8.0.0-rc2
更改的Startup.cs
:
公共类启动
{
public void配置服务(IServiceCollection服务)
{
services.AddControllers().AddOData(opt=>opt.AddModel(“odata”,getedmdodel());
}
public void配置(IApplicationBuilder应用程序、IWebHostEnvironment环境)
{
app.UseRouting();
app.UseEndpoints(端点=>
{
endpoints.MapControllers();
});
}
}
(我删除了没有更改的不相关部分。)我找到了解决方案:
我不得不将csproj文件中的sdk从Microsoft.NET.sdk.Worker
更改为Microsoft.NET.sdk.Web
(基本上,该项目是一个包含Asp.NET核心API的.NET 5 Windows Service/BackgroundWorker。)
8之前的早期版本似乎没有问题。*您的意思是您的项目是ASP.NET经典项目吗?@SamXu a.NET 5 ASP.NET核心项目