読者です 読者をやめる 読者になる 読者になる

ふるすたっくえんじにあっぽい人の日記

ASP .NET MVC (C#)、.NET Framework、iOS (Objective-c) アプリ、Androidアプリ (Java)、AWS、たまにLAMPとかプロジェクトマネジメントあたりのお話

【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が楽ちんやー♪