Последствия включения использования LegacyV2RuntimeActivationPolicy? - PullRequest
19 голосов
/ 13 февраля 2010

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

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

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

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

Ответы [ 2 ]

12 голосов
/ 18 марта 2010

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

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

4 голосов
/ 13 февраля 2010

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

...