【问题标题】:Azure Functions Core Tool - Cannot access a disposed object. Object name: 'IServiceProvider'Azure Functions 核心工具 - 无法访问已处置的对象。对象名称:'IServiceProvider'
【发布时间】:2020-03-19 16:25:44
【问题描述】:

当我尝试在本地环境中运行 Azure 函数时,我收到此错误:

如果我尝试使用 v2,我会遇到同样的错误。

我已经检查了所有这些问题:

Azure/azure-functions-host#4521 Azure/azure-functions-host#4520

另外,我尝试重新安装 Visual Studio 并更新到最新版本的 Azure Function Core Tools。

如果我通过 Visual Studio 2019 或使用 func host start 从命令行运行函数应用,则会出现此问题。我也尝试设置不同的端口号。

有人有解决这个问题的办法吗?

更新

我发现 VS 启动 x64 版本可能会导致问题。当我下载 func-cli-3.0.2358-x86.msi,为项目设置调试,它就可以工作了。

如何设置 VS 运行 x86 cli?

【问题讨论】:

  • 您的项目中引用了哪个版本的“Microsoft.NET.Sdk.Functions”?
  • Microsoft.NET.Sdk.Functions 3.0.5

标签: azure-functions azure-functions-core-tools


【解决方案1】:

您的 local.settings.json 可能有错误。

例如,错误:

可以通过移除来修复:

 "Host": {
"CORS": "*",
"CORSCredentials": true
}

来自 local.settings.json

【讨论】:

  • 有效,为什么?既然这是微软推荐的?
【解决方案2】:

如果您的local.settings.json 是:

{
  ...
  "Host": {
    "CORS": "*",
    "CORSCredentials": true
  }
}

尝试将* 替换为特定域,例如http://localhost:8000 什么的。

【讨论】:

    【解决方案3】:

    您可能正在运行一个 x64 实例,并阻止它再次运行并显示该错误消息。如果您运行多个实例,则可能与 x86 相同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-11
      • 2020-04-23
      相关资源
      最近更新 更多