【IIS】IISのオートスタートでハマったお話

2時間はハマった

IIS8から標準機能になったApplication Initialization
アプリケーションがアクセス受け付ける前に初期処理をしたいときに使います。
というわけで基本的なことはググればわかるので省略。



今回の場合、こんなプロジェクト構成でした

Hoge.A (ASP.NET MVC4 Webアプリケーション)
↓参照
Hoge.B (クラスライブラリ)
↓参照
Hoge.C (クラスライブラリ)

で、Hoge.C.ProcessHostPreloadClientを作って試したのですが・・プリロードはしらない!
ってゆか、そもそも構成エラーでアプリケーションプールが起動しない!
Hoge.C.dllの中のProcessHostPreloadClientが見つからない的な?
でも、Hoge.C.dllちゃんとあるし!
オブジェクトブラウザを何度見返してもちゃんとある。

Hoge.A.ProcessHostPreloadClient作って試したら動いたので、
もしやと思いHoge.Aのプロジェクト参照にHoge.Cを追加したら動きました。



え、まじ。
確かにHoge.Aからは見えないけど。。
dllいるんだから勝手に見てくれや!

IIS不勉強なので、他にちゃんとしたやり方あるのかもと思いつつ一旦保留。。
つかれた。。