Azure WebJob-创建目录失败

问题描述 投票:3回答:1

我正在尝试从VisualStudio发布一个天蓝色的webjob,但是它失败并出现错误

处理处理'创建目录'时遇到错误在“ D:\ home \ site \ wwwroot \ app_data”上。错误代码为0x80070002。找不到文件“ D:\ home \ site \ wwwroot \ app_data”。在Microsoft.Web.Deployment.NativeMethods.RaiseIOExceptionFromErrorCode(Win32ErrorCodeerrorCode,可能是String(FullPath))Microsoft.Web.Deployment.DirectoryEx.CreateDirectory(字符串路径)在Microsoft.Web.Deployment.DirPathProviderBase.CreateDirectory(StringfullPath,DeploymentObject源)位于Microsoft.Web.Deployment.DirPathProviderBase.Add(DeploymentObject源,布尔值whatIf)发布无法部署。

当我在门户网站中登录此WebApp并打开终端时,看不到web_app文件夹。当我尝试使用mkdir创建它时,它失败,并带有

系统找不到指定的文件。

我进行了更多测试-无法在其中创建任何文件夹!

为什么wwwroot文件夹可能被锁定?

如果我在其他WebApp上尝试相同的操作-一切正常。我不想重新创建webapp

UPDATE

使用WEBSITE_RUN_FROM_ZIP = 1选项部署应用程序。它是一个.NetCore 2.1 Web应用程序。

所以下一个问题是:

1)如何使用dotbet publish命令将要发布的WebJob应用程序添加到与webapp相同的程序包中? (类似于https://stackoverflow.com/a/50046561/1300049

2)或如何将WebJob部署到VSTS中的替代位置,例如d:\home\site\jobs\

UPDATE 2

找到了我不太喜欢的解决方法。但这有效。但我乐于寻求更好的解决方案。

此是基于以下列出的2个答案(https://stackoverflow.com/a/40049524/1300049https://stackoverflow.com/a/46661421/1300049):

1)在构建阶段,使用带有类似于此答案中提供的参数的魔术参数的MSBuild来构建整个解决方案-https://stackoverflow.com/a/46661421/1300049

2)然后,仍处于构建阶段,为webapp项目运行dotnet publish,但不压缩

3)作为构建的最终协议,将webjob的“ app_data”(来自步骤1)复制到webapp的发布位置(步骤2),并将其全部压缩在一起。

4)在发布阶段,照常使用工件进行部署。只需确保您删除了使用“ WEBJOBS_ROOT_PATH”环境变量来解决问题的所有先前尝试即可...

visual-studio azure azure-devops azure-webjobs
1个回答
0
投票

对我有用的是进入Azure门户,删除“ WEBSITE_RUN_FROM_ZIP”配置设置,然后重新发布。

© www.soinside.com 2019 - 2024. All rights reserved.