OwinStartup 構成コードは完璧に動作していたのですが、その後動作しなくなりました。残念ながら、動作しなくなった原因が正確にはわからず、原因を突き止めるのに非常に苦労しています。
基本的なことを確実にするために、私は
[assembly:OwinStartup(typeof(WebApplication.Startup))]
属性が適切に割り当てられ、owin:AutomaticAppStartup の appSetting が false に設定されていないことを確認しました。以前は何もなかったため、安全のために 1 つを true に設定しました。
<add key="owin:AutomaticAppStartup" value="true" />
また、appSetting を具体的に呼び出すことも試しました。
<add key="owin:appStartup" value="WebApplication.Startup" />
動作しなくなる前に、Microsoft.Owin.Security NuGet パッケージを 2.0.2 にアップグレードしたので、2.0.1 に戻そうとしましたが (面倒でした)、何も変わりませんでした。プロジェクトに WebActivator をインストールして、他のものをブートストラップするために使用していますが、新しい WebApplication テンプレートでテストしたところ、そこでは動作したので、それが原因ではないと思います。
また、スタートアップ クラスを削除し、Visual Studio を使用して [新しい項目の追加] で OWIN スタートアップ クラス タイプを使用して新しいクラスを追加してみましたが、これも呼び出されません。次に、OwinStartup 属性が複数定義されている場合は例外がスローされることがわかっているため、2 番目のスタートアップ クラスを追加してみましたが、そこでは例外はスローされませんでした。
他に何を試したらよいかわかりません。何かご意見はありますか?
アップデート
未使用の参照を削除するために Resharper を使用したところ、Resharper によって Microsoft.Owin.Host.SystemWeb への参照が削除されたことが判明しました。
ベストアンサー1
プロジェクトにパッケージがインストールされていることを確認してくださいMicrosoft.Owin.Host.SystemWeb
。このパッケージは、IISホストアプリケーションの起動検出に必要です。詳細については、この記事。