Для моего текущего проекта мы используем базирующиеся сборки смешанного режима некоторого CLR 2.
Для использования их из.NET 4 предназначенных блока я знаю, что необходимо добавить useLegacyV2RuntimeActivationPolicy=true
к
элемент в app.config.
Я понимаю, что это изменяет политику активации, заставляя эти сборки смешанного режима быть загруженным с помощью самой высокой поддерживаемой версии CLR.
Однако там какие-либо побочные эффекты к выполнению этого? За какими потенциальными проблемами я должен наблюдать при включении политики активации не по умолчанию?
Ну, конечно, вы будете запускать приложение с версией CLR, с которой оно никогда не тестировалось. Microsoft отлично справляется с поддержанием обратной совместимости. Но известен случай, когда менеджеры Microsoft теряли доступ к электронной почте на несколько дней после обновления .NET. Время пула потоков было немного другим, что вызывало гонку потоков в программе, написанной стажером. Не могу погуглить ссылку прямо сейчас.
Hans Passant частично прав. Я пытаюсь объяснить этот загадочный атрибут в этой записи блога: http://www.marklio.com/marklio/PermaLink,guid,ecc34c3c-be44-4422-86b7-900900e451f9.aspx
Последствия, по сути, заключаются в том, что вы блокируете SxS в процессе с временем выполнения до версии 4. Это обычно приемлемо в сценарии миграции.