Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core $Metadata url返回404和Microsoft.AspNetCore.OData 8.0.0-rc2_Asp.net Core_Odata_.net 5 - Fatal编程技术网

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核心项目