如何在不生成function.json的情况下从VS2017部署功能应用程序?

时间:2018-09-16 02:10:32

标签: azure-functions

当我部署Function App时,它会在门户中显示一条消息

Your app is currently in read-only mode because you have 
published a generated function.json. 
Changes made to function.json will not be honored by the Functions runtime

使用link to this topic指出function.json并不意味着可以直接对其进行“编辑”

我知道如何通过these instructions

使该功能在Azure中运行

但是,当我从Visual Studio重新发布功能时,会再次出现只读问题。

如何预防?

3 个答案:

答案 0 :(得分:3)

如果您是从VS发布功能应用程序,那么您实际上不应该试图阻止它生成function.json,也不要尝试在生成它之后对其进行修改。在处理已编译的.NET Function应用程序时,这根本无法正常工作。

因此,除了问自己如何解决这个问题外,您需要退后一步并集中精力解决您要解决的实际问题,几乎可以肯定的解决方案不涉及尝试乱用function.json。

换句话说,通过VS进行部署时,您甚至不需要意识到存在function.json的事实。这是一个实现细节,您将永远不会直接处理此文件。

答案 1 :(得分:1)

这以前是一个错误,the link you mentioned可以解决。

此错误已经修复了一段时间,因此您应该可以将“ FUNCTION_APP_EDIT_MODE”设置为“ readwrite”,甚至VS生成的功能也应遵循“应用设置”标志。

因此问题可能是您的设置当前为“只读”或根本没有设置,在这种情况下,它可能默认为“只读”。尝试将其设置为“ readwrite”,并希望能够解决您所看到的问题。

在github上查看这些与错误相关的文档链接。

VS generated functions can become read/write #1971

ReadOnly because function.json was auto generated should respect the read\write flag #1913

您甚至可以查看已更改的代码:)

Code Changes

答案 2 :(得分:0)

这两个答案都帮助我发现我应该使用项目“发布”选项卡上的“管理应用程序设置”链接。当我右键单击该项目并选择“发布”时,这将可见。