【问题标题】:How to fix error publishing to azure function如何修复错误发布到天蓝色功能
【发布时间】:2020-05-04 09:46:20
【问题描述】:

我有一个在 Visual Studio 2019 中制作的函数应用程序。我想将此应用程序发布到 Azure 中已存在的天蓝色函数。但是当我尝试从 VS 发布时,出现以下错误:

我尝试将 VS 更新到最新版本并将 Microsoft.NET.Sdk.Functions 数据包更新到版本 1.0.35,因为以下版本需要 .NetCore 3 而我使用 .NetCore 2.1。我也尝试做一个 Webdeploy 但得到了同样的错误。

当我将 .NetCore 版本更改为 3.1 并执行 WebDeploy 时,我现在收到此错误:

我查了一下,有人说要把 WEBSITE_RUN_FROM_PACKAGE 的值改为 0,我试过这个,甚至尝试删除这个,它仍然给出了同样的错误。

我也尝试了 ZIP-deploy,然后我得到了这个错误:

我在更改版本时还编辑了运行时设置。

我的项目结构:

在地图中 IntentFunctions 是其他 6 个天蓝色函数。

即使从 VS 创建一个新的应用服务然后发布也不行。

我看到大多数其他 azure 函数应用程序的每个函数都有一个 json 文件,而我没有这个只有 host.json 文件,这可能是问题吗?

有人知道解决办法吗? 提前致谢

【问题讨论】:

    标签: c# .net-core azure-functions


    【解决方案1】:

    我不认为你的问题是函数的版本。如果应用程序部署成功但无法启动,框架版本将成为问题。根据日志,您的问题是 ZIP 包无法到达服务器。

    我之前在家里从 VS 部署时也遇到过类似的问题,问题是家庭互联网连接速度慢。

    这是帮助我的链接: Publish to Azur fails with 500 internal Server Error

    更新答案

    我通常不信任 Visual Studio,因为它在幕后做了很多事情并缓存了大量数据以提高性能。相反,您可以尝试使用 Microsoft 在此处 https://docs.microsoft.com/en-us/azure/azure-functions/deployment-zip-push 解释的另一种发布方式,例如休息调用或 azure cli。

    【讨论】:

    • 我认为网速不是问题,我检查了一下,我的上传速度是 20Mbps,而且错误很快就发生了。
    • 我通常不信任 Visual Studio,因为它在幕后做了很多事情并缓存了大量数据以提高性能。您可以尝试使用 Microsoft 在此处 docs.microsoft.com/en-us/azure/azure-functions/… 解释的另一种发布方式,例如休息调用或 azure cli。
    • ZIP 部署成功!我之前没有尝试过,因为使用 kudu 上传 ZIP 不起作用,但使用 az 可以。感谢您的帮助
    • @JorenGoossens 似乎很多人都有类似的问题。请标记为已接受的答案,以便更多人得到帮助。
    【解决方案2】:

    Azure Functions 似乎默认使用 .Net Core 3。如果您想更改版本,请根据此链接:https://docs.microsoft.com/en-us/azure/azure-functions/functions-versions,您应该能够将 FUNCTIONS_EXTENSION_VERSION 应用程序设置更改为 ~2。 您也可以像这样在 .csproj 中设置 AzureFunctionsVersion:<AzureFunctionsVersion> v2 </AzureFunctionsVersion>

    【讨论】:

    • 感谢您的回答,我想问一下是否可以更改版本,因为公司使用2.1的所有内容并希望修复它。
    • 这不是问题,我正确更改了版本,不幸的是遇到了其他错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 2019-05-10
    • 2020-11-11
    • 2021-08-15
    • 2020-03-22
    相关资源
    最近更新 更多