代码之家  ›  专栏  ›  技术社区  ›  Prawin

Azure Function App-发布失败

  •  8
  • Prawin  · 技术社区  · 8 年前

    我在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.
    

    当我在浏览器中访问功能应用程序Url时,我会收到“你的功能应用程序2.0预览启动并运行”消息。而且,我在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.
    

    普拉文

    6 回复  |  直到 8 年前
        1
  •  12
  •   David Rodriguez    6 年前

    我通过设置 WEBSITE_RUN_FROM_PACKAGE 0 在应用程序设置上。我上传功能文件是通过将一个WebDeploy包从Azure DevOps同步到应用服务文件系统,而不是从.zip包运行它。

    https://docs.microsoft.com/bs-cyrl-ba/azure/azure-functions/run-functions-from-deployment-package 解释了如何从部署包中运行功能以及以这种方式运行的所有好处,但请记住:

    1. 只需将.zip部署包上载到 d:\home\data\sitepackages
    2. 添加packagename。txt只包含文件夹中包文件的名称,没有任何空格
        2
  •  9
  •   Harish    7 年前

    不知道这是否已关闭,但我在将新SDK版本部署到较旧的azure function应用程序时遇到了相同的问题。以下是我所做的: 使用visual studio automated deployment创建了一个新的部署配置文件,而不是从Azure portal下载部署配置文件。 这一点很重要-在从Visual studio部署时,它应该要求您升级已部署应用程序的版本,单击“是”,您的应用程序将被部署。

        3
  •  9
  •   amc software    7 年前

        4
  •  2
  •   Jerry Liu Phantom    8 年前

    将WebDeploy与SCM一起使用时无法再现错误。当我设置时 WEBSITE_WEBDEPLOY_USE_SCM 为了避免使用SCM,我看到了false(在应用程序设置中) 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 。删除旧的发布配置文件并导入新配置文件以再次发布。
        5
  •  1
  •   John Drinane    7 年前

    1. 重建项目(确保可以在本地运行)。
    2. 单击以发布,但在此之前,请单击“管理应用程序设置”
    3. 尝试发布。

    最坏的情况是创建一个新的概要文件并部署到该概要文件。

        6
  •  0
  •   Octo Palm Tree    7 年前

    我很容易错过……但Azure上的功能阻止了我从Visual Studio 2017发布。

    所需要的是重新启动Azure上的功能。

    1) 转到Azure门户并单击进入你的功能应用程序。

    3) 单击重新启动

    我最初错过的错误消息:

    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]
    
        7
  •  0
  •   Peter Henry    7 年前

    类似于@Andrew Chung,Azure中的文件被锁定,无法删除旧的函数dll文件。我试图升级到.NETCore并从另一个项目发布。不幸的是,我没有看到他的反应,直到太晚了,并按照刘的建议(#4)删除了功能应用程序,并添加了一个新的。这似乎对我不起作用,直到我用一个 不同的名称