【问题标题】:Cannot publish ASP.NET Web API to Azure App Service无法将 ASP.NET Web API 发布到 Azure 应用服务
【发布时间】:2021-08-09 00:24:37
【问题描述】:

当我尝试将我的 ASP.NET Web API 发布到 Azure 应用服务时出现此错误。

发布遇到错误。 确保您的应用程序的 Startup.cs 从 ConfigureServices 中调用 AddSwaggerGen 以生成 swagger 文件。访问https://go.microsoft.com/fwlink/?LinkId=2131205&CLCID=0x409了解更多信息。

我无法找出问题所在。我觉得一切都很好。

配置服务功能:

public void ConfigureServices(IServiceCollection services)
        {
            services.AddDbContext<StatsVal_APIContext>(options =>
                    options.UseSqlServer(Configuration.GetConnectionString("StatsVal_APIContext")));
            services.AddControllers();
            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1", new OpenApiInfo { Title = "StatsVal_API", Version = "v1" });
            });
            services.AddCors(opt =>
            {
                opt.AddPolicy(name: _policyName, builder =>
                {
                    builder.AllowAnyOrigin()
                        .AllowAnyHeader()
                        .AllowAnyMethod();
                });
            });
        }

感谢您的帮助!

【问题讨论】:

  • 您是否还在您的 Startup.Configure 方法中添加了app.UseSwagger(); 等,如下所示:docs.microsoft.com/en-us/aspnet/core/tutorials/…
  • 是的,已经有了。
  • 您能否添加您的 Startup 类的完整代码、您在管道中使用的 Azure 构建命令以及 azure 管道中的错误屏幕截图(假设您使用 azure 管道来构建和发布您的 api应用程序)

标签: c# asp.net azure


【解决方案1】:

尝试使用最新版本的 Swashbuckle.AspNetCore。这是官方的解决方法
https://github.com/domaindrivendev/Swashbuckle.AspNetCore/issues/2006

将 global.json 文件添加到您的 Web API 项目

把这个放进去:

{ "sdk": { "version": "3.1.406", "rollForward": "latestPatch" } }

【讨论】:

  • 这不起作用,我在 net 5 上运行它。
【解决方案2】:

我发现问题与发布配置文件有关。我做了一个新的,它可以工作。感谢您的帮助。

【讨论】:

    猜你喜欢
    • 2022-11-21
    • 2021-09-24
    • 2020-06-24
    • 2014-11-01
    • 1970-01-01
    • 2018-12-19
    • 1970-01-01
    • 1970-01-01
    • 2019-06-26
    相关资源
    最近更新 更多