簡體   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