"找不到方法:'System.Text.Json.JsonEncodedText System.Text.Json.JsonEncodedText.Encode(System.String,System.Text.Encodings.Web.JavaScriptEncoder)

"Method not found:'System.Text.Json.JsonEncodedText System.Text.Json.JsonEncodedText.Encode(System.String,System.Text.Encodings.Web.JavaScriptEncoder)

当我尝试在 Azure 函数中使用 Azure.Search.Documents 时,抛出了 Json 异常。

环境摘要:VS Code、HttpTrigger Azure Function:V3、netcoreapp3.1

相同的完整堆栈跟踪是:

" 在 Azure.Search.Documents.Models.SearchResults1.DeserializeAsync(Stream json, ObjectSerializer serializer, Boolean async, CancellationToken cancellationToken)\r\n at Azure.Search.Documents.SearchClient.SearchInternal[T](SearchOptions options, String operationName, Boolean async, CancellationToken cancellationToken)\r\n at Azure.Search.Documents.SearchClient.SearchInternal[T](String searchText, SearchOptions options, Boolean async, CancellationToken cancellationToken)\r\n at Azure.Core.Pipeline.TaskExtensions.EnsureCompleted[T](Task1 任务)\r\n 在 Azure.Search.Documents.SearchClient.Search[T](String searchText, SearchOptions options, CancellationToken cancellationToken)\r\n 在 SearchService.Utility.RunQueries(SearchClient srchclient, String inputVal, String gender, String body_part, String age_group)"

这是由于 azure 函数中的库不匹配造成的。安装最新版本的 System.Text.Json 可确保该函数具有可用的正确方法。