Публикация функции Azure не создает запись класса запуска в extensions.json

Мы разрабатываем набор функций Azure для нашего нового продукта. Мы используем внедрение зависимостей для нашего проекта, следуя стратегии, упомянутой в следующей статье.

https://blog.wille-zone.de/post/azure-functions-dependency-injection/

и зарегистрировал расширение в Startup.cs

Это нормально работает в локальной среде разработки. Однако, когда мы попытались опубликовать его в лазурном режиме, среда выполнения функций лазурного типа не обнаружила внедренные зависимости. Мы обнаружили похожую проблему в следующем сообщении sctak overflow.com

IExtensionConfigProvider не инициализируется или не связывается с Microsoft.Azure.WebJobs v3

Мы внесли изменения в соответствии с их рекомендацией в принятом ответе. Согласно этому

«В C # SDK 1.0.19 проверяет время сборки для классов, атрибутированных с помощью атрибута сборки WebJobsStartup в текущем проекте функции или любой зависимости (ProjectReference или PackageReference) текущего проекта, и генерирует соответствующий файл extensions.json».

Однако мы столкнулись со странной проблемой: когда мы делаем сборку релиза, запись класса запуска создается в файле extensions.json.

{"extension": [{"name": "AzureStorage", "typeName": "Microsoft.Azure.WebJobs.Extensions.Storage.AzureStorageWebJobsStartup, Microsoft.Azure.WebJobs.Extensions.Storage, Version = 3.0.0.0, культура = нейтральная, PublicKeyToken = 31bf3856ad364e35 "}, {" name ":" Startup "," typeName ":" AAA.BBBB.Functions.Startup, AAA.BBB.Functions, Version = 1.0.0.0, Culture = нейтральный, PublicKeyToken = null "}]}

однако, когда мы пытаемся опубликовать, запись класса запуска НЕ ​​создается в extension.json

{"extension": [{"name": "AzureStorage", "typeName": "Microsoft.Azure.WebJobs.Extensions.Storage.AzureStorageWebJobsStartup, Microsoft.Azure.WebJobs.Extensions.Storage, Version = 3.0.0.0, культура = нейтральная, PublicKeyToken = 31bf3856ad364e35 "}]}

Мы в тупике и не знаем, в чем проблема


person Sabarish Sathasivan    schedule 01.10.2018    source источник
comment
Вы используете функцию Azure v2 или v1?   -  person Thomas    schedule 02.10.2018
comment
V2 .net стандарт. Кажется, это работает, если мы вручную делаем запись в extension.json и загружаем ее через Azure CLI.   -  person Sabarish Sathasivan    schedule 02.10.2018
comment
Вероятная проблема при создании extensions.json Открытая проблема отслеживания: github.com/Azure/ azure-functions-host / issues / 3554   -  person Pragna Gopa    schedule 03.10.2018


Ответы (1)


Похоже, это известная проблема. Обратитесь к URL-адресу Github для получения более подробной информации -

https://github.com/Azure/Azure-Functions/issues/972#issuecomment-426708865

В настоящее время используется обходной подход

person Sabarish Sathasivan    schedule 04.10.2018