Простое добавление Entity Framework Core в базовое приложение-функцию Azure приводит к ошибке - PullRequest
2 голосов
/ 11 декабря 2019

Очень просто описать:

  • Создайте новое решение, используя шаблон «Функции Azure» из Visual Studio 2019 (16.4.1).
  • Измените TargetFramework на .NET Core 3.1.
  • Он будет создан с помощью Microsoft.NET.Sdk.Functions (1.0.29).
  • Обновите его до последней версии (3.0.1).
  • Это не будет работать, потому что теперь нам потребуются другие пакеты nuget:
    • Microsoft.Azure.WebJobs.Core (3.0.14)
    • Microsoft.Azure.WebJobs.Extensions.Http (3.0.2)
  • В этот момент приложение запускается в эмуляторе. Просто запустите отладчик, и окно консоли покажет, что все в порядке и работает.

  • Теперь добавьте пакет Microsoft.EntityFrameworkCore (3.1.0)

На данный момент мы не коснулись ни одной строки кода,и мы только что добавили последние версии данных пакетов nuget, а также установили последнюю целевую платформу. Тем не менее приложение Azure Functions больше не работает, выдает эту ошибку при запуске эмулятора с отладчиком или без него:

Microsoft.Azure.WebJobs.Host: метод индексации ошибок «Function1».
Microsoft.Azure.WebJobs.Host: Невозможно привязать параметр 'log' к типу ILogger. Убедитесь, что параметр Type поддерживается привязкой. Если вы используете привязки расширений (например, хранилище Azure, ServiceBus, таймеры и т. Д.), Убедитесь, что вы вызвали метод регистрации расширений в вашем коде запуска (например, builder.AddAzureStorage (), builder.AddServiceBus (), builder.AddTimers () и т. д.).

1 Ответ

0 голосов
/ 12 декабря 2019

Обновление: только что проверил и отправил обновление для 3.1.0 - я бы проверил мой проект и попытался выяснить, есть ли у вас другие конфликтующие зависимости - но это работает с 3.1.0 и netcoreapp3.1

https://github.com/jeffhollan/functions-chsarp-entitycore-3

- Оригинальный ответ

Работал ли он с ядром сущности 3.0.1. Еще не пробовал с 3.1.0, но могу проверить позже. Пока это должно работать

...