Какая «дополнительная конфигурация» необходима для ссылки на сборку смешанного режима .NET 2.0 в проекте .NET 4.0?

/**
 * MULIT-BYTE UNSERIALIZE
 *
 * UTF-8 will screw up a serialized string
 *
 * @param string
 * @return string
 */
function mb_unserialize($string) {
    $string = preg_replace_callback('/!s:(\d+):"(.*?)";!se/', function($matches) { return 's:'.strlen($matches[1]).':"'.$matches[1].'";'; }, $string);
    return unserialize($string);
}
515
задан Community 23 May 2017 в 12:10
поделиться

2 ответа

Чтобы использовать сборку смешанного режима CLR 2.0 , вам необходимо изменить файл App.Config, включив в него:

<?xml version="1.0"?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
</configuration>

Ключ - это флаг useLegacyV2RuntimeActivationPolicy . Это заставляет среду CLR использовать последнюю версию (4.0) для загрузки сборки в смешанном режиме. Без этого не получится.

Обратите внимание, что это имеет значение только для сборок в смешанном режиме (C ++ / CLI). Вы можете загрузить все управляемые сборки CLR 2, не указывая это в app.config .

682
ответ дан 22 November 2019 в 22:31
поделиться

Это сообщение на форуме в Центре разработчиков .NET Framework. Оно может дать некоторое представление.

(Добавить в файл конфигурации приложения.)

<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
  </startup>
</configuration>
34
ответ дан 22 November 2019 в 22:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: