Rider + Azure Functions 本地运行程序间歇性故障:值不能为空。 (参数“提供者”)

问题描述 投票:0回答:1

我一直在 Rider 中开发 Azure Functions 项目,并且从历史上看,能够很好地运行本地函数。

然后我重新格式化了我的电脑,重新安装了 Rider + 依赖项,并再次从源代码控制中提取了函数项目。

然后,本地函数执行成功。

然后,我在一天结束时关闭了计算机,并在第二天将其重新打开。

然后,本地函数运行失败:

Found C:\Users\<REDACTED>.csproj. Using for user secrets file configuration.
Error building configuration in an external startup class.
Error building configuration in an external startup class. System.Private.CoreLib: Could not load file or assembly '<REDACTED>, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.
A host error has occurred during startup operation '4f18f32c-7b8a-4e9d-8939-9244c464baae'.
Microsoft.Azure.WebJobs.Script: Error building configuration in an external startup class. System.Private.CoreLib: Could not load file or assembly '<REDACTED>, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.
Value cannot be null. (Parameter 'provider')

我很着急,所以我只是使用源代码控制来拉取 Azure Functions 工作区的第二个副本,并且执行得很好!

然而,这现在已成为一种重复模式。现在我不太着急,我试图弄清楚到底发生了什么,因为这太浪费时间了!这是模式:

  1. 将源克隆到新的 Azure Functions 工作区 使用以前从未使用过的名称
  2. 本地函数运行器工作正常
  3. 我每天晚上都会关电脑
  4. 本地函数不再起作用
  5. 重复步骤1

突出显示第 1 点中强调的文本:使用从未使用过的名称。即使我删除了现有工作区(包括从 Rider 中删除),再次克隆它,并在 Rider 中重新打开它,仍然会发生相同的故障。相反,我必须为新工作区使用新名称。

这向我表明存在某种缓存奇怪现象。我尝试删除一堆不同的缓存但无济于事:工作区中的

bin
obj
,我的用户目录中的
.azurefunctions
.dotnet

现在没有想法了!您还能想到我应该尝试删除的其他缓存吗?或者其他想法?

如果相关,它是一个使用进程内工作模型的

net6.0
C# Azure Functions 项目 (
AzureFunctionsVersion V4
)。还有其他团队成员通过 Rider 在本地运行这些功能,而没有遇到此错误 🤔

c# azure azure-functions rider azure-functions-core-tools
1个回答
0
投票

您遇到的错误可能是由于项目中的软件包版本不兼容或配置问题造成的。

请按照以下步骤解决问题:

  1. 导航到您的项目目录=>删除
    bin
    obj
    文件夹并重建项目。
  2. 这将迫使 Rider 从头开始清理和重建整个项目,并解决配置问题(如果有)。
  3. 清除 Rider 中的缓存,导航至
    File=>Invalidate Caches=>Invalidate Restart

enter image description here

  1. 导航至
    Tools=>NuGet=> Manage NuGet Packages
    =>将依赖项升级到最新版本。

enter image description here

  1. 在 Visual Studio、Visual Studio Code 或 Azure CLI 等其他 IDE 中运行相同的项目,检查问题是否出在 Rider IDE 或项目上。
  • 要在 Azure CLI 中运行该函数,您必须使用命令安装 Azure function core Tools。
npm i -g azure-functions-core-tools@4 --unsafe-perm true

enter image description here

如果问题仍然存在,请重新安装 Rider 和/或 .NET SDK 并再次检查。

© www.soinside.com 2019 - 2024. All rights reserved.