Можно ли собранную на 1.1 систему запустить под 2.0 фрэймворк или обязательно нужно всё пересобрать на 2.0?
Если можно, то как?
Возможно я не совсем корректно выразился, поэтому просто опишу ситуацию.
Есть большая система расширяющая очень большую систему другого производителя (заточка среднего размера ERP под конкретную отрасль промышленности). И та и другая на 1.1. Исходники есть только наши, то есть от первой системы. Вся система страдает от плохого перформенса связаного с работой с большими датасетами. Эта проблема вроде бы решена в ADO.NET 2.0 за счёт улучшения индексации. По идее — это фича не требует изменений в коде.
Задание — малой кровью, в сжатые сроки, проверить есть ли улучшение и стоит ли нам переходить на .NET2. То есть требуется запустить систему так, что бы использовался "новый" ADO.
В>Можно ли собранную на 1.1 систему запустить под 2.0 фрэймворк или обязательно нужно всё пересобрать на 2.0?
Запустить — можно, но по-умолчанию использовать она будет сборки версии 1.1.
По общиму правилу,
при компиляции сборки (например, вашего проекта) в References его манифеста попадает полное описание сборок, которые он использует, включая их версии. Также, насколько я помню,
по-умолчанию даже если в системе установлена более новая версия вспомогательной сборки, то ваше приложение, как использовало, так и будет ипользовать старую версию сборки,
если его насильно не заставить.
Лично я бы во избежание гемороя с конфигами (и имея доступ к исходникам) собрал бы проект под .NET v2.0 и все.
Здравствуйте, Zugma, Вы писали:
Z>Запустить — можно, но по-умолчанию использовать она будет сборки версии 1.1.
Z>По общиму правилу, при компиляции сборки (например, вашего проекта) в References его манифеста попадает полное описание сборок, которые он использует, включая их версии. Также, насколько я помню, по-умолчанию даже если в системе установлена более новая версия вспомогательной сборки, то ваше приложение, как использовало, так и будет ипользовать старую версию сборки, если его насильно не заставить.
Если в системе установлен
только 2 фреймворк — то он и будет использоваться даже сборками версии 1.1
Здравствуйте, Curufinwe, Вы писали:
C>Здравствуйте, Zugma, Вы писали:
Z>>Запустить — можно, но по-умолчанию использовать она будет сборки версии 1.1.
Z>>По общиму правилу, при компиляции сборки (например, вашего проекта) в References его манифеста попадает полное описание сборок, которые он использует, включая их версии. Также, насколько я помню, по-умолчанию даже если в системе установлена более новая версия вспомогательной сборки, то ваше приложение, как использовало, так и будет ипользовать старую версию сборки, если его насильно не заставить.
C>Если в системе установлен только 2 фреймворк — то он и будет использоваться даже сборками версии 1.1
Это верно только для Net Framework assemblies.
Для всех остальных при отсутствии конфигурационных настроек в приложении будет зависеть подписанная сборка или нет.
Если не подписанная, то будет браться самая последняя версия, иначе та, что прописана в AssemblyRef c учетом имени, версии,
культуры и публичного ключа.
Воспользуйтесь Net Framework утилитой FUSLOGVW.exe для тестов