Azure Function App忽略依赖关系

标签 azure azure-functions

我有一个连接到数据库的 Azure 函数,但它失败并显示以下消息 -

The type or namespace name 'Npgsql' could not be found (are you missing a using directive or an assembly reference?)

project.json 中,我有以下声明 -

{
  "frameworks": {
    "net46":{
      "dependencies": {
        "Npgsql": "3.2.2",
        "System.Runtime.Serialization.Formatters": "4.3.0"
      }
    }
  }
}

奇怪的是,我有完全相同的函数(从八达通部署)在另一个函数应用程序(较低的环境)上运行,没有问题。

有谁能够解释为什么我的依赖关系在一个功能应用程序中被忽略,而在另一个功能应用程序中却没有被忽略?

最佳答案

因此,这似乎是由于 Function App 的部署方式造成的。我正在使用 Octopus,通过“部署 Azure Web 应用程序”流程步骤进行部署,似乎发生的只是旧文件被删除,更新的文件被复制。

问题是,据我所知,除非您通过门户编辑文件然后保存,否则 project.json 中的依赖关系不会得到解决。

我不确定这是否可以被归类为 Octopus 或 Azure 中的错误(或者只是非常懒惰的功能应用程序实现),但这非常令人沮丧。从本质上讲,它使得远程部署包含对 function.json 的更改的 Function App 变得不可能。

关于Azure Function App忽略依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45148517/

相关文章:

azure - 在部署之前评估 Azure ARM 模板

azure - 使用企业代理实现 Azure Key Vault

sql-server - 为 Windows Azure 虚拟机打开端口

c# - 在 Application Insights 中记录失败请求的请求正文的最佳实践是什么?

azure - 检查 Azure 虚拟机是否已关闭

javascript - 如何在 JavaScript Azure Functions 中共享代码?

azure - 为什么准备 Linux VM 部署的 SSL 证书时 'az vm secret format' 命令失败?

python - 使用 python 在 azure 函数中并行调用方法

c# - 有没有办法对连接到 Azure SignalR 的用户进行身份验证?

c# - 如何配置 Azure Function v3 使用的默认 JsonSerializerOptions (System.Text.Json)?