繁体   English   中英

Azure WebJob - 创建目录失败

[英]Azure WebJob - Create Directory fails

我正在尝试从 VisualStudio 发布一个 azure webjob,但它因错误而失败

在“D:\home\site\wwwroot\app_data”上处理“创建目录”操作时遇到错误。 错误代码是 0x80070002。 找不到文件“D:\home\site\wwwroot\app_data”。 在 Microsoft.Web.Deployment.NativeMethods.RaiseIOExceptionFromErrorCode(Win32ErrorCode errorCode,字符串 maybeFullPath)在 Microsoft.Web.Deployment.DirectoryEx.CreateDirectory(字符串路径)
在 Microsoft.Web.Deployment.DirPathProviderBase.CreateDirectory(String fullPath, DeploymentObject source) 在 Microsoft.Web.Deployment.DirPathProviderBase.Add(DeploymentObject source, Boolean whatIf) 发布部署失败。

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

该系统找不到指定的文件。

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

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

如果我用不同的 WebApp 尝试同样的事情 - 一切正常。 我不想重新创建 webapp

更新

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

所以下一个问题是:

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

2) 或者如何将 WebJob 部署到其他位置,如 VSTS 中的d:\home\site\jobs\

更新 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”环境变量解决问题的所有尝试...

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM