あなたの質問を読んで、Visual Studio Development Server ではなく IIS をデバッグに使用していると思います。
この場合、アプリケーション プールの開始時またはリサイクル時に 1 回しか呼び出されないため、アプリケーションの開始のデバッグは注意が必要です。Visual Studio がプロセスにアタッチされると、Application_Start は既に実行されています。
トリックは、接続しているプロセスを強制終了せずにアプリケーション プールをリサイクルすることです。
以下をせよ:
- Visual Studio (管理者として実行する必要があります) で、global.asax.cs にブレークポイントを設定し、通常どおりデバッグを開始します (F5)。Web ブラウザーでページが開きますが、ブレークポイントにはヒットしません。
- ここでの秘訣: テキスト エディターを使用して、IIS によって提供されている場所から web.config を開き、変更 (たとえば、どこかに空白行を入力) して保存します。IIS でアプリケーション プールをリサイクルするのとは対照的に、これによりアプリケーション プールをリサイクルできます (したがって、次に Web サイトが呼び出されたときに、global.asax.cs の Application_Start を介して実行されます)。関連付けられているプロセスを強制終了する必要はありません。
- Web ブラウザーで、ページをリロードします。ブレークポイントがヒットするはずです。
それは私にとってはうまくいきます(IIS 7.5、VS2015)。