I am using IIS 7.0 + Windows Server 2008 x64. I have installed .NET Framework 3.5 on my machine, but from the IIS 7.0 application pool .NET framework settings, I could only set version to v1.0 or v2.0. Why can't I set to version v3.5 -- which is the latest version of .NET framework I installed on my machine?
相关问题
- Generic Generics in Managed C++
- How to Debug/Register a Permanent WMI Event Which
- 'System.Threading.ThreadAbortException' in
- Bulk update SQL Server C#
- Should I use static function in c# where many call
There's a difference between the version of the CLR (the latest of which is 2.0) and that of the .NET framework (the latest of which is 3.5).
A related post can be found here:
What is meant by ASP.net Version 2.0?
Versions 3.0 and 3.5 are just extra dlls ontop of the 2.0 framework. Because of this, you will only see 2.0 as an option in IIS.
To answer the comment that George2 has left to each of the other answers in one place:
Yes. The Common Language Runtime is what needs to be 2.0 (and cannot, currently, be higher, since that's the latest at this time).
Yes. You can think of the .NET Framework as the SDK if that makes it easier. It's not quite accurate, but....
Yes. You will be deploying your Framework 3.5 functionality on the CLR 2.0. Confusing, but that's Microsoft for you. They do (some) great work, but seem to delight in confusing users with arbitrary versioning.
.NET Framework 3.x = .NET Framework 2.0 + new features (WPF, WF, WCF, etc.)
So no need to worry. Version selectors in IIS will not show 3.x versions.
All IIS cares about is the version of the CLR, not the version of the libraries that you may or may not be loading onto your machine. So it will only show the difference versions of the CLR and not the different versions of the various libraries.