Azure网站部署“发布失败”

5

大家好,我是一名开发者!

我目前在最新版本的Visual Studio 2017 Professional - Version 15.8(.1)中遇到了一个问题。

自从升级到15.8版本后,我无法通过Web Deploy发布任何Azure Function。

每次我点击“发布”按钮时,都会弹出一个错误窗口,显示“发布失败”。输出窗口保持空白,通常情况下,我应该能够看到所有构建和发布的输出。

我尝试过:

  • 清理解决方案;删除%temp%;删除发布配置文件;重置Azure的发布凭据;重新生成并导入发布配置文件:仍然出现同样的错误
  • 卸载VS2017;清理所有残留物;重新安装VS2017:仍然出现同样的错误
  • 检查防火墙是否有任何被阻止的内容,并尝试为我的工作站添加一个例外以允许所有流量:仍然出现同样的错误
  • 尝试从不同的网络进行发布:仍然出现同样的错误
  • 在发布之前在Azure门户中停止函数:仍然出现同样的错误
  • 在Azure门户中:删除并创建一个新的空的Azure函数以进行发布:仍然出现同样的错误
  • 在Azure门户中:将“Function app edit mode”设置为只读/写入:仍然出现同样的错误
  • 尝试在浏览器中访问函数的终结点URL。没有问题。
  • 尝试从使用Visual Studio 2017 Pro版本15.7.1的同事的工作站进行发布:完全正常 - 像以前一样

我的问题:

  • 我是否遗漏了什么?除了安装旧版Visual Studio(这将是我的下一步)外,还有其他什么可以尝试的吗?
  • 这可能是最新的Azure工具或甚至是Visual Studio中的一个错误吗?
  • 为什么我的输出窗口没有给我任何信息来解决发布失败的问题?我是否遗漏了一些新选项以再次激活它?

我希望有人能指导我解决这个令人愤怒的问题 ;)


在发布之前,您是否尝试过在Azure门户中停止该函数? - aframestor
嗨,是的,我忘了在最初的帖子中提到这一点。我现在会添加它。 - Gaander
不确定的话,我还在使用15.7.5版本。现在可能更容易回退到以前的版本。 - aframestor
在门户中的“函数应用设置”下,'函数应用编辑模式'是只读还是读写?如果是只读,请尝试更改为读/写并查看是否可以发布。 - Kayes
嗨,Kaye。我刚刚尝试了你建议的方法,但不幸的是它没有起到帮助作用。 - Gaander
7个回答

4
我认为问题在于安装Visual Studio更新时,它会更改运行时版本,当您尝试部署时可能因此失败。
我自己也遇到了这个问题,当我通过Visual Studio手动创建新的发布配置文件时,它会提示我:“需要更新远程Azure Functions运行时版本”,点击“Yes”即可更新运行时并进行部署。
我在我的博客上写了关于这个问题的文章,链接在这里:https://cosmicdistortion.wordpress.com/2018/09/06/azure-functions-web-deployment-fails-after-visual-studio-update-to-version-15-8/

3
如果有帮助的话,我刚刚在 Azure 门户中停止了应用程序,发布了它,然后再次启动了应用程序 - 在我的情况下这起作用了。干杯!

2
在 Azure 的部署设置中摸索了一番后,我认为我成功解决了这个问题。我不确定到底是哪个步骤起了作用,但我已经可以重现解决方式并应用到我的所有待处理部署上了。而且,现在我在输出窗口中获得了我的发布日志,而没有改变 VS 中的任何选项。
所以,如果有人遇到同样的问题,请尝试以下操作 - 列表中的某个步骤将会触发其重新工作:
1. 进入 Azure 门户网站 -> 功能应用程序 -> 选择您的功能 -> 打开 "平台特性" 选项卡 2. 在 "代码部署" 下选择 "部署凭据"。 3. 更改凭据为您喜欢的任意内容并保存。 4. 从 "概述" 选项卡中重新下载发布配置文件。 5. 导入发布配置文件并从 VS 中发布。 6. 如果还是不行 7. 再次进入 Azure 门户网站 -> "总体" 选项卡。 8. 点击 "重置发布凭据" 9. 在 VS 中创建一个新的发布配置文件,并选中 "从 ZIP 运行"。尝试发布。然后恢复到旧的 Web Deploy 方法并再次尝试发布。 10. 如果依然无法工作 11. 从 "概述" 选项卡中重新下载发布配置文件。 12. 导入发布配置文件并从 VS 中发布。
我不知道为什么这样做能够解决问题,因为我认为 "代码部署" 凭据是纯粹可选的,过去我从未需要更改任何设置就可以发布一个功能,只需下载配置文件即可完成。所以 "某些事情" 发生了改变吗?也许我做错了什么?我真的说不清楚。

1
我最近遇到了这个问题,原因是我们的Azure帐户存在付款问题。然后似乎VS2017每次都尝试通过我们的问题帐户连接Azure Function App以验证可用性,而不是使用发布配置文件。
解决方案很简单,删除所有的Azure帐户(文件>帐户设置),然后再次单击发布(假设您已经插入了下载的发布配置文件),然后就可以开始了。

0

不确定这是否会对任何人有所帮助,但在我的情况下,我打开了一个带有KUDU(高级工具)控制台的选项卡,在那里运行了我的应用程序(dotnet MyApp.dll)。它一直在那里运行并阻止我的发布,所以我不得不停止它。


0

对我有用的方法是,我必须启用基本身份验证,因为这对我来说是被禁用的。

AppService -> 配置 -> 常规设置 -> 基本身份验证 -> 将其打开

enter image description here


0

只需将其添加到应用服务设置中:

FUNCTIONS_EXTENSION_VERSION = ~1 

无论是远程还是本地。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接