【C#】オートスタートはまった第二弾-Assembly編
つーか厳密にはハマったのオートスタートじゃないですね。
なーんでかPreload失敗するorz
こないだはこいつがおかしかった!と、applicationHost.configとにらめっこすること1時間
IIS ExpressだとPreload呼ばれないから無理やり呼び出してみるも、ローカルだと問題なし。。
ログ出してみる。4回も5回もプリロードしようとしてるorz
そこからさらに1時間。あれっ。イベントログでてるじゃんorz
なんか特定のdllでFileNotFoundException出てる。
ローカルコピーTrueにしまくったり、あれこれすること2時間
なんだGetTypes()が例外なげてんじゃーん。
読み込もうとしたアセンブリが依存するアセンブリがロードされていないとassembly.GetTypes()でReflectionTypeLoadExceptionが出ますよっとー
とゆーことで
こんな感じに実装して完了
private static IEnumerable<Type> GetLoadableTypes(Assembly assembly) { try { return assembly.GetTypes(); } catch (ReflectionTypeLoadException ex) { return ex.Types.Where(type => type != null); } }
寝不足仕事はだめですねorz
わかれば10秒なのに。。
20時間は仕事したから寝るzzz
AWS Toolkit for Visual Studio大変便利。
Publishが楽ちんやー♪