我无法发布(WebDeploy)我的Azure Function应用程序(这是一个耐用的功能,我知道它无关紧要,但是以防万一)。这是今天开始发生的。
我的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.
函数运行时-beta
当我在浏览器中访问Function App Url时,收到“您的Function App 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.
谢谢, Praveen
答案 0 :(得分:5)
不知道是否已关闭,但在将新的SDK版本部署到较旧的Azure功能应用程序时遇到了相同的问题。这是我所做的: 与其从Azure门户下载部署配置文件,不如使用Visual Studio自动部署创建一个新的配置文件。 这很重要-从Visual Studio部署时,它应该要求您升级已部署应用程序的版本,单击“是”,您的应用程序将被部署。
答案 1 :(得分:2)
将WebDeploy与SCM一起使用时无法重现错误。当我在应用程序设置中将WEBSITE_WEBDEPLOY_USE_SCM
设置为false以避免使用SCM时,我看到An error was encountered when processing operation 'Create Directory' on 'wwwroot'
就像您遇到的第二个错误。
可以尝试的几种选择:
https://functionappname.scm.azurewebsites.net
,以检查您的网络环境是否正常并且没有防火墙限制。 Reset publish credentials
和Download publish profile
。删除旧的发布配置文件,然后导入新的配置文件以再次发布。答案 2 :(得分:1)
转到azure门户,停止功能应用,从vs发布,然后重新开始。
答案 3 :(得分:0)
对我来说很容易错过...但是,Azure上的Function阻止了我从Visual Studio 2017中发布。
需要的是在Azure上重新启动功能。
1)转到Azure门户,然后单击进入“功能”应用。
2)单击“函数”的名称,然后在“概述”选项卡中-在第二行菜单中,您应该看到“重新启动”。 (您将在以下行中看到它:停止-交换-重新启动-获取发布配置文件...等。)
3)单击重新启动
4)返回到Visual Studio 2017并重新发布。
我最初错过的错误消息:
img.fitHeightProperty().bind(Bindings.createDoubleBinding(() -> button.getFont().getSize(), button.fontProperty()));
答案 4 :(得分:0)
当我由于某些原因需要进行以下更改时,这似乎发生在我身上。
最坏的情况是创建一个新的配置文件并部署到该配置文件。
答案 5 :(得分:0)
我通过在应用程序设置上将WEBSITE_RUN_FROM_PACKAGE
设置为0
来解决此问题。我通过将WebDeploy包从Azure DevOps同步到App Service文件系统来上传功能文件,而不是通过.zip包运行它。
在https://docs.microsoft.com/bs-cyrl-ba/azure/azure-functions/run-functions-from-deployment-package上介绍了如何从部署程序包中运行功能以及以这种方式进行操作的所有好处,但是请记住:
d:\home\data\sitepackages
(不要使用msdeploy动词“ sync”在wwwroot上同步文件系统)答案 6 :(得分:-1)
与@Andrew Chung类似的问题,其中Azure中的文件被锁定,并且无法删除旧功能的dll文件。我试图升级到.NET core,并从另一个项目发布。不幸的是,直到为时已晚,我才看到他的回应,并按照@Jerry Liu的建议(#4)删除了功能应用程序并添加了一个新应用程序。直到我用不同的名称重新创建了该应用程序后,这似乎才对我不起作用。我怀疑xxxx.scm.azurewebsites.net仍指向您已退役的旧应用程序的IP地址时,可能存在DNS冲突。