使用DevOps将.Net Core部署到Azure上的Linux WebApps

使用DevOps将.Net Core部署到Azure上的Linux WebApps,azure,asp.net-core,.net-core,azure-devops,azure-web-app-service,Azure,Asp.net Core,.net Core,Azure Devops,Azure Web App Service,我有一个在windows机器上完美运行的.Net核心WebApp的构建/发布版本,但是我希望能够将相同的代码库部署到Linux。我设置了一个构建和发布版本,正在使用“Linux上的Web应用”部署到我的Linux Web应用。我还确保构建和WebApp上的运行时堆栈都设置为使用.Net Core 2.2: 构建和发布运行完美,但是一旦部署完成,网站就会转到404(替换默认的Azure启动HTML页面)。我已通过FTP将文件传输到WebApp,并看到文件已部署到计算机上,但我看到有多个“wwwr

我有一个在windows机器上完美运行的.Net核心WebApp的构建/发布版本,但是我希望能够将相同的代码库部署到Linux。我设置了一个构建和发布版本,正在使用“Linux上的Web应用”部署到我的Linux Web应用。我还确保构建和WebApp上的运行时堆栈都设置为使用.Net Core 2.2:

构建和发布运行完美,但是一旦部署完成,网站就会转到404(替换默认的Azure启动HTML页面)。我已通过FTP将文件传输到WebApp,并看到文件已部署到计算机上,但我看到有多个“wwwroot”文件夹:

顶部的“wwwroot”文件夹确实包含我的应用程序的DLL,这是一个好迹象:

奇怪的是,如果我导航到/wwwroot/(filename)

我很确定我已经把一切都安排好了,所以我在尝试的事情上遇到了困难。我在部署到Windows WebApps时从未遇到过这样的问题,因此我确信文档中有一个我不知道或缺少的设置或内容

有关此问题的更多详细信息,请参阅我的版本:

…和我的发布设置:


我也遇到了类似的问题,问题归结到VS是如何发布zip和开发操作的。如果返回Azure门户,则需要添加一个启动命令,指定主DLL的位置


至少根据Node.js教程,文件夹结构完全不同,.NET Core教程使用Git部署方法,尝试将“-r ubuntu.16.10-x64”添加到发布参数中,然后再次运行构建。它应该为linux创建一个自包含的asp.net核心应用程序,您的工件应该包含运行它所需的所有内容。谢谢Marcus。我刚试过,但得到了同样的结果。嗨@INNVTV,我遇到了同样的问题。你知道问题出在哪里了吗?嗨@MariusBughiu没有-我花了太多时间调试它,而选择使用Windows服务器。我计划在我有时间休息的时候再讨论这个问题,因为我想使用Linux来节省成本,并可能在将来迁移到Kubernetes。如果我解决了此问题,我将更新此问题。如果您先解决它,请执行同样的操作!!!!