CLR Versioning + Framework Targeting, каково ожидаемое поведение? - PullRequest
0 голосов
/ 20 января 2012

Существует много ошибок в информации о том, в какую версию CLR будет загружена сборка, поэтому в надежде объединить некоторые ответы, чтобы устранить неоднозначность в следующих вопросах относительно версии CLR

  • Когда я нацеливаюсь на версию 4 .Net Framework и встраиваю VS2010 я буду использовать clr версии 4? Какая версия CLR будет сборки, на которые я ссылаюсь, используют, если я не добавлю any config в мой файл app.config?

  • Могу ли я заставить мое приложение использовать другую версию CLR? Если да как?

  • Когда я нацеливаюсь на версию 2 или 3.5 .Net Framework и сборка в VS2010, какую версию clr будут использовать скомпилированные сборки?

  • Какую версию CLR будут использовать сборки, на которые я ссылаюсь, если я не добавлять любой конфиг в мой файл app.config?

  • Могу ли я заставить мое приложение использовать другую версию CLR, (например, версия 4)? Если да, то как?

  • Безопасно ли ссылаться на сборки v2 в новом проекте, который нацелен v4? Почему?

1 Ответ

2 голосов
/ 20 января 2012

Когда я нацеливаюсь на версию 4 .Net Framework и собираю в VS2010, буду ли я использовать версию 4 clr?

Да.

МожноЛи заставить мое приложение использовать другую версию CLR?Если да, то как?

Нет, нет другой доступной версии, которая может запустить программу, нацеленную на 4.0.Следующая версия фреймворка (4.5) не будет параллельной версией, поэтому она использует тот же CLR, и смотреть на это невозможно.

Когда я нацеливаюсь на версию 2 или 3.5.Net Framework и сборка в VS2010, какую версию clr будут использовать скомпилированные сборки?

Версия 2.0.50727, она должна присутствовать на компьютере

Какая версия CLR будет использоваться для сборок, на которые я ссылаюсь, если я не добавлю никакой конфигурации вмой файл app.config?

Версия 2.0.50727, когда вы нацелены на любую версию фреймворка между 2.0 и 3.5, версию 4.0.30319, когда вы нацеливаетесь на 4.0

Могу ли я заставить мое приложение использовать другойверсия CLR, (например, версия 4)?Если да, то как?

Используйте элемент <supportedRuntime version="v4.0"/> в файле .exe.config.

Безопасно ли ссылаться на сборки v2 в новом проекте, ориентированном на v4?Почему

Да.Не проверять этот сценарий небезопасно, возможно, существует исправление ошибки платформы, на которую вы случайно положились.

...