Microsoft.Azure.WebJobs.Extensions.Http:无法加载文件或程序集

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

我在 VS Code 的虚拟环境中工作,我不明白为什么会收到此错误:

[2022-07-19T10:00:31.580Z] A host error has occurred during startup operation '609dfded-e9f5-4fc4-b3a3-554bde11a415'.
[2022-07-19T10:00:31.582Z] Microsoft.Azure.WebJobs.Extensions.Http: Could not load file or assembly 'System.Net.Http.Formatting, Version=5.2.8.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. The system cannot find the file specified.
Value cannot be null. (Parameter 'provider')

我应该检查什么?

azure
13个回答
47
投票

在 Azure 函数 Api 项目上将 nuget 包 Microsoft.NET.Sdk.Functions 从 4.1.3 回滚到 4.1.1。

重建解决方案。


18
投票

这为我解决了这个问题,希望对其他人有帮助

  • 关闭 Visual Studio
  • 删除文件夹 C:\Users***\AppData\Local\AzureFunctionsTools
  • 重新启动 Visual Studio。
  • 启动应用程序,重新创建文件夹。

摘自 无法升级 Azure Functions Core Tools,异常“无法创建类型为“NuGet.Versioning.VersionRange”的实例”


14
投票

我也遇到了这个问题,我的解决方案是重新下载并重新安装Azure Function Core Tools。我认为安装两次就解决了我的问题。


5
投票

我只是更新了图像下方的 vs 选项:

这次更新解决了我的问题


3
投票

我们在将

Microsoft.Azure.WebJobs.Extensions.Http
更新为
3.2.0
后遇到了类似的问题 使用 Rider 的开发人员没有任何问题,但 Visual Studio 用户无法运行我们的项目。

这篇文章为我们解释了:https://weblogs.asp.net/sfeldman/updating-azure-functions-tools。 只需创建一个新的 Azure Functions 项目,即可将 AzureFunctionsTools 的最新版本下载到

\AppData\Local\AzureFunctionsTools

然后我们就可以正常运行项目了。


2
投票

对我来说,重新启动 Azure Functions Core Tools 安装程序并选择修复修复了问题。这两天我也遇到了这个问题,真的很烦人。


2
投票

就我而言,我只是在我的 vs code 项目中执行了这个命令,其中我将使用的工具是 v4 :

npm install -g azure-functions-core-tools@4 --unsafe-perm true


1
投票

我对此问题的解决方案是进入 Windows Defender 并排除:

C:\Program Files\Microsoft\Azure Functions Core Tools\func.exe

然后,我重新安装了 Azure Functions Core Tools v4,一切都按预期运行。

诗。排除后,请确保给系统更新时间。我重新启动,一切都按预期进行。希望这对某人有帮助。


1
投票

直到昨天我尝试更新 Azure Function Core Tools 时才遇到这个问题(https://learn.microsoft.com/en-us/azure/azure-functions/functions-run-local?tabs=v4%2Cwindows% 2Ccsharp%2Cportal%2Cbash)这解决了问题,我现在可以使用 CLI 运行我的函数的项目


1
投票

我认为原因是 Visual Studio(或 VS Code)使用的 Azure Functions Core Tools(以下简称 AFCT)没有正确版本的 Microsoft.Azure.WebJobs.Extensions.Http.dll。安装 AFCT 不会直接影响任何内容,因为 VS 使用存储在其他地方的自己的版本。我的策略是安装最新的 AFCT 版本并将 VS 指向该新版本。

这些说明适用于 x64 Windows。

  1. 安装最新的 Azure Functions 核心工具
  2. 使用下面的PowerShell代码,移动VS的旧版本AFCT,然后将VS指向新安装的版本

移动旧的AFCT,将VS指向新版本

# Find Afct in Program Files
$PfMicrosoftPath = Join-Path -Path $env:ProgramFiles -ChildPath 'Microsoft'
$AfctPath = Join-Path -Path $PfMicrosoftPath -ChildPath 'Azure Functions Core Tools'

# Find the latest Aft in your Local AppData
$VsAftPath = Join-Path -Path $env:LOCALAPPDATA -ChildPath 'AzureFunctionsTools'
$VsAftReleasePath = Join-Path -Path $VsAftPath -ChildPath 'Releases'
$VsLatestAfctPath = Get-ChildItem -Path $VsAftReleasePath | Sort-Object -Property Name -Descending | Select-Object -First 1 -ExpandProperty FullName
$VsAfctCliPath = Join-Path -Path $VsLatestAfctPath -ChildPath 'cli_x64'
$VsAfctBackupPath = Join-Path -Path $VsLatestAfctPath -ChildPath 'cli_x64_backup'

# Move the existing AFCT and create a symlink
Move-Item -Path $VsAfctCliPath -Destination $VsAfctBackupPath -Confirm:$true    
New-Item -Type Junction -Path $VsAfctClipath -Target $AfctPath`

1
投票

接受的答案并没有完全解决我的问题,但我确实发现 Microsoft.NET.Sdk.Functions(4.1.3) 包确实导致了这个问题,但我发现另一个包也会导致这个问题,所以它会取决于您的应用程序中还有哪些其他软件包。

因此,首先将该软件包降级到(4.1.1),如果这不能解决问题,请降级所有软件包并逐个升级它们,并在每次升级后尝试运行该应用程序。 就我而言,与上述包一起导致问题的另一个包是 Microsoft.Extensions.Http.Polly(7.0.0),对我有用的最高包是 (6.0.11)


0
投票

您可以检查您的机器并使用最新版本的 azure-functions-coretools。 对于使用 Rider 的用户,请转到设置 > 工具 > Azure > 功能 > 将工具升级到最新版本(4.0.4785 版本修复了我的问题)。


0
投票

可能不是解决此问题的正确/企业方法,但我通过备份文件夹的内容使其正常工作

C:\Users{名称}\AppData\Local\AzureFunctionsTools\Releases .32。

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