C#で記述された.NETFramework3.5を使用した.NETアプリケーションがあります。アプリケーションは、BeginInvokeを使用して非同期的にデリゲートを呼び出しています。アプリケーションは、Visual Studio 2012 RCを使用してコンパイルすると正常に動作しますが、Visual Studio 2010 SP1を使用してコンパイルするとフリーズします(メインスレッドは、非同期デリゲートが完了するのを待ってWaitOneでスタックしますが、実行されません)。
バグが誤って設計された同期にある可能性はありますが、私が驚いたのは、両方で同じフレームワークバージョンをターゲットにしているのに、VS 2012で機能し、VS2010では機能しない理由です。
Visual Studio for .NETでマルチターゲティングはどのように実装されますか?同じフレームワークバージョンを対象とする場合、実行可能ファイルの動作が同じであると期待する必要がありますか、それとも、使用するVisual Studioのバージョンに依存する部分(コンパイラフロントエンドまたはランタイムライブラリの一部)がありますか?