2010-09-08 3 views
0

Имейте проект, скомпилированный для использования (TargetFrameworkVersion) framework версии 3.0, однако, похоже, что исправлены некоторые ошибки в последней версии v4.0 и HF. Поскольку мы хотим, чтобы приложение было доступно, даже если оно немного протекает в ранних фреймворках, мы не хотим просто устанавливать цель в 4.0.Вам нужно указать, чтобы использовать последнюю версию фреймворка?

Когда вы просматриваете проект, вы можете видеть, что он имеет версию исполнения, но «конкретная версия» помечена как false.

Когда мы запускаем приложение, можем ли мы рассказать, какие части фреймов он использует. Будет ли он по умолчанию 3.0 или он будет использовать последние сборки. Если по умолчанию используется значение 3.0, есть ли способ установить некоторую политику для использования новой сборки, если она доступна.

Будет ли компиляция в/ракурсе с рамкой 4.0 получить какие-либо другие результаты поверх ее использования во время выполнения?

+0

Я полностью не понимаю, о чем вы просите. Надеюсь, что это только я :-) –

ответ

2

При запуске приложения .NET он по умолчанию будет использовать версию Framework, для которой он был скомпилирован. Вы можете указать, что он может использовать другие Frameworks, включая элементы SupportedRuntime в файле конфигурации приложения в разделе «Конфигурация/запуск». Тем не менее, я не думаю, что приложение может указать, что он работает в более поздней версии, чем для того, для чего он создан.

Если вы хотите, чтобы среда выполнения пыталась использовать v4.0, но если она не установлена, вы все равно будете работать на v3.5, вы должны скомпилировать приложение в 4.0 и включить элемент SupportedRuntime в конфигурацию приложения с полным версии (включая сборку) версии 3.5.

+0

Использование SupportedRuntime и вместе с http://stackoverflow.com/questions/2961600/app-config-supportedruntime Я думаю, что это то, чем я был. Кажется, вам не нужно компилироваться на v4. Конфликтный документ с http://msdn.microsoft.com/en-us/library/9w519wzk.aspx и http://msdn.microsoft.com/en-us/library/w4atty68.aspx –

1

Когда вы не уверены в том, какие библиотеки фактически загружены вашим приложением, вы можете подумать о том, чтобы выполнить некоторый код в отладчике, чтобы отобразить загруженные сборки as in this reference или открыть окно отладки модулей во время работы приложения (по умолчанию ярлык в VS 2010 : Ctrl-Alt-U).

1

Если вы скомпилируете фреймворк 3.0 или 3.5, а клиент имеет только фреймворк 4, он должен попытаться использовать эту версию, если у вас нет определенной версии. Тем не менее, могут быть некоторые изменения, которые вам нужно будет искать. Из того, что я могу сказать, нет хорошего способа выборочно смешивать версии фреймворка, и это не похоже на действительно хорошую идею (tm). Однако Framework 4 довольно вездесущ. Вероятно, в большинстве случаев это безопасно.

+0

Вы должны настроить та же самая версия во время сборки, которое требуется во время выполнения. Вы также можете перечислить фреймворк 4 как prereq в инсталляторе, чтобы ваше приложение загрузило установку фреймворка 4. –

Смежные вопросы