web-dev-qa-db-ja.com

Azure Function:「Web Deployは外部プロセスによってロックされているため、宛先のファイルを変更できません」というメッセージで発行が失敗します。

Azure Functionsプロジェクトを開発していますが、初めて発行するときにOKです。その後、再度公開すると、このエラーが表示されます。

Web配置は、外部プロセスによってロックされているため、宛先のファイル 'FunctionApp5.dll'を変更できません。パブリッシュ操作を成功させるには、アプリケーションを再起動してロックを解除するか、次回のパブリッシュ時に.NetアプリケーションのAppOfflineルールハンドラーを使用する必要があります。詳細については、 http://go.Microsoft.com/fwlink/?LinkId=221672#ERROR_FILE_IN_USE を参照してください。

Azureポータルに入り、このAzure Function Appを再起動した場合にのみ公開されます

Azure Portal and Visual Studio 2017

33
Tony

セット

MSDEPLOY_RENAME_LOCKED_FILES=1 

通常、Azure Function Application Settingsでこれを解決しました

Configure

これは、Visual Studioの[公開]-> [アプリケーションの設定]でも実行できます。

Application Settings

48
Tony

私のAzure FunctionはV2にあり、FILE_IN_USEでロックダウンされました。

これには未解決の問題があります: https://github.com/Azure/azure-functions-Host/issues/569

Paul Batumの9月6日のコメントによると:

「Functions V2では、シャドウコピーの動作はありません(.NETコアには存在しないため)。ロックの問題が発生する可能性が高くなります。ただし、msdeployによって提供される「アプリをオフラインにする」機能のサポートを実装しました。」

そこで、アプリをオフラインにし、チェックしてみましたが、再試行してもファイルはロックされません。

3
SofterThoughts

この 記事 の後に、Web Deploy pubxmlにこのディレクティブを追加して、デプロイ中にFunctionアプリをオフラインにするよう指示することもできます。

<EnableMsDeployAppOffline>True</EnableMsDeployAppOffline>

2

更新された応答:ファイルがロックされている場合(アプリを手動で再起動する場合を除く)に実行できる手順に関するドキュメントを次に示します。 https://github.com/projectkudu/kudu/wiki/Dealing-with-locked-files-during-deployment

2
Marie Hoeger