$元数据 url returns 404 与 Microsoft.AspNetCore.OData 8.0.0-rc2

$Metadata url returns 404 with Microsoft.AspNetCore.OData 8.0.0-rc2

7.5.8 更新到 Microsoft.AspNetCore.OData8.0.0-rc2 后,~/odata/$metadata url 不再工作,它只是 returns 404 - Not found.

在我提交错误之前,我的配置是否有误?

我关注了this blog and the somewhat updated documentation in the Git repo

这是我 7.5.8 的原 Startup.cs:

public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddRouting();
        services.AddOData();
    }

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        app.UseRouting();
        app.UseEndpoints(endpoints =>
        {
            endpoints.MapODataRoute("odata", "odata", GetEdmModel());
        });
    }
}

这里我为 8.0.0-rc2 更改了 Startup.cs:

public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddControllers().AddOData(opt => opt.AddModel("odata", GetEdmModel()));
    }

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        app.UseRouting();
        app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllers();
        });
    }
}

(我删除了没有改变的无关部分。)

我找到了解决方案:

我不得不将 csproj 文件中的 sdk 从 Microsoft.NET.Sdk.Worker 更改为 Microsoft.NET.Sdk.Web

(基本上该项目是一个 .NET 5 SDK-style Windows Service / BackgroundWorker,其中包含 Asp.Net Core API。)

这似乎不是 8 之前的早期版本的问题。*