gpt4 book ai didi

linux - 将.net core 3.1 Web应用部署到Azure Linux应用服务

转载 作者:行者123 更新时间:2023-12-05 07:12:51 24 4
gpt4 key购买 nike

我已在 Azure Devops 中设置版本,以将 .net core 3.1 应用部署到 Azure 中的 Linux 应用服务。这似乎将代码推送到 Azure,但推送到了一条非常奇怪的路径:

索引/wwwroot/Content/d_C/a/1/s/[MyProject]/obj/Release/netcoreapp3.1/PubTmp/Out/

这包含所有 dll,然后是一个 wwwroot 目录,其中包含我的 Web 项目中找到的所有文件和文件夹。

这是我的 Release set up 。有人知道为什么我的版本没有发布到/home/site/wwwroot/吗?其他人说这是网站应该发布到的地方。我需要在 Azure 门户中设置一些东西还是这是 DevOps 的东西?

最佳答案

此有线路径不应与 Azure 应用服务部署任务或 Azure 门户的配置相关(只需确保 Azure 门户中的物理路径值为site/wwwroot).

我猜您正在使用 Visual studio 构建任务 来构建您的项目,对吗?因为如果我使用 VSbuild 任务来构建我的 .net core 应用程序,我会遇到类似的路径结构。如果是的话,其他人告诉你的都是正确的。如果您在构建管道中使用 Visual studio 构建任务,这是默认操作。

其他人已经详细解释了这一点,也提供了相应的解决方案。可以引用这个#1有关此默认操作的解释。并检查这个#2用于解决问题。

Therefore I can safely assume that you are developing ASP.NET Core 3.0 app to be hosted in Ubuntu. Any .NET Core 3.0 (or later) application means that you should rely on the dotnet build instead of using VSBuild.

Also you had stated that you will host the app on Ubuntu 18.x, then you should also run the build on Azure DevOps agent that runs on Ubuntu. This means you should only use dotnet build in DotNetCoreCLI@2 task, because VSBuild task only runs on Windows based agent, not Ubuntu and it is intended to compile .NET Framework and other platform other than .NET Core.

所以,为了实现你想要的,这里你需要使用 dotnet build task构建您的 .net core 3.1 项目。

- task: DotNetCoreCLI@2
displayName: Build
inputs:
command: 'build'
projects: PATH/TO/YOUR/Project.csproj
arguments: --output $(System.DefaultWorkingDirectory)/publish_output --configuration Release

关于linux - 将.net core 3.1 Web应用部署到Azure Linux应用服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60314815/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com