Будет ли приложение .NET 3.5 или более ранней версии подвергаться какому-либо риску при установке .NET 4 на тот же компьютер?

Я понимаю, что .NET поддерживает параллельное выполнение, однако я видел случаи, когда на одной машине было 2.0, на другой - 2.0 sp1, а на другой - .NET 3.5. В этих версиях были добавлены методы в некоторые используемые мной библиотеки DLL, произведенные Microsoft. Думаю, это был System.Net.Mail.

Это было плохо, поскольку я использовал метод, доступный в версии 2.0 SP1, а не в простой версии 2.0. В моем приложении возникла исключительная ситуация, и мой менеджер спросил меня, почему я не протестировал этот вариант использования. Кто-нибудь знает, где найти список методов, подходящих для этого сценария?

Итог: этот опыт заставляет меня не на 100% доверять утверждениям о параллельном использовании .NET.

Может ли кто-нибудь сказать мне, повлияет ли установка .NET 4.0 каким-либо образом на файл конфигурации, двоичные файлы или иным образом на выполнение чего-либо из более низкой версии платформы?


person halfbit    schedule 10.02.2011    source источник


Ответы (2)


Короче говоря, установка .Net 4.0 никоим образом не повлияет на более ранние версии, поскольку для каждой версии платформы конфигурация находится в отдельных папках, а двоичные файлы находятся в GAC, который уже поддерживает параллельное выполнение.

Проблема, с которой вы столкнулись, может быть связана с тем, что конфигурация вашего приложения указывает на более раннюю версию при использовании версии SP1 или (в случае веб-приложения) на вашем сервере может не быть обновленного с помощью SP1.

Для получения исчерпывающего списка изменений в каждой версии вам придется много гуглить, но в большинстве случаев, когда у вас установлены разные версии на вашем компьютере разработчика, VS информирует вас об устаревших методах, для новых он будет отображать intellisense, только если правильный .Net версия есть.

person Furqan Hameedi    schedule 10.02.2011
comment
Спасибо за ответ, я оставлю это открытым некоторое время на случай, если у кого-то будет причина сказать, что 4.0 изменит приложение 3.5 или ниже. - person halfbit; 10.02.2011
comment
4.0 не изменит ваше приложение, но отдельное приложение 4.0, которое ссылается на ваши сборки, заставит ваш код выполняться с 4.0 clr. - person sisve; 10.02.2011

Существуют правила FxCop для поиска вызовов API-интерфейсов, отличных от rtm.

person sisve    schedule 10.02.2011