Проблем с версията на .NET Framework

Използвам IIS 7.0 + Windows Server 2008 x64. Инсталирах .NET Framework 3.5 на моята машина, но от настройките на IIS 7.0 набор от приложения .NET framework, можех да задам версия само на 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 е оставил към всеки от останалите отговори на едно място:

да Common Language Runtime е това, което трябва да бъде 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 framework, имате нужда от .NET 3.5 framework, инсталиран на сървъра. От това звучи малко вероятно да сте, вероятно бихте могли да понижите проекта си до 2.0. - person PeteT; 13.05.2009
comment
Ще ви трябват .NET 3.5 bins, инсталирани някъде (в папката bin, в GAC или друго), но тези библиотеки работят в 2.0 CLR. - 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. Поради това ще видите само 2.0 като опция в IIS.

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
Харесвам wiki документа, който препоръчахте. - person George2; 13.05.2009
comment
Да, CLR версия. CLR версията е все още 2.0. Проверете тази връзка. Има таблични данни, които може да са по-ясни за вас - weblogs .asp.net/rosherove/archive/2006/06/15/ - 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