我有一个 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/