6

Было время, когда я думал, что текущая не-бета-версия ASP.NET заявила номер версии текущего .NET CLR (2.0), хотя .NET Framework была версией 3.5. Всякий раз, когда я видел «ASP.NET 3.5», я чувствовал, что кто-то написал это неправильно.ASP.NET 2.0 или 3.5?

Я начал чувствовать, что Я. Имеет ли официальный номер версии ASP.NET с 2.0 до 3.5 (в то время, когда версия .NET Framework была равна 3.5), или она всегда была официально «ASP.NET 3.5» (и я был идиотом)?

ответ

10

С точки зрения CLR, всего 2,0; в терминах библиотек существуют определенные изменения в ASP.NET в .NET Framework версии 2.0, 3.0, 3.5 и 3.5 SP1 (см. MSDN, for example).

Поскольку есть изменения в функции, я бы назвал это «ASP.NET 3.5».

Однако, чтобы усугубить ситуацию, drop-down box in IIS, где вы можете выбрать «1.1 ...» или «2.0 ....», называется «версия ASP.NET». Конечно, IIS ссылается на версию CLR здесь.

Я не смог найти «официальное» заявление по этому вопросу (я не выглядел усердно). Microsoft, похоже, избегает этой проблемы. В приведенной выше ссылке MSDN они пишут о «улучшениях ASP.NET в .NET Framework 3.5 SP1».

Таким образом, строго говоря, я думаю, ASP.NET не имеют номер версии, так же, как WinForms не имеют номер версии или System.String не имеют номер версии. «ASP.NET 3.5» - это просто неофициальная аббревиатура для ASP.NET-части библиотек .net Framework 3.5.

+1

И как добавленная странная заметка, следующая версия .Net будет .Net 4, а не 4.0. Также следует отметить, что версия 4 представляет собой обновление до CLR, поэтому вы увидите новое значение в выпадающем списке 4. –

+0

Дополнительные сведения: 'RuntimeEnvironment.GetRuntimeDirectory' возвращает' C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727' даже на ASP.NET 3.5, а 'C: \ WINDOWS \ Microsoft.NET \ Framework \ v3.5' не содержит инструментов командной строки ASP.NET. –

+0

@Christian: Хорошее наблюдение! Это не относится к ASP.NET, кстати: консольное приложение .net 3.5 будет * также * возвращать каталог v2.0.50727. 'GetRuntimeDirectory' возвращает каталог CLR, а версия CLR, используемая для выполнения приложений, разработанных для платформы 2.0-3.5, - 2.0. – Heinzi

2

Да, ASP.NET 2.0 и ASP.NET 3.5 отличаются. 3.5 - самый последний не-бета-релиз. Оба 2.0 и 3.5 используют среду выполнения 2.0.

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