我一直在 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 点中强调的文本:使用从未使用过的名称。即使我删除了现有工作区(包括从 Rider 中删除),再次克隆它,并在 Rider 中重新打开它,仍然会发生相同的故障。相反,我必须为新工作区使用新名称。
这向我表明存在某种缓存奇怪现象。我尝试删除一堆不同的缓存但无济于事:工作区中的
bin
和obj
,我的用户目录中的.azurefunctions
和.dotnet
。
现在没有想法了!您还能想到我应该尝试删除的其他缓存吗?或者其他想法?
如果相关,它是一个使用进程内工作模型的
net6.0
C# Azure Functions 项目 (AzureFunctionsVersion V4
)。还有其他团队成员通过 Rider 在本地运行这些功能,而没有遇到此错误 🤔
您遇到的错误可能是由于项目中的软件包版本不兼容或配置问题造成的。
请按照以下步骤解决问题:
bin
和 obj
文件夹并重建项目。File=>Invalidate Caches=>Invalidate Restart
。Tools=>NuGet=> Manage NuGet Packages
=>将依赖项升级到最新版本。npm i -g azure-functions-core-tools@4 --unsafe-perm true
如果问题仍然存在,请重新安装 Rider 和/或 .NET SDK 并再次检查。