Проблема с версией .NET Framework

Я использую IIS 7.0 + Windows Server 2008 x64. Я установил .NET Framework 3.5 на свой компьютер, но из настроек .NET framework пула приложений IIS 7.0 я мог установить только версию v1.0 или v2.0. Почему я не могу установить версию v3.5 - это последняя версия .NET framework, которую я установил на моем компьютере?


person George2    schedule 13.05.2009    source источник
comment
Хороший вопрос. Меня это тоже сбивает с толку. Может ли кто-нибудь объяснить, почему MS реализовала это таким образом?   -  person Lucas B    schedule 13.05.2009


Ответы (5)


Чтобы ответить на комментарий, который George2 оставил каждому из остальных, ответьте в одном месте:

да. Среда выполнения общего языка - это то, что должно быть 2.0 (и в настоящее время не может быть выше, так как это последняя версия на данный момент).

да. Вы можете думать о .NET Framework как о SDK, если это упростит задачу. Не совсем точно, но ....

да. Вы будете развертывать функциональность Framework 3.5 в среде CLR 2.0. Непонятно, но это Microsoft для вас. Они делают (в некоторой степени) отличную работу, но кажется получают удовольствие от запутывания пользователей произвольным управлением версиями.

person RolandTumble    schedule 13.05.2009
comment
Остался один, на который вы не ответили. :-) Вопрос в том, так, когда мы настраиваем версию в пуле приложений IIS, мы настраиваем версию CLR, отличную от версии .Net Framework? - person George2; 13.05.2009
comment
да. Вы настраиваете IIS для версии CLR, а не для версии Framework. - person RolandTumble; 13.05.2009

Существует разница между версией CLR (последняя версия - 2.0) и версией .NET framework (последняя версия - 3.5).

Соответствующий пост можно найти здесь:

Что означает ASP.net версии 2.0?

person Martin Peck    schedule 13.05.2009
comment
Круто, так что окончательное подтверждение, 1. поскольку самая высокая версия CLR - 2.0, то даже если мы развернем функции, использующие .Net Framework 3.5 (например, WCF), она должна работать на CLR 2.0? 2. когда мы настраиваем версию в пуле приложений IIS, мы настраиваем версию CLR, отличную от версии .Net Framework? - person George2; 13.05.2009
comment
Я считаю, что это так, если вы используете классы фреймворка .NET 3.5, вам понадобится фреймворк .NET 3.5, установленный на сервере. Судя по всему, вы вряд ли могли бы понизить версию своего проекта до 2.0. - person PeteT; 13.05.2009
comment
Вам понадобятся бункеры .NET 3.5, установленные где-то (в папке bin, в GAC и т. Д.), Но эти библиотеки работают в среде CLR 2.0. - person Martin Peck; 13.05.2009
comment
@ petebob796, у меня вопрос, могу ли я понять, что в CLR есть среда выполнения и .Net Framework в качестве SDK для разработки? - person George2; 13.05.2009
comment
@Martin, значит, когда мы настраиваем версию в пуле приложений IIS, мы настраиваем версию CLR, отличную от версии .Net Framework? - person George2; 13.05.2009

Версии 3.0 и 3.5 - это просто дополнительные библиотеки DLL поверх 2.0. По этой причине в IIS вы увидите только версию 2.0.

person AaronS    schedule 13.05.2009
comment
1. поскольку самая высокая версия CLR - 2.0, то даже если мы развернем функции, использующие .Net Framework 3.5 (например, WCF), она должна работать на CLR 2.0? 2. когда мы настраиваем версию в пуле приложений IIS, мы настраиваем версию CLR, отличную от версии .Net Framework? - person George2; 13.05.2009
comment
Правильный. Для любой версии платформы 2.0 или выше вы выберете 2.0 в IIS. Если у вас не установлена ​​версия 3.5 на сервере, и вы пытаетесь использовать функции версии 3.5, во время выполнения вы получите сообщение об ошибке, в котором говорится, что не удается найти нужные библиотеки. - person AaronS; 13.05.2009

.NET Framework 3.x = .NET Framework 2.0 + новые функции (WPF, WF, WCF и т. Д.)

Так что не о чем беспокоиться. Селекторы версий в IIS не будут отображать версии 3.x.

person NinethSense    schedule 13.05.2009
comment
Могу ли я понять, что в CLR есть среда выполнения и .Net Framework в качестве SDK для разработки? - person George2; 13.05.2009
comment
.NET SDK - еще один пакет, который можно загрузить отдельно. (То же самое и с Visual Studio). - person NinethSense; 13.05.2009
comment
В чем, на ваш взгляд, различия между CLR и .Net Framework? Я понимаю, что CLR - это среда выполнения, а .Net Framework - это библиотека, используемая во время разработки / выполнения. Мое понимание правильное? - person George2; 13.05.2009
comment
CLR является частью .NET Framework. NET Framework - это, по сути, библиотека. (точно так же, как JVM для Java, если вы знаете). Прочтите: en.wikipedia.org/wiki/.NET_Framework - person NinethSense; 13.05.2009
comment
Итак, когда мы настраиваем версию в пуле приложений IIS, мы настраиваем версию CLR, отличную от версии .Net Framework? - person George2; 13.05.2009
comment
Мне нравится рекомендуемый вами вики-документ. - person George2; 13.05.2009
comment
Да, версия CLR. Версия CLR - по-прежнему 2.0. Проверьте эту ссылку. Есть табличные данные, которые могут быть для вас более понятны - веб-журналы .asp.net / rosherove / archive / 15.06.2006 / - person NinethSense; 13.05.2009

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

person JaredPar    schedule 13.05.2009
comment
1. Могу ли я понять, что в CLR есть среда выполнения и .Net Framework в качестве SDK для разработки? 2. поскольку самая высокая версия CLR - 2.0, то даже если мы развернем функции, использующие .Net Framework 3.5 (например, WCF), она должна работать на CLR 2.0? - person George2; 13.05.2009