c# - Asp Core Web App,使用 Azure Devops 部署时为 404,通过 Visual studio 发布时为 200

标签 c# azure asp.net-core azure-devops

我有一个 Web 应用程序,当我通过 Visual Studio 发布到 Azure 应用服务时,它运行得很好,但是当通过 Azure 开发操作构建和发布应用程序时(所有任务都报告成功),我从主页收到 404 。我只是简单地发布发布版本。据我所知,没有什么奇怪的。

我最初以为这是我的 WebHost Builder UseUrls 调用。所以我改变了它:

.UseUrls(new[] { "http://*:44399" }) => .UseUrls(new[] { "http://localhost:44399","http://*:80" })

但这没有用。

我在应用服务上启用了诊断日志,但没有显示任何内容。

使用应用服务上的控制台,我可以浏览到 wwwroot 目录,并看到 azure dev ops 发布正在更新这些文件。还查看了环境变量,没有设置 ASPNETCORE_* vars。

不知道还能尝试什么。

程序.cs

    public static IWebHost BuildWebHost(string[] args)
    {
        return WebHost.CreateDefaultBuilder(args)
            .UseStartup<Startup>()
            .UseUrls(new[] { "http://localhost:44399","http://*:80" })
            .Build();

    }

    public static void Main(string[] args)
    {
        BuildWebHost(args).Run();
    }
}

谢谢!

最佳答案

我遇到了同样的问题,我无法让通过 Azure DevOps 管道部署的应用程序在 Azure AppService 上运行。

对我有用的是使用 Azure 门户而不是 Azure DevOps 门户来设置构建和发布管道。

如果您创建一个 Azure AppService 来通过 Azure 门户托管您的应用程序,然后转到其部署管理部分,您将找到(截至今天)一个用于创建部署的向导。在选项中,您将找到 Azure Pipelines(预览版)。按照向导操作应该会在 Azure DevOps 项目中创建一个新的构建和发布管道,并且还将触发它们。

这对我来说很有效。

总而言之,使用相同的 Azure DevOps 项目和 Azure AppService 资源,从前者手动创建构建和发布管道不起作用,但按照 Azure 上资源的部署管理部分中的向导自动创建它们门户工作正常。

快速浏览一下,这两个管道看起来与我手动创建的管道完全相同,但是你能做什么!

关于c# - Asp Core Web App,使用 Azure Devops 部署时为 404,通过 Visual studio 发布时为 200,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53138247/

相关文章:

在阶段之间传播期间第二次访问时,Azure Pipeline 变量值会丢失

azure - 如何使用 azure 门户或 PowerShell 将服务主体设置为应用程序注册所有者?

Azure 函数未使用 Azure CLI 进行部署

asp.net-core - asp.net core 中的 ContentDispositionHeaderValue.FileName 与 IFormFile.FileName

c# - Crystal Reports中如何获取列的总和?

c# - 为什么我不能将类库与 Asp.Net 5 MVC 6 项目中的 EF 6.1.3 一起使用

c# - C# .NET 中最流行/最常用/最重要的接口(interface)?

C# 对象声明

c# - 如何在容器中配置 dbcontext?

c# - 使用没有分离的服务和存储库的 CQRS 真的会影响代码质量吗?