元々netcoreapp2.1
をターゲットにしたAzure Function v2アプリがあります。
次に、 dependency injection を設定するために[Assembly: WebJobsStartup(typeof(Startup))]
アノテーションが付けられたStartup.cs
クラスがありますが、extensions.json
ファイルにStartup
を登録しませんでした。
これはbuild
中に発生しています。 現時点では別の問題があります 。
プロジェクトファイルのTargetFramework
をnetstandard2.0
に変更すると、Startup
がextensions.json
に正常に追加されます。
{
"extensions":[
{ "name": "AzureStorage", "typeName":"Microsoft.Azure.WebJobs.Extensions.Storage.AzureStorageWebJobsStartup, Microsoft.Azure.WebJobs.Extensions.Storage, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"},
{ "name": "Startup", "typeName":"MyApp.Functions.Startup, MyApp.Functions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"}
]
}
netcoreapp2.1
をターゲットとする正確な理由はありませんが、v2が デフォルトで.Net Coreをターゲットに変更 であったため、なぜ動作しないのかを知りたいです。
これは、Microsoft.NET.SDK.Functionsをバージョン1.0.25 +にアップグレードするだけで修正されたようです。