首页 > 解决方案 > Azure Functions V2 每次发布前都必须停止函数,因为 dll 很忙

问题描述

所以这在 V2 上是新的,当我使用 Visual Studio 发布时(可能也使用 vsts 发布)。它说dll很忙,它在V​​1中没有这样做过。

我想停止这些功能很好(或者我也可以进行插槽部署,尽管我的所有功能都被触发和安排,所以我真的不需要插槽)。因此,在“停止”时,它仍然会像功能在关闭/切换之前所做的那样优雅停止 30 秒(当我问到播客时听到这个)。如果我在停止后重新部署,我想这样就可以了。事情将等待我从 azure queue 和 schedule 触发。

唯一的问题是必须按开始和停止而不是仅仅发布有点痛苦。我不确定它是否应该这样做。除非停止,否则发布似乎永远不会起作用,为什么不让它自动停止该功能呢?

标签: azureazure-functions

解决方案


看起来你遇到了 ERROR_FILE_IN_USE

您可以在发布配置文件中配置 appOffline 规则(在解决方案资源管理器> 属性> PublishProfiles> *.pubxml 中)。将 EnableMSDeployAppOffline 设置为 true,如下所示。

<PropertyGroup>
  ...
  <EnableMSDeployAppOffline>true</EnableMSDeployAppOffline>
  ...
</PropertyGroup>

此设置使应用程序脱机,因此文件锁定被释放,您的应用程序将在部署后自动启动。


推荐阅读