コンピューターにVS2010とVS2012をインストールし、.NET Framework 4.0をインストールしてから、.NETFramework4.5にアップグレードしました。ただし、.NETFramework4.0で動作する必要のあるアプリをまだ開発中です。プロジェクトは、.NET Framework 4(クライアントプロファイル)を対象としていると述べており、アセンブリは参照アセンブリの下の.NETFramework4.0フォルダーを指しています。このアプリケーションを4.0しかないマシンに移動すると、問題が発生します。起動せず、エラーが発生します。この問題WindowState={Binding WindowState}
は、4.0では実行できませんが、4.5では実行できる例外です。開発ボックスで例外をスローするためにこれが必要ですが、なぜそうではありませんか?私の最善の努力にもかかわらず、4.5dllが存在する場合はそれを使用することを前提としています。4.5をアンインストールせずに4.0を実際に使用するにはどうすればよいですか?
アップデート
これを再現するには、.NET Framework 4.5をインストールし、.NETFramework4.0を対象とするWPFプロジェクトを作成します。WindowStateをVMまたはコードビハインドのプロパティにバインドして、このプロパティにパブリックgetとプライベートセットを設定します。.NET Framework 4.5は、Mode =TwoWayが設定を無視する必要がある場合でもこれを適切に処理します。.NETFramework4は、例外をスローします。「TwoWayまたはOneWayToSourceバインディングは、タイプの読み取り専用プロパティ「State」では機能しません。 。」。.NET Framework 4.5のボックスは魅力のように機能し、.NET Framework 4.0のみを搭載したマシンで試してみると、爆発します...では、4.5がインストールされているときに4.0を実際にターゲットにする方法について何かアイデアはありますか?
ここでMSへのバグレポート:https ://connect.microsoft.com/VisualStudio/feedback/details/774694/targeting-net-framework-4-0-when-4-5-doesnt-seem-to-work