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

时间:2019-02-10 16:37:14

标签: azure asp.net-core .net-core azure-devops azure-web-sites

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

enter image description here

该版本和发行版可以完美运行,但是,一旦部署完成,网站将转到404(替换默认的Azure启动HTML页面)。我已经通过FTP进入WebApp,并看到文件已部署到计算机上,但是我看到有多个“ wwwroot”文件夹:

enter image description here

最上面的“ wwwroot”文件夹中确实包含我的应用程序的DLL,这是一个好兆头: enter image description here

奇怪的是,如果我导航到 / wwwroot /(filename),我可以从我的应用程序中获取静态文件,例如CSS,JS或favicon。 enter image description here

我很确定我已经正确设置了所有内容,因此我碰壁了。我从来没有像部署到Windows WebApp那样的问题,所以我确定文档中有我不知道或缺少的设置或内容。

有关此问题的更多详细信息,这里是我的作品:

enter image description here

...以及我的发布设置:

enter image description here

1 个答案:

答案 0 :(得分:0)

我遇到了类似的问题,这个问题归结为VS如何发布zip vs Dev Ops。如果返回Azure门户,则需要添加一个启动命令,以指定主DLL所在的位置。

https://docs.microsoft.com/en-us/azure/app-service/containers/app-service-linux-faq#built-in-images

enter image description here