AZFW0111: Функции Azure рабочий пакет не упоминается

Item Ценность
Идентификатор правила AZFW0111
Категория SDK
Severity Предупреждение

Причина

После восстановления сборка Microsoft.Azure.Functions.Worker.Core не была найдена в графе разрешённых пакетов проекта.

Описание правила

Ранние версии Azure.Functions.Sdk добавляли Microsoft.Azure.Functions.Workerкак неявную прямую ссылку на пакет. Поскольку это была прямая ссылка, NuGet закрепил его на версию, предоставляемую SDK, и молча понижал более высокие версии, запрошенные транзитивными зависимостями (например, интеграционные пакеты OpenTelemetry). О несоответствии версий не сообщалось во время восстановления, но оно вызывало ошибки во время выполнения, такие как System.MissingMethodException.

SDK больше не добавляет эту неявную отсылку. Вместо этого проект должен ссылаться на пакет worker — напрямую или через пакет, зависящий от него, — чтобы NuGet определял самую высокую версию, которую требует граф зависимостей. Эта цель проверяет, что рабочий пакет присутствует после восстановления, и предупреждает о его отсутствии.

Как исправить

Добавьте ссылку на Microsoft.Azure.Functions.Worker (или пакет, зависящий от него), например Microsoft.Azure.Functions.Worker.Grpc:

  <ItemGroup>
+   <PackageReference Include="Microsoft.Azure.Functions.Worker" Version="2.52.0" />
    <PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Http.AspNetCore" Version="2.1.0" />
  </ItemGroup>

Когда нужно подавлять предупреждения

Подавляйте это предупреждение только если проект намеренно не создаёт запускаемое приложение Функции Azure (например, общую библиотеку, используемую функциональным приложением). Подавить это, добавив AZFW0111 к NoWarn:

<PropertyGroup>
  <NoWarn>$(NoWarn);AZFW0111</NoWarn>
</PropertyGroup>