Мы разрабатываем набор функций Azure для нашего нового продукта.Мы используем внедрение зависимостей для нашего проекта в соответствии со стратегией, упомянутой в следующей статье
https://blog.wille -zone.de / post / azure-functions-dependency-инъекция /
и зарегистрировал расширение в Startup.cs
Это нормально работает в локальной среде разработки.Однако когда мы попытались опубликовать это Azure, среда выполнения функций Azure не обнаруживала введенные зависимости.Мы нашли похожую проблему в следующей статье sctak over flow.com
IExtensionConfigProvider не инициализируется и не связывается с Microsoft.Azure.WebJobs v3
Мы внесли изменения в соответствии с ихрекомендация в принятом ответе.В соответствии с этим
"В C # SDK 1.0.19 просматривает время сборки для классов, приписываемых атрибутом сборки WebJobsStartup в текущем проекте функции или любой зависимости (ProjectReference или PackageReference) текущего проекта, и генерирует соответствующиефайл extensions.json. "
Однако мы столкнулись со странной проблемой. Когда мы делаем сборку релиза, в файле extensions создается запись класса запуска. json
{"extensions": [{"name": "AzureStorage", "typeName": "Microsoft.Azure.WebJobs.Extensions.Storage.AzureStorageWebJobsStartup, Microsoft.Azure.WebJobs.Extensions.Storage, Версия = 3.0.0.0, Culture =нейтральный, PublicKeyToken = 31bf3856ad364e35 "}, {" name ":" Startup "," typeName ":" AAA.BBBB.Functions.Startup, AAA.BBB.Functions, Version = 1.0.0.0, Culture = нейтральный, PublicKeyToken = null "}]}
однако при попытке публикации запись класса запуска НЕ создается в extensions.json
{"extensions": [{"name ":" AzureStorage "," typeName ":" Microsoft.Azure.WebJobs.Extensions.Storage.AzureStorageWebJobsStartup, Microsoft.Azure.WebJobs.Extensions.Storage, Версия = 3.0.0.0, Культура = нейтральная, PublicKeyToken = 31bf353636] 364}
Мы в тупике и не знаем в чем проблема