Последствия включения использования LegacyV2RuntimeActivationPolicy?

Для моего текущего проекта мы используем несколько сборок в смешанном режиме на основе CLR 2.

Чтобы использовать их из целевой сборки.NET 4, я знаю, что вы должны добавить useLegacyV2RuntimeActivationPolicy=true к <startup> элемент в app.config.

Я понимаю, что это меняет политику активации, вызывая загрузку этих сборок смешанного режима с использованием самой высокой поддерживаемой версии CLR.

Однако есть ли побочные эффекты для этого? На какие потенциальные проблемы следует обратить внимание при включении политики активации не по умолчанию?

2 ответа

Решение

Ну, конечно, вы будете запускать приложение с версией CLR, с которой оно никогда не тестировалось. Microsoft отлично справляется с обеспечением обратной совместимости. Но случай, когда менеджеры Microsoft потеряли доступ к электронной почте на несколько дней после обновления.NET, известен. Время в потоке потоков немного отличалось, и в программе, написанной стажером, была обнаружена гонка потоков. Не могу Google ссылку сейчас.

Ганс Пассант частично прав. Я пытаюсь объяснить этот загадочный атрибут в этой записи блога: http://www.marklio.com/marklio/PermaLink,guid,ecc34c3c-be44-4422-86b7-900900e451f9.aspx

Последствия, по сути, заключаются в том, что вы блокируете in-proc SxS с периодами выполнения до v4. Обычно это приемлемо в сценарии миграции.

Другие вопросы по тегам