web-dev-qa-db-ja.com

Azure Function App-発行に失敗しました

Azure Function Appを公開(WebDeploy)できません(耐久性のある機能であり、重要ではありませんが、万が一の場合に備えて)。これは今日から始まりました。

Visual Studioの出力ウィンドウに「発行に失敗しました」というポップアップと以下のエラーメッセージが表示されます。

エラーメッセージ

<ProjectName> -> C:\search\source\<Solution Folder>\obj\Release\netstandard2.0\PubTmp\Out\
C:\Program Files\dotnet\sdk\2.1.202\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0\PublishTargets\Microsoft.NET.Sdk.Publish.MSDeploy.targets(139,5): error : Web deployment task failed. (Could not connect to the remote computer ("<functionappname>.scm.azurewebsites.net"). On the remote computer, make sure that Web Deploy is installed and that the required process ("Web Management Service") is started.  Learn more at: http://go.Microsoft.com/fwlink/?LinkId=221672#ERROR_DESTINATION_NOT_REACHABLE.) [<projectname>.csproj]
C:\Program Files\dotnet\sdk\2.1.202\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0\PublishTargets\Microsoft.NET.Sdk.Publish.MSDeploy.targets(139,5): error : The requested resource does not exist, or the requested URL is incorrect. [<projectname>.csproj]
C:\Program Files\dotnet\sdk\2.1.202\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0\PublishTargets\Microsoft.NET.Sdk.Publish.MSDeploy.targets(139,5): error : Error details: [<projectname>.csproj]
C:\Program Files\dotnet\sdk\2.1.202\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0\PublishTargets\Microsoft.NET.Sdk.Publish.MSDeploy.targets(139,5): error : Could not connect to the remote computer ("<functionappname>.scm.azurewebsites.net"). On the remote computer, make sure that Web Deploy is installed and that the required process ("Web Management Service") is started.  Learn more at: http://go.Microsoft.com/fwlink/?LinkId=221672#ERROR_DESTINATION_NOT_REACHABLE. [<projectname>.csproj]
C:\Program Files\dotnet\sdk\2.1.202\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0\PublishTargets\Microsoft.NET.Sdk.Publish.MSDeploy.targets(139,5): error : The remote server returned an error: (404) Not Found. [<projectname>.csproj]
  Publish failed to deploy.

関数ランタイム-ベータ版

ブラウザーでFunction App Urlにアクセスすると、「Your Function App 2.0 preview is up and running」というメッセージが表示されますが、Kuduポータルでも問題は発生していません。

関数を削除し、同じ名前で再作成しましたが、うまくいきません。

どんな助けも大歓迎です。

更新:これも私が得ている別のエラーです。

C:\Program Files\dotnet\sdk\2.1.202\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0\PublishTargets\Microsoft.NET.Sdk.Publish.MSDeploy.targets(139,5): error : Web deployment task failed. ((7/25/2018 1:16:27 PM) An error occurred when the request was processed on the remote computer.) [<Project Name>.csproj]
C:\Program Files\dotnet\sdk\2.1.202\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0\PublishTargets\Microsoft.NET.Sdk.Publish.MSDeploy.targets(139,5): error :  [<Project Name>.csproj]
C:\Program Files\dotnet\sdk\2.1.202\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0\PublishTargets\Microsoft.NET.Sdk.Publish.MSDeploy.targets(139,5): error : (7/25/2018 1:16:27 PM) An error occurred when the request was processed on the remote computer. [<Project Name>.csproj]
C:\Program Files\dotnet\sdk\2.1.202\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0\PublishTargets\Microsoft.NET.Sdk.Publish.MSDeploy.targets(139,5): error : An error was encountered when processing operation 'Create Directory' on 'D:\home\site\wwwroot\bin'. [<Project Name>.csproj]
C:\Program Files\dotnet\sdk\2.1.202\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0\PublishTargets\Microsoft.NET.Sdk.Publish.MSDeploy.targets(139,5): error : The error code was 0x800703E6. [<Project Name>.csproj]
C:\Program Files\dotnet\sdk\2.1.202\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0\PublishTargets\Microsoft.NET.Sdk.Publish.MSDeploy.targets(139,5): error : Invalid access to memory location. [<Project Name>.csproj]
C:\Program Files\dotnet\sdk\2.1.202\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0\PublishTargets\Microsoft.NET.Sdk.Publish.MSDeploy.targets(139,5): error :  [<Project Name>.csproj]
C:\Program Files\dotnet\sdk\2.1.202\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0\PublishTargets\Microsoft.NET.Sdk.Publish.MSDeploy.targets(139,5): error :    at Microsoft.Web.Deployment.NativeMethods.RaiseIOExceptionFromErrorCode(Win32ErrorCode errorCode, String maybeFullPath) [<Project Name>.csproj]
C:\Program Files\dotnet\sdk\2.1.202\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0\PublishTargets\Microsoft.NET.Sdk.Publish.MSDeploy.targets(139,5): error :    at Microsoft.Web.Deployment.FileSystemInfoEx.set_Attributes(FileAttributes value) [<Project Name>.csproj]
C:\Program Files\dotnet\sdk\2.1.202\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0\PublishTargets\Microsoft.NET.Sdk.Publish.MSDeploy.targets(139,5): error :    at Microsoft.Web.Deployment.DirPathProviderBase.Add(DeploymentObject source, Boolean whatIf) [<Project Name>.csproj]
  Publish failed to deploy.

ありがとう、プラヴィーン

9
Prawin

Azureポータルに移動し、関数アプリを停止し、vsから発行してから、もう一度開始します。

4
aldo

SCMでWebDeployを使用すると、エラーを再現できません。 SCMの使用を避けるためにWEBSITE_WEBDEPLOY_USE_SCMをfalse(アプリケーション設定)に設定すると、2番目のエラーのようにAn error was encountered when processing operation 'Create Directory' on 'wwwroot'が表示されました。

試すべきいくつかのオプション:

  1. ブラウザでhttps://functionappname.scm.azurewebsites.netにアクセスして、ネットワーク環境が正常であり、ファイアウォールの制限がないかどうかを確認します。
  2. 公開時にプロキシがFiddlerのように設定されているかどうかを確認します。
  3. ポータルに移動し、Reset publish credentials、次にDownload publish profileに進みます。古い公開プロファイルを削除し、新しいプロファイルをインポートして再度公開します。
  4. これらの提案がすべて失敗した場合は、その機能に関連する古いリソースをすべて削除してください。次に、新しいアプリサービスプランとストレージを使用して新しい機能アプリを作成します。この新しいアプリに公開してみてください。
3
Jerry Liu

これは、何らかの理由で以下を必要とする変更を行ったときに私に起こるようです。

  1. プロジェクトを再ビルドします(ローカルで実行できることを確認してください)。
  2. クリックして公開しますが、その前に「アプリケーション設定の管理」をクリックしてクイックチェックを行い、「OK」をクリックします。
  3. 公開しようとしました。
  4. 失敗した場合は、Visual StudioとAzureポータルを閉じ(実行を停止するか、関連するすべてのオブジェクトを無効にして)繰り返します。

最悪の場合、新しいプロファイルを作成してそこに展開します。

1
John Drinane

私にとっては見逃しがちでした...しかし、Azureの機能はVisual Studio 2017からの公開をブロックしていました。

必要なのは、Azureでの機能の再起動です。

1)Azure Portalに移動し、関数アプリをクリックします。

2)関数の名前をクリックし、[概要]タブで2行目のメニューに[再起動]が表示されます。 (行に表示されます:停止-交換-再起動-公開プロファイルの取得など)

3)[再起動]をクリックします

4)Visual Studio 2017に戻り、再公開します。

最初に見逃したエラーメッセージ:

C:\Program Files\dotnet\sdk\2.2.103\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0\PublishTargets\Microsoft.NET.Sdk.Publish.MSDeploy.targets(140,5): error : Web deployment task failed. (Web Deploy cannot modify the file 'MyApp.Functions.dll' on the destination because it is locked by an external process.  In order to allow the publish operation to succeed, you may need to either restart your application to release the lock, or use the AppOffline rule handler for .Net applications on your next publish attempt.  Learn more at: http://go.Microsoft.com/fwlink/?LinkId=221672#ERROR_FILE_IN_USE.) [C:\Github\2019AzureBlobLocalOnly\MyApp.Functions\MyApp.Functions.csproj]
0
Andrew Chung