azure - Azure Functions V2 每次发布前都必须停止函数,因为 dll 很忙
问题描述
所以这在 V2 上是新的,当我使用 Visual Studio 发布时(可能也使用 vsts 发布)。它说dll很忙,它在V1中没有这样做过。
我想停止这些功能很好(或者我也可以进行插槽部署,尽管我的所有功能都被触发和安排,所以我真的不需要插槽)。因此,在“停止”时,它仍然会像功能在关闭/切换之前所做的那样优雅停止 30 秒(当我问到播客时听到这个)。如果我在停止后重新部署,我想这样就可以了。事情将等待我从 azure queue 和 schedule 触发。
唯一的问题是必须按开始和停止而不是仅仅发布有点痛苦。我不确定它是否应该这样做。除非停止,否则发布似乎永远不会起作用,为什么不让它自动停止该功能呢?
解决方案
看起来你遇到了 ERROR_FILE_IN_USE 。
您可以在发布配置文件中配置 appOffline 规则(在解决方案资源管理器> 属性> PublishProfiles> *.pubxml 中)。将 EnableMSDeployAppOffline 设置为 true,如下所示。
<PropertyGroup>
...
<EnableMSDeployAppOffline>true</EnableMSDeployAppOffline>
...
</PropertyGroup>
此设置使应用程序脱机,因此文件锁定被释放,您的应用程序将在部署后自动启动。
推荐阅读
- cassandra - Apache Cassandra 配置文件中的堆栈大小配置选项?
- swift - Swiftui如何在子视图关闭时刷新父视图消失
- excel - VBA将多个工作簿中的单元格复制到另一个工作表中
- three.js - shapeGeometry 可以在三个维度上使用吗?
- r - 如何找到矩阵中的唯一元素(每个单元格)及其出现次数?
- c# - 处理空显示和保存到 SQL
- ios - Swift - PFObject 从保存回调而不是布尔返回自身
- javascript - 修改引用值而不是引用值
- python - 输入多个以空格分隔的条目
- python - 如何将系列数据从初始范围缩放/映射到 [0-1] 时间范围