Анализатор «Microsoft. Azure .WebJobs.Extensions.DurableTask.Analyzers.FunctionAnalyzer» выдал исключение типа «System.NullReferenceException» - PullRequest
0 голосов
/ 15 апреля 2020

Я получаю это предупреждение при создании моего Azure проекта функций. В трассировке стека не так много деталей. Может кто-нибудь помочь мне разобраться в этой ошибке?

> CSC : warning AD0001: Analyzer
> 'Microsoft.Azure.WebJobs.Extensions.DurableTask.Analyzers.FunctionAnalyzer'
> threw an exception of type 'System.NullReferenceException' with
> message 'Object reference not set to an instance of an object.'.

Вот трассировка стека, если она поможет:

> Severity  Code    Description Project File    Line    Suppression State   Detail
> Description Warning   AD0001  Analyzer
> 'Microsoft.Azure.WebJobs.Extensions.DurableTask.Analyzers.FunctionAnalyzer'
> threw an exception of type 'System.NullReferenceException' with
> message 'Object reference not set to an instance of an
> object.'. 
        1   Active  Analyzer
> 'Microsoft.Azure.WebJobs.Extensions.DurableTask.Analyzers.FunctionAnalyzer'
> threw the following exception: 'Exception occurred with following
> context: Compilation: 
> 
> System.NullReferenceException: Object reference not set to an instance
> of an object.    at
> Microsoft.Azure.WebJobs.Extensions.DurableTask.Analyzers.ArgumentAnalyzer.TryGetInputFromDurableContextCall(SemanticModel
> semanticModel, SyntaxNode definitionInput, SyntaxNode&
> inputFromContext)    at
> Microsoft.Azure.WebJobs.Extensions.DurableTask.Analyzers.ArgumentAnalyzer.TryGetDefinitionInputType(SemanticModel
> semanticModel, ActivityFunctionDefinition functionDefinition,
> ITypeSymbol& definitionInputType)    at
> Microsoft.Azure.WebJobs.Extensions.DurableTask.Analyzers.ArgumentAnalyzer.ReportProblems(CompilationAnalysisContext
> context, SemanticModel semanticModel, IEnumerable`1
> availableFunctions, IEnumerable`1 calledFunctions)    at
> Microsoft.Azure.WebJobs.Extensions.DurableTask.Analyzers.FunctionAnalyzer.RegisterAnalyzers(CompilationAnalysisContext
> context)    at
> Microsoft.CodeAnalysis.Diagnostics.AnalyzerExecutor.<>c.<ExecuteCompilationActionsCore>b__46_1(ValueTuple`2
> data)    at
> Microsoft.CodeAnalysis.Diagnostics.AnalyzerExecutor.ExecuteAndCatchIfThrows_NoLock[TArg](DiagnosticAnalyzer
> analyzer, Action`1 analyze, TArg argument, Nullable`1 info)
> ----- '.

1 Ответ

1 голос
/ 15 апреля 2020

DurableTask Analyzer - это анализатор Roslyn, который проверяет ваш код на наличие несоответствий при работе с функциями Durable, чтобы помочь вам предотвратить распространенные ошибки. Теперь он является частью расширения DurableFunctions.

Используете ли вы последнюю версию Durable Functions, v2.2.1 ? Эта версия содержит самую последнюю версию DurableTask Analyzer v0.2.1 в качестве зависимости, и, похоже, в ней есть ошибка, вызывающая исключение.

Вы можете удалить зависимость Microsoft.Azure.WebJobs.Extensions.DurableTask.Analyzers в качестве обходного пути, чтобы избежать получить это исключение следующим образом:

  • Go в вашу локальную папку, где хранится пакет DurableTask. Для меня это: C:\Users\%User%\.nuget\packages\microsoft.azure.webjobs.extensions.durabletask\2.2.1
  • Откройте файл nuspec и закомментируйте (или удалите) две зависимости для Microsoft.Azure.WebJobs.Extensions.DurableTask.Analyzers, одну для .NETFramework4.6.1 и одну для .NETStandard2.0.
  • Сохраните nuspe c
  • В вашей среде IDE удалите ссылку на пакет для расширения DurableTask.
  • Снова добавьте расширение DurableTask. Поскольку пакет все еще находится в вашей локальной папке, он не должен загружать его с nuget.org. Он загрузит расширение, но не с помощью анализатора. Это глупо, но работает.

Я получаю ту же ошибку, что и вы, кстати. Я проверю проблемы на GitHub и добавлю туда новую, если это еще не сделано.

Обновление: Создана проблема GH .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...