【问题标题】:.NET Framework version issue.NET Framework 版本问题
【发布时间】:2010-10-25 21:42:16
【问题描述】:

我正在使用 IIS 7.0 + Windows Server 2008 x64。我已经在我的机器上安装了 .NET Framework 3.5,但是从 IIS 7.0 应用程序池 .NET 框架设置中,我只能将版本设置为 v1.0 或 v2.0。为什么我不能设置为 v3.5 版本——这是我在我的机器上安装的最新版本的 .NET 框架?

【问题讨论】:

  • 好问题。我也觉得这很混乱。谁能详细说明为什么 MS 以这种方式实施它?

标签: .net iis version


【解决方案1】:

要在一个地方回答 George2 留给其他每个答案的评论:

是的。公共语言 Runtime 是 2.0 所必需的(目前不能更高,因为目前是最新版本)。

是的。您可以将 .NET Framework 视为 SDK,如果这样更容易的话。这不是很准确,但是....

是的。您将在 CLR 2.0 上部署您的 Framework 3.5 功能。令人困惑,但那是微软给你的。他们做了(一些)很棒的工作,但似乎喜欢用任意版本控制混淆用户。

【讨论】:

  • 还有一个你没有回答。 :-) 问题是——所以当我们在 IIS 应用程序池中配置版本时,我们配置的 CLR 版本不是 .Net Framework 版本?
  • 是的。您为 CLR 版本而不是框架版本配置 IIS。
【解决方案2】:

所有 IIS 关心的是 CLR 的版本,而不是您可能会或可能不会加载到您的机器上的库的版本。所以它只会显示 CLR 的不同版本,而不是各种库的不同版本。

【讨论】:

  • 1.我能理解 CLR 有运行时和 .Net Framework 作为开发 SDK 吗? 2. 由于CLR的最高版本是2.0,那么即使我们部署使用.Net Framework 3.5(例如WCF)的功能,它也应该在CLR 2.0上运行?
【解决方案3】:

.NET Framework 3.x = .NET Framework 2.0 + 新功能(WPF、WF、WCF 等)

所以不用担心。 IIS 中的版本选择器不会显示 3.x 版本。

【讨论】:

  • 我能理解CLR有运行时和.Net Framework作为开发SDK吗?
  • .NET SDK 是另一个可以单独下载的包。 (Visual Studio 也一样)。
  • 您认为 CLR 和 .Net Framework 之间的区别是什么?我的理解是 CLR 是运行时,.Net Framework 是在开发/运行时使用的库。我的理解正确吗?
  • CLR 是 .NET Framework 的一部分。.NET Framework 基本上是一个库。 (就像 Java 的 JVM,如果你知道的话)。请阅读:en.wikipedia.org/wiki/.NET_Framework
  • 那么当我们在IIS应用程序池中配置版本时,我们配置的CLR版本不是.Net Framework版本?
【解决方案4】:

版本 3.0 和 3.5 只是 2.0 框架之上的额外 dll。因此,您只会在 IIS 中看到 2.0 作为一个选项。

【讨论】:

  • 1.由于 CLR 的最高版本是 2.0,那么即使我们部署使用 .Net Framework 3.5(例如 WCF)的功能,它也应该在 CLR 2.0 上运行? 2.我们在IIS应用程序池中配置版本时,配置的CLR版本不是.Net Framework版本?
  • 正确。对于任何版本的框架 2.0 或更高版本,您将在 IIS 中选择 2.0。如果您没有在服务器上安装 3.5,并且您尝试使用 3.5 功能,您将在运行时收到错误提示它找不到正确的库。
【解决方案5】:

CLR 的版本(最新的是 2.0)和 .NET 框架的版本(最新的是 3.5)是有区别的。

相关帖子可以在这里找到:

What is meant by ASP.net Version 2.0?

【讨论】:

  • 酷,所以最后确认一下,1. 由于 CLR 的最高版本是 2.0,那么即使我们部署使用 .Net Framework 3.5 的功能(例如 WCF),它应该在 CLR 2.0 上运行吗? 2.我们在IIS应用程序池中配置版本时,配置的CLR版本不是.Net Framework版本?
  • 我相信,如果您使用 .NET 3.5 框架类,您需要在服务器上安装 .NET 3.5 框架。从它的声音来看,您不太可能将您的项目降级到 2.0。
  • 您需要在某个地方(在 bin 文件夹、GAC 或其他任何地方)安装 .NET 3.5 bin,但这些库在 2.0 CLR 中运行。
  • @petebob796,我的问题是,我能理解 CLR 有运行时和 .Net Framework 作为开发 SDK 吗?
  • @Martin,所以当我们在 IIS 应用程序池中配置版本时,我们配置的 CLR 版本不是 .Net Framework 版本?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-03
  • 1970-01-01
  • 1970-01-01
  • 2010-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多