.NET 4.5 является обновлением на месте.
Это означает, что двоичные файлы для .net 4.0 будут заменены двоичными файлами для .net 4.5 .
Microsoft предприняла попытку смягчить проблемы, вызванные этим, с помощью функции «Target .net 4.0».Но это сильно отличается от нацеливания на предыдущие версии .net (которые были рядом с .net 2.0).
Поскольку это обновление на месте, «Target .net 4.0» не может нацеливатьсяЭто.Лучшее, что они могут сделать, это попытаться вручную удалить некоторые «функции».Они сделали это (у Скотта Хансельмана было сообщение в блоге , освещающее это).
Но не позволяйте этому обмануть вас, заставляя вас думать, что вы действительно используете .net 4.0. Любые ошибки, исправленные в .net 4.5, будут исправлены на вашей машине разработки, а не для пользователей .net 4.0.
Так что, если вы разрабатываете приложение, ориентированное на .net 4.0, и выЕсли у вас установлен .net 4.5, вы рискуете.Если вы случайно используете исправленную ошибку, она не сломается для вас во время отладки.
Когда вы развертываете свое приложение на компьютере, работающем только с .net 4.0 (т.е. windows xp), тогда эти ошибки не исправлены для вашего пользователя .
Для всех намерений и целей эти исправленные ошибки теперь являются «скрытыми ошибками» (для разработчиков, которым все еще нужно ориентироваться на .net 4.0.
Самое приятное то, что вам не важно,используйте VS 2010 или VS 2012. После установки .net 4.5 ошибки скрыты.
Для получения более подробной информации см. этот пост: http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/c05a8c02-de67-47a9-b4ed-fd8b622a7e4a/